@redneckz/wildless-cms-uni-blocks 0.14.770 → 0.14.772

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 (53) hide show
  1. package/bundle/bundle.umd.js +19 -26
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/Header/useChatBot.d.ts +1 -1
  4. package/bundle/utils/url.d.ts +2 -2
  5. package/dist/components/Header/useChatBot.d.ts +1 -1
  6. package/dist/components/Header/useChatBot.js +7 -3
  7. package/dist/components/Header/useChatBot.js.map +1 -1
  8. package/dist/utils/url.d.ts +2 -2
  9. package/dist/utils/url.js +10 -2
  10. package/dist/utils/url.js.map +1 -1
  11. package/lib/components/Header/useChatBot.d.ts +1 -1
  12. package/lib/components/Header/useChatBot.js +7 -3
  13. package/lib/components/Header/useChatBot.js.map +1 -1
  14. package/lib/utils/url.d.ts +2 -2
  15. package/lib/utils/url.js +9 -1
  16. package/lib/utils/url.js.map +1 -1
  17. package/mobile/bundle/bundle.umd.js +12 -23
  18. package/mobile/bundle/bundle.umd.min.js +1 -1
  19. package/mobile/bundle/components/Header/useChatBot.d.ts +1 -1
  20. package/mobile/bundle/utils/url.d.ts +2 -2
  21. package/mobile/dist/components/Header/useChatBot.d.ts +1 -1
  22. package/mobile/dist/components/Header/useChatBot.js +7 -3
  23. package/mobile/dist/components/Header/useChatBot.js.map +1 -1
  24. package/mobile/dist/utils/url.d.ts +2 -2
  25. package/mobile/dist/utils/url.js +10 -2
  26. package/mobile/dist/utils/url.js.map +1 -1
  27. package/mobile/lib/components/Header/useChatBot.d.ts +1 -1
  28. package/mobile/lib/components/Header/useChatBot.js +7 -3
  29. package/mobile/lib/components/Header/useChatBot.js.map +1 -1
  30. package/mobile/lib/utils/url.d.ts +2 -2
  31. package/mobile/lib/utils/url.js +9 -1
  32. package/mobile/lib/utils/url.js.map +1 -1
  33. package/mobile/src/components/Header/useChatBot.ts +17 -3
  34. package/mobile/src/utils/url.ts +11 -2
  35. package/package.json +1 -1
  36. package/src/components/Header/useChatBot.ts +17 -3
  37. package/src/utils/url.ts +11 -2
  38. package/bundle/utils/joinPath.d.ts +0 -2
  39. package/dist/utils/joinPath.d.ts +0 -2
  40. package/dist/utils/joinPath.js +0 -24
  41. package/dist/utils/joinPath.js.map +0 -1
  42. package/lib/utils/joinPath.d.ts +0 -2
  43. package/lib/utils/joinPath.js +0 -20
  44. package/lib/utils/joinPath.js.map +0 -1
  45. package/mobile/bundle/utils/joinPath.d.ts +0 -2
  46. package/mobile/dist/utils/joinPath.d.ts +0 -2
  47. package/mobile/dist/utils/joinPath.js +0 -24
  48. package/mobile/dist/utils/joinPath.js.map +0 -1
  49. package/mobile/lib/utils/joinPath.d.ts +0 -2
  50. package/mobile/lib/utils/joinPath.js +0 -20
  51. package/mobile/lib/utils/joinPath.js.map +0 -1
  52. package/mobile/src/utils/joinPath.ts +0 -24
  53. package/src/utils/joinPath.ts +0 -24
@@ -1,2 +1,2 @@
1
1
  import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
2
- export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => void;
2
+ export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { type Target } from '../model/LinkProps';
2
- export declare const isURL: (href: string | undefined | null) => href is `${string}:${string}`;
2
+ export declare const isURL: (href: string | undefined) => href is `${string}:${string}`;
3
3
  export declare const isLocalURL: (href: string | undefined, target?: Target) => boolean;
4
4
  export declare const isHash: (href: string | undefined) => href is `#${string}`;
5
5
  export declare const withoutQuery: (href: string | undefined) => string;
6
- export { joinPath } from './joinPath';
6
+ export declare const joinPath: (...path: (string | undefined | null)[]) => string;
7
7
  export declare const hasPrefix: (href?: string) => (prefix?: string) => boolean;
@@ -1,2 +1,2 @@
1
1
  import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
2
- export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => void;
2
+ export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => Promise<void>;
@@ -8,17 +8,21 @@ const CHAT_FRAME_ID = 'webchat-js-container:webchat_rshb';
8
8
  const CHAT_STORAGE_NAME = 'webchat-keep-open';
9
9
  const CHATBOT_URL = {
10
10
  personal: '//chat.mes.rshb.ru/assets/js/webchat_rshb',
11
- business: '', //TODO: add url business chat
11
+ business: '/webchat',
12
12
  };
13
13
  const useChatBot = (chat) => {
14
14
  (0, hooks_1.useEffect)(() => globalThis.localStorage?.setItem(CHAT_STORAGE_NAME, String(Date.now())), []);
15
15
  const chatUrl = CHATBOT_URL[chat ?? ''];
16
- return (ev) => {
16
+ return async (ev) => {
17
17
  if (!chatUrl) {
18
18
  return;
19
19
  }
20
20
  if (chat !== 'personal') {
21
- (0, useExternalNS_1.initializeExternalNS)(CHAT_NAMESPACE, chatUrl);
21
+ (0, useExternalNS_1.initializeExternalNS)(`${CHAT_NAMESPACE}_business_css`, `${chatUrl}/bundle.css`);
22
+ const businessChat = (await (0, useExternalNS_1.initializeExternalNS)(CHAT_NAMESPACE, `${chatUrl}/bundle.js`));
23
+ if (businessChat?.render) {
24
+ businessChat.render(CHAT_FRAME_ID, true);
25
+ }
22
26
  }
23
27
  else {
24
28
  const target = ev.target;
@@ -1 +1 @@
1
- {"version":3,"file":"useChatBot.js","sourceRoot":"","sources":["../../../src/components/Header/useChatBot.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AACxD,6DAAiE;AAGjE,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AACxD,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,EAAE,EAAE,6BAA6B;CAC5C,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;IAC1C,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAExC,OAAO,CAAC,EAA8B,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,IAAA,oCAAoB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC/C;aAAM;YACL,MAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC1D,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;aAClD;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,EAAE;gBACd,IAAA,oCAAoB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,UAAU,cAwBrB"}
1
+ {"version":3,"file":"useChatBot.js","sourceRoot":"","sources":["../../../src/components/Header/useChatBot.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AACxD,6DAAiE;AAGjE,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AACxD,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,UAAU;CACrB,CAAC;AAOK,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;IAC1C,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAExC,OAAO,KAAK,EAAE,EAA8B,EAAE,EAAE;QAC9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,IAAA,oCAAoB,EAAC,GAAG,cAAc,eAAe,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,oCAAoB,EAC9C,cAAc,EACd,GAAG,OAAO,YAAY,CACvB,CAAY,CAAC;YAEd,IAAI,YAAY,EAAE,MAAM,EAAE;gBACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,MAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC1D,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;aAClD;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,EAAE;gBACd,IAAA,oCAAoB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,UAAU,cAiCrB"}
@@ -1,7 +1,7 @@
1
1
  import { type Target } from '../model/LinkProps';
2
- export declare const isURL: (href: string | undefined | null) => href is `${string}:${string}`;
2
+ export declare const isURL: (href: string | undefined) => href is `${string}:${string}`;
3
3
  export declare const isLocalURL: (href: string | undefined, target?: Target) => boolean;
4
4
  export declare const isHash: (href: string | undefined) => href is `#${string}`;
5
5
  export declare const withoutQuery: (href: string | undefined) => string;
6
- export { joinPath } from './joinPath';
6
+ export declare const joinPath: (...path: (string | undefined | null)[]) => string;
7
7
  export declare const hasPrefix: (href?: string) => (prefix?: string) => boolean;
package/dist/utils/url.js CHANGED
@@ -8,8 +8,16 @@ const isHash = (href) => Boolean(href?.startsWith('#'));
8
8
  exports.isHash = isHash;
9
9
  const withoutQuery = (href) => (href ?? '').replace(/\?.*/, '').replace(/\/$/, '');
10
10
  exports.withoutQuery = withoutQuery;
11
- var joinPath_1 = require("./joinPath");
12
- Object.defineProperty(exports, "joinPath", { enumerable: true, get: function () { return joinPath_1.joinPath; } });
11
+ const joinPath = (...path) => path
12
+ .filter(Boolean)
13
+ .join('/')
14
+ .replace(/\/+/g, '/')
15
+ .replace(/^(.+):\//, '$1://') // TODO Череда очень странных преобрвзований
16
+ .replace(/^file:/, 'file:/')
17
+ .replace(/\/(\?|&|#[^!])/g, '$1')
18
+ .replace(/\?/g, '&')
19
+ .replace('&', '?');
20
+ exports.joinPath = joinPath;
13
21
  const hasPrefix = (href) => (prefix) => Boolean(href &&
14
22
  prefix &&
15
23
  href.startsWith(prefix) &&
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":";;AAEO,MAAM,KAAK,GAAG,CAAC,IAA+B,EAAiC,EAAE,CACtF,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AADlB,QAAA,KAAK,SACa;AAExB,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,MAAe,EAAE,EAAE,CACtE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;AADtD,QAAA,UAAU,cAC4C;AAE5D,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAwB,EAAE,CACvE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AADpB,QAAA,MAAM,UACc;AAE1B,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAU,EAAE,CAC/D,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AADzC,QAAA,YAAY,gBAC6B;AAEtD,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEV,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CAC9D,OAAO,CACL,IAAI;IACF,MAAM;IACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACvB,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CACrE,CAAC;AANS,QAAA,SAAS,aAMlB"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":";;AAEO,MAAM,KAAK,GAAG,CAAC,IAAwB,EAAiC,EAAE,CAC/E,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AADlB,QAAA,KAAK,SACa;AAExB,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,MAAe,EAAE,EAAE,CACtE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;AADtD,QAAA,UAAU,cAC4C;AAE5D,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAwB,EAAE,CACvE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AADpB,QAAA,MAAM,UACc;AAE1B,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAU,EAAE,CAC/D,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AADzC,QAAA,YAAY,gBAC6B;AAE/C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAmC,EAAU,EAAE,CACzE,IAAI;KACD,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,GAAG,CAAC;KACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KACpB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,4CAA4C;KACzE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC3B,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;KAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;KACnB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AATV,QAAA,QAAQ,YASE;AAEhB,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CAC9D,OAAO,CACL,IAAI;IACF,MAAM;IACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACvB,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CACrE,CAAC;AANS,QAAA,SAAS,aAMlB"}
@@ -1,2 +1,2 @@
1
1
  import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
2
- export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => void;
2
+ export declare const useChatBot: (chat?: string) => (ev: PreventableEventWithTarget) => Promise<void>;
@@ -6,17 +6,21 @@ const CHAT_FRAME_ID = 'webchat-js-container:webchat_rshb';
6
6
  const CHAT_STORAGE_NAME = 'webchat-keep-open';
7
7
  const CHATBOT_URL = {
8
8
  personal: '//chat.mes.rshb.ru/assets/js/webchat_rshb',
9
- business: '', //TODO: add url business chat
9
+ business: '/webchat',
10
10
  };
11
11
  export const useChatBot = (chat) => {
12
12
  useEffect(() => globalThis.localStorage?.setItem(CHAT_STORAGE_NAME, String(Date.now())), []);
13
13
  const chatUrl = CHATBOT_URL[chat ?? ''];
14
- return (ev) => {
14
+ return async (ev) => {
15
15
  if (!chatUrl) {
16
16
  return;
17
17
  }
18
18
  if (chat !== 'personal') {
19
- initializeExternalNS(CHAT_NAMESPACE, chatUrl);
19
+ initializeExternalNS(`${CHAT_NAMESPACE}_business_css`, `${chatUrl}/bundle.css`);
20
+ const businessChat = (await initializeExternalNS(CHAT_NAMESPACE, `${chatUrl}/bundle.js`));
21
+ if (businessChat?.render) {
22
+ businessChat.render(CHAT_FRAME_ID, true);
23
+ }
20
24
  }
21
25
  else {
22
26
  const target = ev.target;
@@ -1 +1 @@
1
- {"version":3,"file":"useChatBot.js","sourceRoot":"","sources":["../../../src/components/Header/useChatBot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AACxD,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,EAAE,EAAE,6BAA6B;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;IAC1C,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAExC,OAAO,CAAC,EAA8B,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SAC/C;aAAM;YACL,MAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC1D,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;aAClD;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,EAAE;gBACd,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useChatBot.js","sourceRoot":"","sources":["../../../src/components/Header/useChatBot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AACxD,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,UAAU;CACrB,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;IAC1C,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAExC,OAAO,KAAK,EAAE,EAA8B,EAAE,EAAE;QAC9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,oBAAoB,CAAC,GAAG,cAAc,eAAe,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,CAAC,MAAM,oBAAoB,CAC9C,cAAc,EACd,GAAG,OAAO,YAAY,CACvB,CAAY,CAAC;YAEd,IAAI,YAAY,EAAE,MAAM,EAAE;gBACxB,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,MAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC1D,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;aAClD;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,EAAE;gBACd,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Target } from '../model/LinkProps';
2
- export declare const isURL: (href: string | undefined | null) => href is `${string}:${string}`;
2
+ export declare const isURL: (href: string | undefined) => href is `${string}:${string}`;
3
3
  export declare const isLocalURL: (href: string | undefined, target?: Target) => boolean;
4
4
  export declare const isHash: (href: string | undefined) => href is `#${string}`;
5
5
  export declare const withoutQuery: (href: string | undefined) => string;
6
- export { joinPath } from './joinPath';
6
+ export declare const joinPath: (...path: (string | undefined | null)[]) => string;
7
7
  export declare const hasPrefix: (href?: string) => (prefix?: string) => boolean;
package/lib/utils/url.js CHANGED
@@ -2,7 +2,15 @@ export const isURL = (href) => Boolean(href?.includes(':'));
2
2
  export const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
3
3
  export const isHash = (href) => Boolean(href?.startsWith('#'));
4
4
  export const withoutQuery = (href) => (href ?? '').replace(/\?.*/, '').replace(/\/$/, '');
5
- export { joinPath } from './joinPath.js';
5
+ export const joinPath = (...path) => path
6
+ .filter(Boolean)
7
+ .join('/')
8
+ .replace(/\/+/g, '/')
9
+ .replace(/^(.+):\//, '$1://') // TODO Череда очень странных преобрвзований
10
+ .replace(/^file:/, 'file:/')
11
+ .replace(/\/(\?|&|#[^!])/g, '$1')
12
+ .replace(/\?/g, '&')
13
+ .replace('&', '?');
6
14
  export const hasPrefix = (href) => (prefix) => Boolean(href &&
7
15
  prefix &&
8
16
  href.startsWith(prefix) &&
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAA+B,EAAiC,EAAE,CACtF,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,MAAe,EAAE,EAAE,CACtE,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAwB,EAAE,CACvE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAU,EAAE,CAC/D,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CAC9D,OAAO,CACL,IAAI;IACF,MAAM;IACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACvB,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CACrE,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAwB,EAAiC,EAAE,CAC/E,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,MAAe,EAAE,EAAE,CACtE,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAwB,EAAE,CACvE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAU,EAAE,CAC/D,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAmC,EAAU,EAAE,CACzE,IAAI;KACD,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,GAAG,CAAC;KACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KACpB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,4CAA4C;KACzE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC3B,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;KAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;KACnB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,EAAE,CAC9D,OAAO,CACL,IAAI;IACF,MAAM;IACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACvB,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CACrE,CAAC"}
@@ -239,30 +239,19 @@
239
239
  return /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}(\/revs\/[0-9]{1,20})?$/.test(src);
240
240
  };
241
241
 
242
- const PLACEHOLDER = 'http://_';
243
- const joinPath = (...path) => {
244
- const urls = path.filter(Boolean).map((_) => new URL(_, PLACEHOLDER));
245
- const origin = urls.find((_) => _.origin !== PLACEHOLDER)?.origin;
246
- const pathname = cleanPath(urls.map((_) => _.pathname));
247
- const query = joinSearchParams(...urls.map((_) => _.searchParams)).toString();
248
- const hash = urls.find((_) => _.hash)?.hash;
249
- return [origin, pathname, query ? `?${query}` : '', hash].filter(Boolean).join('');
250
- };
251
- const joinSearchParams = (...list) => {
252
- const result = new URLSearchParams();
253
- for (const searchParams of list) {
254
- for (const [k, v] of searchParams) {
255
- result.set(k, v);
256
- }
257
- }
258
- return result;
259
- };
260
- const cleanPath = (pathParts) => pathParts.join('/').replace(/\/+/g, '/');
261
-
262
242
  const isURL = (href) => Boolean(href?.includes(':'));
263
243
  const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
264
244
  const isHash = (href) => Boolean(href?.startsWith('#'));
265
245
  const withoutQuery = (href) => (href ?? '').replace(/\?.*/, '').replace(/\/$/, '');
246
+ const joinPath = (...path) => path
247
+ .filter(Boolean)
248
+ .join('/')
249
+ .replace(/\/+/g, '/')
250
+ .replace(/^(.+):\//, '$1://') // TODO Череда очень странных преобрвзований
251
+ .replace(/^file:/, 'file:/')
252
+ .replace(/\/(\?|&|#[^!])/g, '$1')
253
+ .replace(/\?/g, '&')
254
+ .replace('&', '?');
266
255
  const hasPrefix = (href) => (prefix) => Boolean(href &&
267
256
  prefix &&
268
257
  href.startsWith(prefix) &&
@@ -274,8 +263,8 @@
274
263
  isLocalURL: isLocalURL,
275
264
  isHash: isHash,
276
265
  withoutQuery: withoutQuery,
277
- hasPrefix: hasPrefix,
278
- joinPath: joinPath
266
+ joinPath: joinPath,
267
+ hasPrefix: hasPrefix
279
268
  });
280
269
 
281
270
  const API_PREFIX = '/api/';
@@ -6637,7 +6626,7 @@
6637
6626
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
6638
6627
  });
6639
6628
 
6640
- const packageVersion = "0.14.769";
6629
+ const packageVersion = "0.14.771";
6641
6630
 
6642
6631
  exports.Blocks = Blocks;
6643
6632
  exports.ContentPage = ContentPage;