@sima-land/moleculas 16.0.0-alpha.11 → 16.0.0-alpha.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.
Files changed (81) hide show
  1. package/common/components/media-gallery/index.d.ts +2 -0
  2. package/common/components/media-gallery/index.js +7 -0
  3. package/common/components/media-gallery/index.js.map +1 -0
  4. package/common/components/media-gallery/media-gallery.d.ts +16 -0
  5. package/common/components/media-gallery/media-gallery.js +90 -0
  6. package/common/components/media-gallery/media-gallery.js.map +1 -0
  7. package/common/components/media-gallery/media-gallery.module.scss +35 -0
  8. package/common/components/media-gallery/types.d.ts +12 -0
  9. package/common/components/media-gallery/types.js.map +1 -0
  10. package/common/components/media-gallery/utils.d.ts +38 -0
  11. package/common/components/media-gallery/utils.js +102 -0
  12. package/common/components/media-gallery/utils.js.map +1 -0
  13. package/common/components/media-modal/__mocks__/images/armchair.jpg +0 -0
  14. package/common/components/media-modal/__mocks__/images/cup.jpg +0 -0
  15. package/common/components/media-modal/__mocks__/images/plant.jpg +0 -0
  16. package/common/components/media-modal/__mocks__/images/stump.jpg +0 -0
  17. package/common/components/media-modal/__mocks__/images/table.jpg +0 -0
  18. package/common/components/media-modal/__mocks__/images/vase.jpg +0 -0
  19. package/common/components/media-modal/__mocks__/index.js +39 -19
  20. package/common/components/media-modal/__mocks__/index.js.map +1 -1
  21. package/common/components/media-modal/__mocks__/thumbnails/armchair.jpg +0 -0
  22. package/common/components/media-modal/__mocks__/thumbnails/cup.jpg +0 -0
  23. package/common/components/media-modal/__mocks__/thumbnails/plant.jpg +0 -0
  24. package/common/components/media-modal/__mocks__/thumbnails/stump.jpg +0 -0
  25. package/common/components/media-modal/__mocks__/thumbnails/table.jpg +0 -0
  26. package/common/components/media-modal/__mocks__/thumbnails/vase.jpg +0 -0
  27. package/common/components/media-modal/index.d.ts +4 -4
  28. package/common/components/media-modal/index.js +5 -3
  29. package/common/components/media-modal/index.js.map +1 -1
  30. package/common/components/media-modal/layout.js +5 -3
  31. package/common/components/media-modal/layout.js.map +1 -1
  32. package/common/components/media-modal/layout.module.scss +0 -2
  33. package/common/components/media-modal/parts/all-round-view.js +2 -2
  34. package/common/components/media-modal/parts/all-round-view.js.map +1 -1
  35. package/common/components/media-modal/parts/index.js +2 -2
  36. package/common/components/media-modal/parts/index.js.map +1 -1
  37. package/common/components/media-modal/parts/media-area.d.ts +25 -0
  38. package/common/components/media-modal/parts/media-area.js +61 -0
  39. package/common/components/media-modal/parts/media-area.js.map +1 -0
  40. package/common/components/media-modal/parts/media-area.module.scss +21 -0
  41. package/common/components/media-modal/parts/media-view.d.ts +9 -2
  42. package/common/components/media-modal/parts/media-view.js +6 -6
  43. package/common/components/media-modal/parts/media-view.js.map +1 -1
  44. package/common/components/media-modal/parts/media-view.module.scss +3 -3
  45. package/common/components/media-modal/parts/product-brief.module.scss +0 -7
  46. package/common/components/media-modal/parts/scroll-section.js +2 -1
  47. package/common/components/media-modal/parts/scroll-section.js.map +1 -1
  48. package/common/components/media-modal/parts/thumbnails.js +2 -1
  49. package/common/components/media-modal/parts/thumbnails.js.map +1 -1
  50. package/common/components/media-modal/types.d.ts +1 -0
  51. package/common/components/media-modal/utils.d.ts +0 -5
  52. package/common/components/media-modal/utils.js +3 -15
  53. package/common/components/media-modal/utils.js.map +1 -1
  54. package/common/hooks/index.d.ts +5 -0
  55. package/common/hooks/index.js +14 -1
  56. package/common/hooks/index.js.map +1 -1
  57. package/desktop/components/breadcrumbs/breadcrumbs.module.scss +36 -3
  58. package/desktop/components/breadcrumbs/index.js +8 -5
  59. package/desktop/components/breadcrumbs/index.js.map +1 -1
  60. package/desktop/components/gallery-modal/components/all-round-view.js +9 -4
  61. package/desktop/components/gallery-modal/components/all-round-view.js.map +1 -1
  62. package/desktop/components/product-card/index.d.ts +2 -26
  63. package/desktop/components/product-card/index.js +6 -67
  64. package/desktop/components/product-card/index.js.map +1 -1
  65. package/desktop/components/product-card/product-card.d.ts +26 -0
  66. package/desktop/components/product-card/product-card.js +88 -0
  67. package/desktop/components/product-card/product-card.js.map +1 -0
  68. package/desktop/components/product-card/types.d.ts +12 -0
  69. package/desktop/components/product-card/types.js +3 -0
  70. package/desktop/components/product-card/types.js.map +1 -0
  71. package/package.json +1 -2
  72. package/common/components/media-modal/parts/media-content.d.ts +0 -21
  73. package/common/components/media-modal/parts/media-content.js +0 -91
  74. package/common/components/media-modal/parts/media-content.js.map +0 -1
  75. package/common/components/media-modal/parts/media-content.module.scss +0 -42
  76. package/common/constants.d.ts +0 -2
  77. package/common/constants.js +0 -9
  78. package/common/constants.js.map +0 -1
  79. package/common/types.d.ts +0 -1
  80. package/common/types.js.map +0 -1
  81. /package/common/{types.js → components/media-gallery/types.js} +0 -0
@@ -8,7 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const breakpoint_1 = require("@sima-land/ui-nucleons/hooks/breakpoint");
10
10
  const all_round_view_1 = require("../../../../desktop/components/gallery-modal/components/all-round-view");
11
- const utils_1 = require("../utils");
11
+ const hooks_1 = require("../../../../common/hooks");
12
12
  const TouchScrollX_1 = __importDefault(require("@sima-land/ui-quarks/icons/64x64/Colorful/TouchScrollX"));
13
13
  const all_round_view_module_scss_1 = __importDefault(require("./all-round-view.module.scss"));
14
14
  /**
@@ -17,7 +17,7 @@ const all_round_view_module_scss_1 = __importDefault(require("./all-round-view.m
17
17
  * @return Элемент.
18
18
  */
19
19
  function AllRoundView(props) {
20
- const mounted = (0, utils_1.useMounted)();
20
+ const mounted = (0, hooks_1.useMounted)();
21
21
  const desktop = (0, breakpoint_1.useBreakpoint)('xs+');
22
22
  if (!mounted) {
23
23
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"all-round-view.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/all-round-view.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA8C;AAC9C,wEAAwE;AACxE,2GAIgF;AAChF,oCAAsC;AACtC,0GAA8E;AAC9E,8FAAkD;AAElD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAwB;IACnD,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,uBAAC,UAAU,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,CAAC;AACrD,CAAC;AATD,oCASC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAA4C;IACjF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAY,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACtC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,iCAAK,SAAS,EAAE,oCAAM,CAAC,IAAI,aACxB,CAAC,OAAO,IAAI,QAAQ,IAAI,CACvB,gCAAK,SAAS,EAAE,oCAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,YAC1D,uBAAC,sBAAQ,KAAG,GACR,CACP,EAED,uBAAC,6BAAgB,OAAK,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,GAAI,IACrF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"all-round-view.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/all-round-view.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA8C;AAC9C,wEAAwE;AACxE,2GAIgF;AAChF,oDAAsD;AACtD,0GAA8E;AAC9E,8FAAkD;AAElD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAwB;IACnD,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,uBAAC,UAAU,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,CAAC;AACrD,CAAC;AATD,oCASC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAA4C;IACjF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAY,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACtC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,iCAAK,SAAS,EAAE,oCAAM,CAAC,IAAI,aACxB,CAAC,OAAO,IAAI,QAAQ,IAAI,CACvB,gCAAK,SAAS,EAAE,oCAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,YAC1D,uBAAC,sBAAQ,KAAG,GACR,CACP,EAED,uBAAC,6BAAgB,OAAK,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,GAAI,IACrF,CACP,CAAC;AACJ,CAAC"}
@@ -8,7 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const layout_1 = require("@sima-land/ui-nucleons/layout");
9
9
  const define_slots_1 = require("@sima-land/ui-nucleons/helpers/define-slots");
10
10
  const breakpoint_1 = require("@sima-land/ui-nucleons/hooks/breakpoint");
11
- const utils_1 = require("../utils");
11
+ const hooks_1 = require("../../../../common/hooks");
12
12
  const scroll_section_1 = require("./scroll-section");
13
13
  const Left_1 = __importDefault(require("@sima-land/ui-quarks/icons/16x16/Stroked/Arrows/Left"));
14
14
  const parts_module_scss_1 = __importDefault(require("./parts.module.scss"));
@@ -32,7 +32,7 @@ exports.Preset = {
32
32
  * @return Элемент.
33
33
  */
34
34
  function HeaderLayout({ children }) {
35
- const mounted = (0, utils_1.useMounted)();
35
+ const mounted = (0, hooks_1.useMounted)();
36
36
  const desktop = (0, breakpoint_1.useBreakpoint)('xs+');
37
37
  const { tabs, button } = (0, define_slots_1.defineSlots)(children, {
38
38
  tabs: HeaderLayoutTabs,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/index.tsx"],"names":[],"mappings":";;;;;;;AACA,0DAAuD;AAGvD,8EAA0E;AAC1E,wEAAwE;AACxE,oCAAsC;AACtC,qDAAiD;AACjD,gGAA2E;AAC3E,4EAAyC;AAE5B,QAAA,MAAM,GAAG;IACpB,UAAU,EAAE,CAAC,SAAqB,EAAa,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,iBAAiB;QACvB,GAAG,SAAS;KACb,CAAC;IAEF,YAAY,EAAE,CAAC,SAA2B,EAAmB,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,GAAG;QACT,SAAS,EAAE,cAAO;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC;QAClC,QAAQ,EAAE,8BAA8B;QACxC,GAAG,SAAS;KACb,CAAC;CACM,CAAC;AAEX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAA4B;IACjE,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IAErC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QAC7C,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,gCAAK,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC,GAAQ,CAAC;KACxD;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC,aACpC,CAAC,OAAO,IAAI,CACX,6DACG,IAAI,IAAI,uBAAC,8BAAa,cAAE,IAAI,GAAiB,EAC7C,MAAM,IAAI,uBAAC,eAAM,cAAE,MAAM,GAAU,IACnC,CACJ,EAEA,OAAO,IAAI,CACV,6DACG,IAAI,EACJ,MAAM,IACN,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AA9BD,oCA8BC;AAED,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACrC,YAAY,CAAC,MAAM,GAAG,kBAAkB,CAAC;AAEzC;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAA4B;IAC9D,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAA4B;IAChE,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/index.tsx"],"names":[],"mappings":";;;;;;;AACA,0DAAuD;AAGvD,8EAA0E;AAC1E,wEAAwE;AACxE,oDAAsD;AACtD,qDAAiD;AACjD,gGAA2E;AAC3E,4EAAyC;AAE5B,QAAA,MAAM,GAAG;IACpB,UAAU,EAAE,CAAC,SAAqB,EAAa,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,iBAAiB;QACvB,GAAG,SAAS;KACb,CAAC;IAEF,YAAY,EAAE,CAAC,SAA2B,EAAmB,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,GAAG;QACT,SAAS,EAAE,cAAO;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC;QAClC,QAAQ,EAAE,8BAA8B;QACxC,GAAG,SAAS;KACb,CAAC;CACM,CAAC;AAEX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAA4B;IACjE,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IAErC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QAC7C,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,gCAAK,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC,GAAQ,CAAC;KACxD;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC,aACpC,CAAC,OAAO,IAAI,CACX,6DACG,IAAI,IAAI,uBAAC,8BAAa,cAAE,IAAI,GAAiB,EAC7C,MAAM,IAAI,uBAAC,eAAM,cAAE,MAAM,GAAU,IACnC,CACJ,EAEA,OAAO,IAAI,CACV,6DACG,IAAI,EACJ,MAAM,IACN,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AA9BD,oCA8BC;AAED,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACrC,YAAY,CAAC,MAAM,GAAG,kBAAkB,CAAC;AAEzC;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAA4B;IAC9D,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAA4B;IAChE,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Формирует ограничения высоты и ширины для вывода меда контента по гайдам.
4
+ * @param props Свойства.
5
+ * @return Элемент.
6
+ */
7
+ export declare function MediaArea({ children }: {
8
+ children?: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * Центральная часть зоны для медиа.
12
+ * @param props Свойства.
13
+ * @return Элемент.
14
+ */
15
+ export declare function MediaAreaMain({ children }: {
16
+ children?: ReactNode;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ /**
19
+ * Боковая часть зоны для медиа.
20
+ * @param props Свойства.
21
+ * @return Элемент.
22
+ */
23
+ export declare function MediaAreaAside({ children }: {
24
+ children?: ReactNode;
25
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MediaAreaAside = exports.MediaAreaMain = exports.MediaArea = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const layout_1 = require("@sima-land/ui-nucleons/layout");
9
+ const react_1 = require("react");
10
+ const utils_1 = require("../utils");
11
+ const bind_1 = __importDefault(require("classnames/bind"));
12
+ const media_area_module_scss_1 = __importDefault(require("./media-area.module.scss"));
13
+ const cx = bind_1.default.bind(media_area_module_scss_1.default);
14
+ /**
15
+ * Формирует ограничения высоты и ширины для вывода меда контента по гайдам.
16
+ * @param props Свойства.
17
+ * @return Элемент.
18
+ */
19
+ function MediaArea({ children }) {
20
+ const ref = (0, react_1.useRef)(null);
21
+ const rect = (0, utils_1.useClientRect)(ref);
22
+ const style = rect.ready
23
+ ? {
24
+ '--media-gallery-width': `${rect.width}px`,
25
+ '--media-gallery-height': `${rect.height}px`,
26
+ '--media-view-width': `var(--media-gallery-width)`,
27
+ '--media-view-height': `var(--media-gallery-height)`,
28
+ }
29
+ : undefined;
30
+ return ((0, jsx_runtime_1.jsx)(layout_1.Layout, { rootRef: ref, disabledOn: ['mxs', 'ms', 'xs', 's', 'm', 'l', 'xl'], className: cx('root'), style: style, children: children }));
31
+ }
32
+ exports.MediaArea = MediaArea;
33
+ /**
34
+ * Центральная часть зоны для медиа.
35
+ * @param props Свойства.
36
+ * @return Элемент.
37
+ */
38
+ function MediaAreaMain({ children }) {
39
+ const ref = (0, react_1.useRef)(null);
40
+ const rect = (0, utils_1.useClientRect)(ref);
41
+ const style = rect.ready
42
+ ? {
43
+ '--media-gallery-width': `${rect.width}px`,
44
+ '--media-gallery-height': `${rect.height}px`,
45
+ '--media-view-width': `var(--media-gallery-width)`,
46
+ '--media-view-height': `var(--media-gallery-height)`,
47
+ }
48
+ : undefined;
49
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: cx('main'), style: style, children: children }));
50
+ }
51
+ exports.MediaAreaMain = MediaAreaMain;
52
+ /**
53
+ * Боковая часть зоны для медиа.
54
+ * @param props Свойства.
55
+ * @return Элемент.
56
+ */
57
+ function MediaAreaAside({ children }) {
58
+ return (0, jsx_runtime_1.jsx)("div", { className: cx('aside'), children: children });
59
+ }
60
+ exports.MediaAreaAside = MediaAreaAside;
61
+ //# sourceMappingURL=media-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-area.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/media-area.tsx"],"names":[],"mappings":";;;;;;;AAAA,0DAAuD;AACvD,iCAAyD;AACzD,oCAAyC;AACzC,2DAAyC;AACzC,sFAA8C;AAE9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EAAE,QAAQ,EAA4B;IAC9D,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACtB,CAAC,CAAE;YACC,uBAAuB,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;YAC1C,wBAAwB,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI;YAC5C,oBAAoB,EAAE,4BAA4B;YAClD,qBAAqB,EAAE,6BAA6B;SACnC;QACrB,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,uBAAC,eAAM,IACL,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EACpD,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EACrB,KAAK,EAAE,KAAK,YAEX,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAvBD,8BAuBC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,EAAE,QAAQ,EAA4B;IAClE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACtB,CAAC,CAAE;YACC,uBAAuB,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;YAC1C,wBAAwB,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI;YAC5C,oBAAoB,EAAE,4BAA4B;YAClD,qBAAqB,EAAE,6BAA6B;SACnC;QACrB,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,YAC/C,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAlBD,sCAkBC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAA4B;IACnE,OAAO,gCAAK,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAAG,QAAQ,GAAO,CAAC;AACvD,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,21 @@
1
+ .root {
2
+ position: relative;
3
+ flex-grow: 1;
4
+ height: max(50vh, 240px);
5
+ display: flex;
6
+ }
7
+
8
+ .aside + .main,
9
+ .main + .aside {
10
+ margin-left: 24px;
11
+ }
12
+
13
+ .main {
14
+ flex-grow: 1;
15
+ position: relative;
16
+ }
17
+
18
+ .aside {
19
+ display: flex;
20
+ align-items: center;
21
+ }
@@ -1,13 +1,20 @@
1
- import { VideoHTMLAttributes } from 'react';
1
+ import { CSSProperties, Ref, VideoHTMLAttributes } from 'react';
2
2
  import { MediaData } from '../types';
3
+ export interface MediaViewStyle extends CSSProperties {
4
+ '--media-view-width'?: string;
5
+ '--media-view-height'?: string;
6
+ }
3
7
  export interface MediaViewProps {
8
+ rootRef?: Ref<HTMLDivElement>;
4
9
  media?: MediaData;
5
10
  loading?: boolean;
6
11
  videoProps?: VideoHTMLAttributes<HTMLVideoElement>;
12
+ style?: MediaViewStyle;
13
+ className?: string;
7
14
  }
8
15
  /**
9
16
  * Отображает медиа-контент - 360, видео или изображение.
10
17
  * @param props Свойства.
11
18
  * @return Элемент.
12
19
  */
13
- export declare function MediaView({ media, loading, videoProps }: MediaViewProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function MediaView({ media, loading, videoProps, style, className, rootRef, }: MediaViewProps): import("react/jsx-runtime").JSX.Element;
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MediaView = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
- const image_overlay_1 = require("../../../../desktop/components/gallery-modal/components/image-overlay");
10
9
  const breakpoint_1 = require("@sima-land/ui-nucleons/hooks/breakpoint");
11
- const classnames_1 = __importDefault(require("classnames"));
12
10
  const all_round_view_1 = require("./all-round-view");
13
- const media_view_module_scss_1 = __importDefault(require("./media-view.module.scss"));
14
11
  const hooks_1 = require("../../../hooks");
15
12
  const img_stub_1 = require("../../img-stub");
13
+ const bind_1 = __importDefault(require("classnames/bind"));
14
+ const media_view_module_scss_1 = __importDefault(require("./media-view.module.scss"));
15
+ const cx = bind_1.default.bind(media_view_module_scss_1.default);
16
16
  /**
17
17
  * Отображает медиа-контент - 360, видео или изображение.
18
18
  * @param props Свойства.
19
19
  * @return Элемент.
20
20
  */
21
- function MediaView({ media, loading, videoProps }) {
21
+ function MediaView({ media, loading, videoProps, style, className, rootRef, }) {
22
22
  const desktop = (0, breakpoint_1.useBreakpoint)('xs+');
23
23
  let imageSrc = undefined;
24
24
  if ((media === null || media === void 0 ? void 0 : media.type) === 'image') {
@@ -38,9 +38,9 @@ function MediaView({ media, loading, videoProps }) {
38
38
  }
39
39
  }, [loading, videoSrc]);
40
40
  if (loading) {
41
- return (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(media_view_module_scss_1.default.root, media_view_module_scss_1.default.loading) });
41
+ return (0, jsx_runtime_1.jsx)("div", { ref: rootRef, className: cx('root', 'loading') });
42
42
  }
43
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(media_view_module_scss_1.default.root), children: [(media === null || media === void 0 ? void 0 : media.type) === 'image' && ((0, jsx_runtime_1.jsxs)(image_overlay_1.ImageOverlay, { className: media_view_module_scss_1.default.image, children: [failed && (0, jsx_runtime_1.jsx)(img_stub_1.ImgStub, { className: media_view_module_scss_1.default.stub }), !failed && (0, jsx_runtime_1.jsx)("img", { src: media.data.src, alt: media.data.alt || '', onError: handleError })] })), (media === null || media === void 0 ? void 0 : media.type) === 'video' && ((0, jsx_runtime_1.jsx)("video", { autoPlay: false, controls: true, controlsList: 'nodownload', ...videoProps, ref: videoRef, children: (0, jsx_runtime_1.jsx)("source", { src: media.data.src }) })), (media === null || media === void 0 ? void 0 : media.type) === '360' && (0, jsx_runtime_1.jsx)(all_round_view_1.AllRoundView, { photos: media.data.photos, controls: desktop })] }));
43
+ return ((0, jsx_runtime_1.jsxs)("div", { ref: rootRef, className: cx('root', className), style: style, children: [(media === null || media === void 0 ? void 0 : media.type) === 'image' && ((0, jsx_runtime_1.jsxs)("div", { className: cx('image'), children: [failed && (0, jsx_runtime_1.jsx)(img_stub_1.ImgStub, { className: media_view_module_scss_1.default.stub }), !failed && (0, jsx_runtime_1.jsx)("img", { src: media.data.src, alt: media.data.alt || '', onError: handleError })] })), (media === null || media === void 0 ? void 0 : media.type) === 'video' && ((0, jsx_runtime_1.jsx)("video", { autoPlay: false, controls: true, controlsList: 'nodownload', ...videoProps, ref: videoRef, children: (0, jsx_runtime_1.jsx)("source", { src: media.data.src }) })), (media === null || media === void 0 ? void 0 : media.type) === '360' && (0, jsx_runtime_1.jsx)(all_round_view_1.AllRoundView, { photos: media.data.photos, controls: desktop })] }));
44
44
  }
45
45
  exports.MediaView = MediaView;
46
46
  //# sourceMappingURL=media-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-view.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/media-view.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA+D;AAC/D,yGAAqG;AAErG,wEAAwE;AACxE,4DAAoC;AACpC,qDAAgD;AAChD,sFAA8C;AAC9C,0CAA8C;AAC9C,6CAAyC;AAQzC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAkB;IACtE,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IACrC,IAAI,QAAQ,GAAuB,SAAS,CAAC;IAE7C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE;QAC3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3B;SAAM,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE;QAClC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;KACjC;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,8FAA8F;QAC9F,IAAI,QAAQ,EAAE;YACZ,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;SAC1B;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,EAAE;QACX,OAAO,gCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,gCAAM,CAAC,IAAI,EAAE,gCAAM,CAAC,OAAO,CAAC,GAAQ,CAAC;KACxE;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,gCAAM,CAAC,IAAI,CAAC,aACpC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,IAAI,CAC1B,wBAAC,4BAAY,IAAC,SAAS,EAAE,gCAAM,CAAC,KAAK,aAClC,MAAM,IAAI,uBAAC,kBAAO,IAAC,SAAS,EAAE,gCAAM,CAAC,IAAI,GAAI,EAC7C,CAAC,MAAM,IAAI,gCAAK,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAI,IAC5E,CAChB,EAEA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,IAAI,CAC1B,kCAAO,QAAQ,EAAE,KAAK,EAAE,QAAQ,QAAC,YAAY,EAAC,YAAY,KAAK,UAAU,EAAE,GAAG,EAAE,QAAQ,YACtF,mCAAQ,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAI,GACzB,CACT,EAEA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,KAAK,IAAI,uBAAC,6BAAY,IAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAI,IACpF,CACP,CAAC;AACJ,CAAC;AA5CD,8BA4CC"}
1
+ {"version":3,"file":"media-view.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/media-view.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAmF;AAEnF,wEAAwE;AACxE,qDAAgD;AAChD,0CAA8C;AAC9C,6CAAyC;AACzC,2DAAyC;AACzC,sFAA8C;AAgB9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,GACQ;IACf,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IACrC,IAAI,QAAQ,GAAuB,SAAS,CAAC;IAE7C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE;QAC3B,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3B;SAAM,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE;QAClC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;KACjC;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,8FAA8F;QAC9F,IAAI,QAAQ,EAAE;YACZ,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;SAC1B;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,EAAE;QACX,OAAO,gCAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,GAAQ,CAAC;KACpE;IAED,OAAO,CACL,iCAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,aAC9D,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,IAAI,CAC1B,iCAAK,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aACxB,MAAM,IAAI,uBAAC,kBAAO,IAAC,SAAS,EAAE,gCAAM,CAAC,IAAI,GAAI,EAC7C,CAAC,MAAM,IAAI,gCAAK,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAI,IACrF,CACP,EAEA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,IAAI,CAC1B,kCAAO,QAAQ,EAAE,KAAK,EAAE,QAAQ,QAAC,YAAY,EAAC,YAAY,KAAK,UAAU,EAAE,GAAG,EAAE,QAAQ,YACtF,mCAAQ,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAI,GACzB,CACT,EAEA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,KAAK,IAAI,uBAAC,6BAAY,IAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAI,IACpF,CACP,CAAC;AACJ,CAAC;AAnDD,8BAmDC"}
@@ -1,16 +1,16 @@
1
1
  @use 'node_modules/@sima-land/ui-nucleons/colors';
2
2
 
3
3
  .root {
4
- width: var(--media-width, 320px);
5
- height: var(--media-height, 240px);
6
4
  position: absolute;
5
+ width: var(--media-view-width, 320px);
6
+ height: var(--media-view-height, 240px);
7
7
  display: flex;
8
8
  align-items: center;
9
9
  justify-content: center;
10
10
  &.loading {
11
11
  background: colors.$basic-gray4;
12
12
  }
13
- --all-round-view-size: min(var(--media-width), var(--media-height));
13
+ --all-round-view-size: min(var(--media-view-width, 320px), var(--media-view-height, 240px));
14
14
  video,
15
15
  .image {
16
16
  position: absolute;
@@ -40,13 +40,6 @@
40
40
 
41
41
  .footer {
42
42
  display: flex;
43
- > * {
44
- width: 128px;
45
- --stepper-width: 128px;
46
- }
47
- > *:last-child {
48
- margin-left: 8px;
49
- }
50
43
  }
51
44
 
52
45
  .size-s {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ScrollSection = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const layout_1 = require("@sima-land/ui-nucleons/layout");
9
+ const page_scroll_lock_1 = require("@sima-land/ui-nucleons/_internal/page-scroll-lock");
9
10
  const scroll_section_module_scss_1 = __importDefault(require("./scroll-section.module.scss"));
10
11
  /**
11
12
  * Секция с прокруткой по горизонтали по дизайн-гайдам.
@@ -13,7 +14,7 @@ const scroll_section_module_scss_1 = __importDefault(require("./scroll-section.m
13
14
  * @return Элемент.
14
15
  */
15
16
  function ScrollSection({ children, scrollRef, contentRef, }) {
16
- return ((0, jsx_runtime_1.jsx)(layout_1.Layout, { disabledOn: ['mxs', 'ms'], children: (0, jsx_runtime_1.jsxs)("div", { ref: scrollRef, className: scroll_section_module_scss_1.default.inner, children: [(0, jsx_runtime_1.jsx)("div", { className: scroll_section_module_scss_1.default.gutter }), (0, jsx_runtime_1.jsx)("div", { ref: contentRef, className: scroll_section_module_scss_1.default.content, children: children }), (0, jsx_runtime_1.jsx)("div", { className: scroll_section_module_scss_1.default.gutter })] }) }));
17
+ return ((0, jsx_runtime_1.jsx)(layout_1.Layout, { disabledOn: ['mxs', 'ms'], children: (0, jsx_runtime_1.jsxs)("div", { ref: scrollRef, className: scroll_section_module_scss_1.default.inner, ...{ [page_scroll_lock_1.BSL_IGNORE_ATTR]: true }, children: [(0, jsx_runtime_1.jsx)("div", { className: scroll_section_module_scss_1.default.gutter }), (0, jsx_runtime_1.jsx)("div", { ref: contentRef, className: scroll_section_module_scss_1.default.content, children: children }), (0, jsx_runtime_1.jsx)("div", { className: scroll_section_module_scss_1.default.gutter })] }) }));
17
18
  }
18
19
  exports.ScrollSection = ScrollSection;
19
20
  //# sourceMappingURL=scroll-section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-section.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/scroll-section.tsx"],"names":[],"mappings":";;;;;;;AAAA,0DAAuD;AAEvD,8FAAkD;AAElD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAU,GAKX;IACC,OAAO,CACL,uBAAC,eAAM,IAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAC/B,iCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,oCAAM,CAAC,KAAK,aAC1C,gCAAK,SAAS,EAAE,oCAAM,CAAC,MAAM,GAAI,EACjC,gCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,oCAAM,CAAC,OAAO,YAC5C,QAAQ,GACL,EACN,gCAAK,SAAS,EAAE,oCAAM,CAAC,MAAM,GAAI,IAC7B,GACC,CACV,CAAC;AACJ,CAAC;AApBD,sCAoBC"}
1
+ {"version":3,"file":"scroll-section.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/scroll-section.tsx"],"names":[],"mappings":";;;;;;;AAAA,0DAAuD;AAEvD,wFAAoF;AACpF,8FAAkD;AAElD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAU,GAKX;IACC,OAAO,CACL,uBAAC,eAAM,IAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAC/B,iCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,oCAAM,CAAC,KAAK,KAAM,EAAE,CAAC,kCAAe,CAAC,EAAE,IAAI,EAAE,aAC3E,gCAAK,SAAS,EAAE,oCAAM,CAAC,MAAM,GAAI,EACjC,gCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,oCAAM,CAAC,OAAO,YAC5C,QAAQ,GACL,EACN,gCAAK,SAAS,EAAE,oCAAM,CAAC,MAAM,GAAI,IAC7B,GACC,CACV,CAAC;AACJ,CAAC;AApBD,sCAoBC"}
@@ -8,6 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const breakpoint_1 = require("@sima-land/ui-nucleons/hooks/breakpoint");
10
10
  const utils_1 = require("../utils");
11
+ const hooks_1 = require("../../../../common/hooks");
11
12
  const scroll_section_1 = require("./scroll-section");
12
13
  const thumbnail_1 = require("./thumbnail");
13
14
  const bind_1 = __importDefault(require("classnames/bind"));
@@ -19,7 +20,7 @@ const cx = bind_1.default.bind(thumbnails_module_scss_1.default);
19
20
  * @return Элемент.
20
21
  */
21
22
  function Thumbnails({ children, targetIndex, ...rest }) {
22
- const mounted = (0, utils_1.useMounted)();
23
+ const mounted = (0, hooks_1.useMounted)();
23
24
  const desktop = (0, breakpoint_1.useBreakpoint)('xs+');
24
25
  const scrollRef = (0, react_1.useRef)(null);
25
26
  const contentRef = (0, react_1.useRef)(null);
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnails.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/thumbnails.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAqD;AACrD,wEAAwE;AACxE,oCAA6C;AAC7C,qDAAiD;AACjD,2CAA8D;AAC9D,2DAAyC;AACzC,sFAA8C;AAQ9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAmB;IAC5E,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,EAAE;YAC3D,OAAO;SACR;QAED,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,SAAS,IAAI,aAAK,CAAC,gBAAgB,CACxC,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC9B,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAC/B,CAAC;SACH;aAAM;YACL,MAAM,WAAW,GAAG,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAErD,MAAM,CAAC,UAAU,IAAI,aAAK,CAAC,gBAAgB,CACzC;gBACE,sDAAsD;gBACtD,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,EAAE;gBAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE;aAChC,EACD,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACjC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,uBAAC,8BAAa,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,YACxD,QAAQ,GACK,GACU,CAC7B,CAAC;KACH;IAED,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,gCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,YAC/C,QAAQ,GACL,GACoB,CAC7B,CAAC;AACJ,CAAC;AA7DD,gCA6DC"}
1
+ {"version":3,"file":"thumbnails.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/thumbnails.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAqD;AACrD,wEAAwE;AACxE,oCAAiC;AACjC,oDAAsD;AACtD,qDAAiD;AACjD,2CAA8D;AAC9D,2DAAyC;AACzC,sFAA8C;AAQ9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAmB;IAC5E,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,EAAE;YAC3D,OAAO;SACR;QAED,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,SAAS,IAAI,aAAK,CAAC,gBAAgB,CACxC,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC9B,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAC/B,CAAC;SACH;aAAM;YACL,MAAM,WAAW,GAAG,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAErD,MAAM,CAAC,UAAU,IAAI,aAAK,CAAC,gBAAgB,CACzC;gBACE,sDAAsD;gBACtD,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,EAAE;gBAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE;aAChC,EACD,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACjC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,uBAAC,8BAAa,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,YACxD,QAAQ,GACK,GACU,CAC7B,CAAC;KACH;IAED,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,gCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,YAC/C,QAAQ,GACL,GACoB,CAC7B,CAAC;AACJ,CAAC;AA7DD,gCA6DC"}
@@ -6,6 +6,7 @@ export interface MediaShape<T extends string, D extends Record<string, any>> {
6
6
  export type MediaImage = MediaShape<'image', {
7
7
  src: string;
8
8
  alt?: string;
9
+ thumbnail?: string;
9
10
  }>;
10
11
  export type MediaVideo = MediaShape<'video', {
11
12
  src: string;
@@ -35,11 +35,6 @@ export declare function useClientRect(ref: RefObject<HTMLElement>): {
35
35
  width: number;
36
36
  height: number;
37
37
  };
38
- /**
39
- * Возвращает true если компонент смонтирован.
40
- * @return True если компонент смонтирован.
41
- */
42
- export declare function useMounted(): boolean;
43
38
  /**
44
39
  * Хук получения доступа к visualViewport.
45
40
  * @param handle Получит visualViewport.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useVisualViewport = exports.useMounted = exports.useClientRect = exports.Range = void 0;
3
+ exports.useVisualViewport = exports.useClientRect = exports.Range = void 0;
4
+ const hooks_1 = require("@sima-land/ui-nucleons/hooks");
4
5
  const identity_1 = require("@sima-land/ui-nucleons/hooks/identity");
5
6
  const react_1 = require("react");
6
7
  /** Диапазон. */
@@ -58,7 +59,7 @@ function useClientRect(ref) {
58
59
  width: 0,
59
60
  height: 0,
60
61
  }));
61
- (0, react_1.useEffect)(() => {
62
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
62
63
  if (ref.current) {
63
64
  const element = ref.current;
64
65
  setRect({
@@ -80,19 +81,6 @@ function useClientRect(ref) {
80
81
  return rect;
81
82
  }
82
83
  exports.useClientRect = useClientRect;
83
- /**
84
- * Возвращает true если компонент смонтирован.
85
- * @return True если компонент смонтирован.
86
- */
87
- function useMounted() {
88
- const [mounted, setMounted] = (0, react_1.useState)(false);
89
- (0, react_1.useEffect)(() => {
90
- setMounted(true);
91
- return () => setMounted(false);
92
- }, []);
93
- return mounted;
94
- }
95
- exports.useMounted = useMounted;
96
84
  /**
97
85
  * Хук получения доступа к visualViewport.
98
86
  * @param handle Получит visualViewport.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/common/components/media-modal/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/common/components/media-modal/utils.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,8 @@ export declare function useImageStub(src?: string, onError?: ReactEventHandler<H
12
12
  setFailed: import("react").Dispatch<import("react").SetStateAction<boolean>>;
13
13
  handleError: ReactEventHandler<HTMLImageElement>;
14
14
  };
15
+ /**
16
+ * Возвращает true если компонент смонтирован.
17
+ * @return True если компонент смонтирован.
18
+ */
19
+ export declare function useMounted(): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useImageStub = void 0;
3
+ exports.useMounted = exports.useImageStub = void 0;
4
4
  const hooks_1 = require("@sima-land/ui-nucleons/hooks");
5
5
  const react_1 = require("react");
6
6
  /**
@@ -23,4 +23,17 @@ function useImageStub(src, onError) {
23
23
  return { failed, setFailed, handleError };
24
24
  }
25
25
  exports.useImageStub = useImageStub;
26
+ /**
27
+ * Возвращает true если компонент смонтирован.
28
+ * @return True если компонент смонтирован.
29
+ */
30
+ function useMounted() {
31
+ const [mounted, setMounted] = (0, react_1.useState)(false);
32
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
33
+ setMounted(true);
34
+ return () => setMounted(false);
35
+ }, []);
36
+ return mounted;
37
+ }
38
+ exports.useMounted = useMounted;
26
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/hooks/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,iCAAiE;AAEjE;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,GAAY,EAAE,OAA6C;IACtF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAA,iCAAyB,EAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAC5C,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/hooks/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,iCAAiE;AAEjE;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,GAAY,EAAE,OAA6C;IACtF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAA,iCAAyB,EAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAC5C,CAAC;AAhBD,oCAgBC;AAED;;;GAGG;AACH,SAAgB,UAAU;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iCAAyB,EAAC,GAAG,EAAE;QAC7B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC;AACjB,CAAC;AATD,gCASC"}
@@ -25,17 +25,50 @@ $line-gutter: 12px;
25
25
  &:not(:last-child)::after {
26
26
  content: '/';
27
27
  display: block;
28
- margin: 0 16px;
28
+ margin: 0 8px;
29
+ }
30
+ }
31
+
32
+ .breadcrumb-name {
33
+ position: relative;
34
+ &::before {
35
+ content: '';
36
+ display: block;
37
+ position: absolute;
38
+ top: -4px;
39
+ bottom: -4px;
40
+ left: 0;
41
+ right: 0;
42
+ }
43
+ &.with-siblings::before {
44
+ right: -2px;
45
+ }
46
+ &:not(.with-siblings)::before {
47
+ right: -8px;
29
48
  }
30
49
  }
31
50
 
32
51
  .toggle-icon {
33
- fill: colors.$basic-gray87;
34
- opacity: 0.3;
52
+ position: relative;
53
+ margin-left: 2px;
54
+ stroke: colors.$basic-gray87;
35
55
  display: block;
36
56
  cursor: pointer;
37
57
  &.close {
38
58
  transform: scaleY(-1);
59
+ stroke: colors.$basic-gray38;
60
+ }
61
+ &::before {
62
+ content: '';
63
+ display: block;
64
+ position: absolute;
65
+ top: -4px;
66
+ bottom: -4px;
67
+ left: 0;
68
+ right: -8px;
69
+ }
70
+ > svg {
71
+ display: block;
39
72
  }
40
73
  }
41
74
 
@@ -12,9 +12,12 @@ const link_1 = require("@sima-land/ui-nucleons/link");
12
12
  const lodash_1 = require("lodash");
13
13
  const bind_1 = __importDefault(require("classnames/bind"));
14
14
  const breadcrumbs_module_scss_1 = __importDefault(require("./breadcrumbs.module.scss"));
15
- const DownSquare_1 = __importDefault(require("@sima-land/ui-quarks/icons/16x16/Stroked/Arrows/DownSquare"));
16
15
  const on_1 = __importDefault(require("@sima-land/ui-nucleons/helpers/on"));
17
16
  const cx = bind_1.default.bind(breadcrumbs_module_scss_1.default);
17
+ /** @inheritdoc */
18
+ function DownSVG(props) {
19
+ return ((0, jsx_runtime_1.jsx)("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', ...props, children: (0, jsx_runtime_1.jsx)("path", { d: 'M4 6L8 10L12 6', strokeLinecap: 'round', strokeLinejoin: 'round' }) }));
20
+ }
18
21
  /**
19
22
  * Список "хлебных крошек".
20
23
  * @param props Свойства.
@@ -37,15 +40,15 @@ const Breadcrumb = ({ data, onSiblingsPopupOpen, isSiblingActive, }) => {
37
40
  return (0, on_1.default)(window, 'mousedown', togglePopup.bind(null, false));
38
41
  }
39
42
  }, [withPopup]);
40
- const selfName = ((0, jsx_runtime_1.jsx)(link_1.Link, { color: 'basic-gray87', href: data.url, pseudo: !data.url, children: data.name }));
41
- return ((0, jsx_runtime_1.jsxs)("div", { "data-testid": 'breadcrumb', className: cx('breadcrumb'), children: [selfName, data.siblings && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(DownSquare_1.default, { "data-testid": 'breadcrumb:siblings-opener', className: cx('toggle-icon'), onClick: () => {
43
+ const selfName = ((0, jsx_runtime_1.jsx)(link_1.Link, { color: 'basic-gray87', href: data.url, pseudo: !data.url, className: cx('breadcrumb-name', data.siblings && 'with-siblings'), children: data.name }));
44
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-testid": 'breadcrumb', className: cx('breadcrumb'), children: [selfName, data.siblings && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { "data-testid": 'breadcrumb:siblings-opener', className: cx('toggle-icon'), onClick: () => {
42
45
  togglePopup(true);
43
46
  onSiblingsPopupOpen();
44
- } }), (0, jsx_runtime_1.jsx)(CSSTransition_1.default, { in: withPopup, timeout: 200, unmountOnExit: true, classNames: {
47
+ }, children: (0, jsx_runtime_1.jsx)(DownSVG, {}) }), (0, jsx_runtime_1.jsx)(CSSTransition_1.default, { in: withPopup, timeout: 200, unmountOnExit: true, classNames: {
45
48
  enter: cx('fade-enter'),
46
49
  enterActive: cx('fade-enter-active'),
47
50
  exit: cx('fade-exit'),
48
51
  exitActive: cx('fade-exit-active'),
49
- }, children: (0, jsx_runtime_1.jsxs)(plate_1.Plate, { ref: popupRef, shadow: 'z3', rounds: 'm', className: cx('popup'), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('popup-header'), children: [selfName, (0, jsx_runtime_1.jsx)(DownSquare_1.default, { "data-testid": 'breadcrumb:siblings-closer', className: cx('toggle-icon', 'close'), onClick: () => togglePopup(false) })] }), (0, jsx_runtime_1.jsxs)("ul", { className: cx('siblings'), children: [data.siblings.state === 'fetching' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, lodash_1.times)(8).map(index => ((0, jsx_runtime_1.jsx)("div", { className: cx('sibling-placeholder') }, index))) })), data.siblings.state === 'ready' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (_a = data.siblings.data) === null || _a === void 0 ? void 0 : _a.map((sibling, index) => ((0, jsx_runtime_1.jsx)("li", { className: cx('sibling'), "data-testid": 'breadcrumb-sibling', children: isSiblingActive(sibling) ? ((0, jsx_runtime_1.jsx)("span", { className: cx('active'), children: sibling.name })) : ((0, jsx_runtime_1.jsx)(link_1.Link, { color: 'basic-gray87', className: cx('link'), href: sibling.url, children: sibling.name })) }, index))) }))] })] }) })] }))] }));
52
+ }, children: (0, jsx_runtime_1.jsxs)(plate_1.Plate, { ref: popupRef, shadow: 'z3', rounds: 'm', className: cx('popup'), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('popup-header'), children: [selfName, (0, jsx_runtime_1.jsx)("span", { "data-testid": 'breadcrumb:siblings-closer', className: cx('toggle-icon', 'close'), onClick: () => togglePopup(false), children: (0, jsx_runtime_1.jsx)(DownSVG, {}) })] }), (0, jsx_runtime_1.jsxs)("ul", { className: cx('siblings'), children: [data.siblings.state === 'fetching' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, lodash_1.times)(8).map(index => ((0, jsx_runtime_1.jsx)("div", { className: cx('sibling-placeholder') }, index))) })), data.siblings.state === 'ready' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (_a = data.siblings.data) === null || _a === void 0 ? void 0 : _a.map((sibling, index) => ((0, jsx_runtime_1.jsx)("li", { className: cx('sibling'), "data-testid": 'breadcrumb-sibling', children: isSiblingActive(sibling) ? ((0, jsx_runtime_1.jsx)("span", { className: cx('active'), children: sibling.name })) : ((0, jsx_runtime_1.jsx)(link_1.Link, { color: 'basic-gray87', className: cx('link'), href: sibling.url, children: sibling.name })) }, index))) }))] })] }) })] }))] }));
50
53
  };
51
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/desktop/components/breadcrumbs/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/desktop/components/breadcrumbs/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAmE;AACnE,yFAAiE;AACjE,wDAAqD;AACrD,sDAAmD;AACnD,mCAA+B;AAC/B,2DAAyC;AACzC,wFAA+C;AAC/C,2EAAmD;AA6BnD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,iCAAM,CAAC,CAAC;AAEnC,kBAAkB;AAClB,SAAS,OAAO,CAAC,KAAmC;IAClD,OAAO,CACL,gCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,KAAK,KAAK,YACnE,iCAAM,CAAC,EAAC,gBAAgB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GACpE,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EAAE,MAAM,GAAG,aAAa,GACpB,EAAE,EAAE,CAAC,CACtB,gCAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAe,MAAM,YAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAChC,uBAAC,UAAU,IAET,IAAI,EAAE,UAAU,EAChB,mBAAmB,EAAE,GAAG,EAAE,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,UAAU,CAAC,EAC5D,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,OAAO,CAAC,CAAC,IAH1D,KAAK,CAIV,CACH,CAAC,GACE,CACP,CAAC;AAhBW,QAAA,WAAW,eAgBtB;AAEF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,EAClB,IAAI,EACJ,mBAAmB,EACnB,eAAe,GAKhB,EAAE,EAAE;;IACH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAE1D,8EAA8E;IAC9E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE;YACb,OAAO,IAAA,YAAE,EAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAG,CACf,uBAAC,WAAI,IACH,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EACjB,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,YAEjE,IAAI,CAAC,IAAI,GACL,CACR,CAAC;IAEF,OAAO,CACL,gDAAiB,YAAY,EAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,aACtD,QAAQ,EAER,IAAI,CAAC,QAAQ,IAAI,CAChB,6DACE,gDACc,4BAA4B,EACxC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAC5B,OAAO,EAAE,GAAG,EAAE;4BACZ,WAAW,CAAC,IAAI,CAAC,CAAC;4BAClB,mBAAmB,EAAE,CAAC;wBACxB,CAAC,YAED,uBAAC,OAAO,KAAG,GACN,EAEP,uBAAC,uBAAa,IACZ,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,GAAG,EACZ,aAAa,QACb,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC;4BACvB,WAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC;4BACpC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC;4BACrB,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC;yBACnC,YAED,wBAAC,aAAK,IAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aACjE,iCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,aAC/B,QAAQ,EACT,gDACc,4BAA4B,EACxC,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,YAEjC,uBAAC,OAAO,KAAG,GACN,IACH,EAEN,gCAAI,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,aAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,IAAI,CACrC,2DACG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACrB,gCAAiB,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAA3C,KAAK,CAA0C,CAC1D,CAAC,GACD,CACJ,EAEA,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,CAClC,2DACG,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,+BAAgB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,iBAAc,oBAAoB,YACvE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC1B,iCAAM,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAG,OAAO,CAAC,IAAI,GAAQ,CACrD,CAAC,CAAC,CAAC,CACF,uBAAC,WAAI,IACH,KAAK,EAAC,cAAc,EACpB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EACrB,IAAI,EAAE,OAAO,CAAC,GAAG,EACjB,QAAQ,EAAE,OAAO,CAAC,IAAI,GACtB,CACH,IAVM,KAAK,CAWT,CACN,CAAC,GACD,CACJ,IACE,IACC,GACM,IACf,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -8,7 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const identity_1 = require("@sima-land/ui-nucleons/hooks/identity");
10
10
  const with_hint_1 = require("@sima-land/ui-nucleons/with-hint");
11
- const on_1 = __importDefault(require("@sima-land/ui-nucleons/helpers/on"));
11
+ const on_1 = require("@sima-land/ui-nucleons/helpers/on");
12
12
  const utils_1 = require("../utils");
13
13
  const bind_1 = __importDefault(require("classnames/bind"));
14
14
  const all_round_view_module_scss_1 = __importDefault(require("./all-round-view.module.scss"));
@@ -57,8 +57,13 @@ const AllRoundView = ({ photos, controls = true, state: stateProp = 'autoplay',
57
57
  return;
58
58
  }
59
59
  const offList = [
60
- (0, on_1.default)(image, 'pointerdown', e => {
60
+ (0, on_1.on)(image, 'pointerdown', e => {
61
61
  e.preventDefault();
62
+ e.stopPropagation();
63
+ // ВАЖНО: preventDefault предотвращает расфокусировку полей ввода - форсируем
64
+ if (document.activeElement instanceof HTMLElement) {
65
+ document.activeElement.blur();
66
+ }
62
67
  setState('default');
63
68
  const imageLeft = image.getBoundingClientRect().left;
64
69
  image.style.touchAction = 'none';
@@ -67,7 +72,7 @@ const AllRoundView = ({ photos, controls = true, state: stateProp = 'autoplay',
67
72
  index: indexRef.current,
68
73
  };
69
74
  }),
70
- (0, on_1.default)(window, 'pointermove', e => {
75
+ (0, on_1.on)(window, 'pointermove', e => {
71
76
  if (dragStartRef.current !== null) {
72
77
  const imageWidth = image.clientWidth;
73
78
  const imageLeft = image.getBoundingClientRect().left;
@@ -79,7 +84,7 @@ const AllRoundView = ({ photos, controls = true, state: stateProp = 'autoplay',
79
84
  setIndex(nextIndex);
80
85
  }
81
86
  }),
82
- (0, on_1.default)(window, 'pointerup', () => {
87
+ (0, on_1.on)(window, 'pointerup', () => {
83
88
  dragStartRef.current = null;
84
89
  image.style.touchAction = '';
85
90
  }),