@diplodoc/client 2.2.0-beta.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/build/client/app.js +1 -1
- package/build/client/app.js.map +1 -1
- package/build/client/react.js +1 -1
- package/build/client/react.js.map +1 -1
- package/build/client/vendor.css +6 -14
- package/build/client/vendor.css.map +1 -1
- package/build/client/vendor.js +1 -1
- package/build/client/vendor.js.map +1 -1
- package/build/client/vendor.rtl.css +6 -14
- package/build/server/app.js +4 -4
- package/build/server/vendor.js +214 -185
- package/build/server/vendor.js.map +1 -1
- package/package.json +2 -2
package/build/server/vendor.js
CHANGED
|
@@ -49,8 +49,8 @@ var lib = __webpack_require__(3614);
|
|
|
49
49
|
var usePopupState = __webpack_require__(806);
|
|
50
50
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
|
|
51
51
|
var models = __webpack_require__(8184);
|
|
52
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js +
|
|
53
|
-
var utils = __webpack_require__(
|
|
52
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 61 modules
|
|
53
|
+
var utils = __webpack_require__(4957);
|
|
54
54
|
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/Control/Control.css
|
|
55
55
|
// extracted by mini-css-extract-plugin
|
|
56
56
|
|
|
@@ -191,8 +191,8 @@ var useDirection = __webpack_require__(315);
|
|
|
191
191
|
var Popup = __webpack_require__(8234);
|
|
192
192
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/usePopper.js
|
|
193
193
|
var usePopper = __webpack_require__(6591);
|
|
194
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js +
|
|
195
|
-
var utils = __webpack_require__(
|
|
194
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 61 modules
|
|
195
|
+
var utils = __webpack_require__(4957);
|
|
196
196
|
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/Subscribe/utils.js
|
|
197
197
|
// src/components/Subscribe/utils.ts
|
|
198
198
|
|
|
@@ -11311,7 +11311,6 @@ class AutoSizer extends react.Component {
|
|
|
11311
11311
|
defaultWidth,
|
|
11312
11312
|
disableHeight = false,
|
|
11313
11313
|
disableWidth = false,
|
|
11314
|
-
doNotBailOutOnEmptyChildren = false,
|
|
11315
11314
|
nonce,
|
|
11316
11315
|
onResize,
|
|
11317
11316
|
style = {},
|
|
@@ -11352,9 +11351,6 @@ class AutoSizer extends react.Component {
|
|
|
11352
11351
|
childParams.width = width;
|
|
11353
11352
|
childParams.scaledWidth = scaledWidth;
|
|
11354
11353
|
}
|
|
11355
|
-
if (doNotBailOutOnEmptyChildren) {
|
|
11356
|
-
bailoutOnChildren = false;
|
|
11357
|
-
}
|
|
11358
11354
|
return (0,react.createElement)(tagName, {
|
|
11359
11355
|
ref: this._setRef,
|
|
11360
11356
|
style: {
|
|
@@ -15082,8 +15078,8 @@ var useDirection = __webpack_require__(315);
|
|
|
15082
15078
|
var Popup = __webpack_require__(8234);
|
|
15083
15079
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/usePopper.js
|
|
15084
15080
|
var usePopper = __webpack_require__(6591);
|
|
15085
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js +
|
|
15086
|
-
var utils = __webpack_require__(
|
|
15081
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 61 modules
|
|
15082
|
+
var utils = __webpack_require__(4957);
|
|
15087
15083
|
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/Feedback/controls/DislikeVariantsPopup.js
|
|
15088
15084
|
var __defProp = Object.defineProperty;
|
|
15089
15085
|
var __defProps = Object.defineProperties;
|
|
@@ -18544,7 +18540,7 @@ var DocumentType = /* @__PURE__ */ ((DocumentType2) => {
|
|
|
18544
18540
|
|
|
18545
18541
|
/***/ }),
|
|
18546
18542
|
|
|
18547
|
-
/***/
|
|
18543
|
+
/***/ 4957:
|
|
18548
18544
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
18549
18545
|
|
|
18550
18546
|
"use strict";
|
|
@@ -18753,6 +18749,48 @@ var TocItem_default = TocItem;
|
|
|
18753
18749
|
|
|
18754
18750
|
//# sourceMappingURL=TocItem.js.map
|
|
18755
18751
|
|
|
18752
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/useDirection.js + 1 modules
|
|
18753
|
+
var useDirection = __webpack_require__(315);
|
|
18754
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.js + 1 modules
|
|
18755
|
+
var Label = __webpack_require__(2768);
|
|
18756
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Popover/Popover.js + 10 modules
|
|
18757
|
+
var Popover = __webpack_require__(7820);
|
|
18758
|
+
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/TocLable/TocLabel.css
|
|
18759
|
+
// extracted by mini-css-extract-plugin
|
|
18760
|
+
|
|
18761
|
+
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/TocLable/TocLabel.js
|
|
18762
|
+
// src/components/TocLable/TocLabel.tsx
|
|
18763
|
+
|
|
18764
|
+
|
|
18765
|
+
|
|
18766
|
+
|
|
18767
|
+
var TocLabel_b = (0,lib/* default */.A)("dc-toc-label");
|
|
18768
|
+
var TocLabel = ({ label }) => {
|
|
18769
|
+
const direction = (0,useDirection/* useDirection */.j)();
|
|
18770
|
+
let labelElement = null;
|
|
18771
|
+
if (label == null ? void 0 : label.title) {
|
|
18772
|
+
const hasDescription = Boolean(label.description);
|
|
18773
|
+
labelElement = /* @__PURE__ */ react.createElement(Label/* Label */.J, { size: "xs", theme: label.theme, className: TocLabel_b({ offset: !hasDescription }) }, label.title);
|
|
18774
|
+
if (hasDescription) {
|
|
18775
|
+
const placement = direction === "rtl" ? "left" : "right";
|
|
18776
|
+
labelElement = /* @__PURE__ */ react.createElement(
|
|
18777
|
+
Popover/* Popover */.A,
|
|
18778
|
+
{
|
|
18779
|
+
content: label.description,
|
|
18780
|
+
placement,
|
|
18781
|
+
size: "s",
|
|
18782
|
+
className: TocLabel_b({ offset: true })
|
|
18783
|
+
},
|
|
18784
|
+
labelElement
|
|
18785
|
+
);
|
|
18786
|
+
}
|
|
18787
|
+
}
|
|
18788
|
+
return labelElement;
|
|
18789
|
+
};
|
|
18790
|
+
var TocLabel_default = TocLabel;
|
|
18791
|
+
|
|
18792
|
+
//# sourceMappingURL=TocLabel.js.map
|
|
18793
|
+
|
|
18756
18794
|
;// CONCATENATED MODULE: ./node_modules/@diplodoc/components/build/esm/components/Toc/TocItemRegistry.js
|
|
18757
18795
|
var TocItemRegistry_defProp = Object.defineProperty;
|
|
18758
18796
|
var TocItemRegistry_defNormalProp = (obj, key, value) => key in obj ? TocItemRegistry_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -18861,6 +18899,7 @@ var Toc_publicField = (obj, key, value) => {
|
|
|
18861
18899
|
|
|
18862
18900
|
|
|
18863
18901
|
|
|
18902
|
+
|
|
18864
18903
|
var Toc_b = (0,lib/* default */.A)("dc-toc");
|
|
18865
18904
|
var HEADER_DEFAULT_HEIGHT = 0;
|
|
18866
18905
|
function zip(array, fill) {
|
|
@@ -19023,7 +19062,7 @@ var Toc = class extends react.Component {
|
|
|
19023
19062
|
return /* @__PURE__ */ react.createElement("div", { className: Toc_b("empty") }, text);
|
|
19024
19063
|
}
|
|
19025
19064
|
renderTop() {
|
|
19026
|
-
const { router, title, href, tocTitleIcon, hideTocHeader, singlePage } = this.props;
|
|
19065
|
+
const { router, title, href, tocTitleIcon, hideTocHeader, singlePage, label } = this.props;
|
|
19027
19066
|
const { contentScrolled } = this.state;
|
|
19028
19067
|
let topHeader;
|
|
19029
19068
|
if (hideTocHeader) {
|
|
@@ -19043,7 +19082,7 @@ var Toc = class extends react.Component {
|
|
|
19043
19082
|
} else {
|
|
19044
19083
|
topHeader = /* @__PURE__ */ react.createElement("div", { className: Toc_b("top-header") }, /* @__PURE__ */ react.createElement(HTML, null, title));
|
|
19045
19084
|
}
|
|
19046
|
-
return /* @__PURE__ */ react.createElement("div", { className: Toc_b("top", { scrolled: contentScrolled }), id: this.tocTopId }, tocTitleIcon ? /* @__PURE__ */ react.createElement("div", { className: Toc_b("top-header-icon"), "aria-hidden": "true" }, tocTitleIcon) : null, topHeader);
|
|
19085
|
+
return /* @__PURE__ */ react.createElement("div", { className: Toc_b("top", { scrolled: contentScrolled }), id: this.tocTopId }, tocTitleIcon ? /* @__PURE__ */ react.createElement("div", { className: Toc_b("top-header-icon"), "aria-hidden": "true" }, tocTitleIcon) : null, topHeader, label ? /* @__PURE__ */ react.createElement(TocLabel_default, { label }) : null);
|
|
19047
19086
|
}
|
|
19048
19087
|
renderBottom() {
|
|
19049
19088
|
const { singlePage, onChangeSinglePage, pdfLink } = this.props;
|
|
@@ -24705,8 +24744,6 @@ var cn = __webpack_require__(9445);
|
|
|
24705
24744
|
var blocks = __webpack_require__(4174);
|
|
24706
24745
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/VideoBlock/VideoBlock.js + 4 modules
|
|
24707
24746
|
var VideoBlock = __webpack_require__(1845);
|
|
24708
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/context/localeContext/localeContext.js
|
|
24709
|
-
var localeContext = __webpack_require__(7599);
|
|
24710
24747
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/utils/addComponentKeysets.js + 8 modules
|
|
24711
24748
|
var addComponentKeysets = __webpack_require__(892);
|
|
24712
24749
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/Media/DataLens/i18n/en.json
|
|
@@ -24734,14 +24771,12 @@ function unifyDataLensToObject(dataLens) {
|
|
|
24734
24771
|
|
|
24735
24772
|
|
|
24736
24773
|
|
|
24737
|
-
|
|
24738
24774
|
const b = (0,cn/* block */.om)('media-component-data-lens');
|
|
24739
24775
|
const DataLens = (props) => {
|
|
24740
24776
|
const { dataLens } = props;
|
|
24741
24777
|
const dataLensData = unifyDataLensToObject(dataLens);
|
|
24742
|
-
const locale = (0,react.useContext)(localeContext/* LocaleContext */.U);
|
|
24743
24778
|
return dataLens ? (react.createElement("div", { className: b('wrap') },
|
|
24744
|
-
react.createElement("iframe", { src: `https://datalens.yandex/${dataLensData.id}?_embedded=1&_theme=${dataLensData.theme}
|
|
24779
|
+
react.createElement("iframe", { src: `https://datalens.yandex/${dataLensData.id}?_embedded=1&_theme=${dataLensData.theme}`, className: b('iframe'), loading: "lazy", title: i18n('iframe-title'), frameBorder: 0 }))) : null;
|
|
24745
24780
|
};
|
|
24746
24781
|
/* harmony default export */ const DataLens_DataLens = (DataLens);
|
|
24747
24782
|
|
|
@@ -30310,7 +30345,7 @@ const BREAKPOINTS = {
|
|
|
30310
30345
|
|
|
30311
30346
|
/***/ }),
|
|
30312
30347
|
|
|
30313
|
-
/***/
|
|
30348
|
+
/***/ 3233:
|
|
30314
30349
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
30315
30350
|
|
|
30316
30351
|
"use strict";
|
|
@@ -30484,108 +30519,8 @@ function BackLink(props) {
|
|
|
30484
30519
|
react.createElement("span", null, title)));
|
|
30485
30520
|
}
|
|
30486
30521
|
|
|
30487
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/
|
|
30488
|
-
var
|
|
30489
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/hooks/useActionHandlers/useActionHandlers.js
|
|
30490
|
-
var useActionHandlers = __webpack_require__(5926);
|
|
30491
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/ClipboardIcon/ClipboardIcon.js + 3 modules
|
|
30492
|
-
var ClipboardIcon = __webpack_require__(9671);
|
|
30493
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/CopyToClipboard/CopyToClipboard.js
|
|
30494
|
-
var CopyToClipboard = __webpack_require__(7732);
|
|
30495
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/utils/cn.js
|
|
30496
|
-
var utils_cn = __webpack_require__(9356);
|
|
30497
|
-
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.css
|
|
30498
|
-
// extracted by mini-css-extract-plugin
|
|
30499
|
-
|
|
30500
|
-
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.js
|
|
30501
|
-
|
|
30502
|
-
|
|
30503
|
-
|
|
30504
|
-
|
|
30505
|
-
|
|
30506
|
-
|
|
30507
|
-
|
|
30508
|
-
|
|
30509
|
-
|
|
30510
|
-
const Label_b = (0,utils_cn/* block */.om)('label');
|
|
30511
|
-
const sizeMap = {
|
|
30512
|
-
xs: { copyIconSize: 12, closeIconSize: 12, buttonSize: 'xs' },
|
|
30513
|
-
s: { copyIconSize: 14, closeIconSize: 14, buttonSize: 's' },
|
|
30514
|
-
m: { copyIconSize: 16, closeIconSize: 16, buttonSize: 'm' },
|
|
30515
|
-
};
|
|
30516
|
-
const commonActionButtonProps = {
|
|
30517
|
-
pin: 'brick-round',
|
|
30518
|
-
className: Label_b('addon', {
|
|
30519
|
-
side: 'right',
|
|
30520
|
-
interactive: true,
|
|
30521
|
-
}),
|
|
30522
|
-
};
|
|
30523
|
-
const Label = react.forwardRef(function Label(props, ref) {
|
|
30524
|
-
const { type = 'default', theme = 'normal', size = 'xs', icon, children, onCloseClick, className, disabled, copyText, closeButtonLabel, copyButtonLabel, interactive = false, value, onCopy, onClick, qa, } = props;
|
|
30525
|
-
const actionButtonRef = react.useRef(null);
|
|
30526
|
-
const hasContent = Boolean(children !== '' && react.Children.count(children) > 0);
|
|
30527
|
-
const typeClose = type === 'close' && hasContent;
|
|
30528
|
-
const typeCopy = type === 'copy' && hasContent;
|
|
30529
|
-
const hasOnClick = Boolean(onClick);
|
|
30530
|
-
const hasCopy = Boolean(typeCopy && copyText);
|
|
30531
|
-
const isInteractive = (hasOnClick || hasCopy || interactive) && !disabled;
|
|
30532
|
-
const { copyIconSize, closeIconSize, buttonSize } = sizeMap[size];
|
|
30533
|
-
const leftIcon = icon && (react.createElement("div", { className: Label_b('addon', { side: hasContent ? 'left' : undefined }) }, icon));
|
|
30534
|
-
const content = hasContent && (react.createElement("div", { className: Label_b('text') },
|
|
30535
|
-
react.createElement("div", { className: Label_b('content') }, children),
|
|
30536
|
-
Boolean(value) && (react.createElement("div", { className: Label_b('value') },
|
|
30537
|
-
react.createElement("div", { className: Label_b('separator') }, ":"),
|
|
30538
|
-
react.createElement("div", { className: Label_b('key') }, value)))));
|
|
30539
|
-
const handleCloseClick = (event) => {
|
|
30540
|
-
if (hasOnClick) {
|
|
30541
|
-
/* preventing event from bubbling */
|
|
30542
|
-
event.stopPropagation();
|
|
30543
|
-
}
|
|
30544
|
-
if (onCloseClick) {
|
|
30545
|
-
onCloseClick(event);
|
|
30546
|
-
}
|
|
30547
|
-
};
|
|
30548
|
-
const handleClick = (event) => {
|
|
30549
|
-
var _a;
|
|
30550
|
-
/**
|
|
30551
|
-
* Triggered only if the handler was triggered on the element itself, and not on the actionButton
|
|
30552
|
-
* It is necessary that keyboard navigation works correctly
|
|
30553
|
-
*/
|
|
30554
|
-
if (!((_a = actionButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
30555
|
-
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
30556
|
-
}
|
|
30557
|
-
};
|
|
30558
|
-
const { onKeyDown } = (0,useActionHandlers/* useActionHandlers */.N)(handleClick);
|
|
30559
|
-
const renderLabel = (status) => {
|
|
30560
|
-
let actionButton;
|
|
30561
|
-
if (typeCopy) {
|
|
30562
|
-
actionButton = (react.createElement(Button/* Button */.$, Object.assign({ ref: actionButtonRef, size: buttonSize, extraProps: { 'aria-label': copyButtonLabel || undefined } }, commonActionButtonProps),
|
|
30563
|
-
react.createElement(Button/* Button */.$.Icon, null,
|
|
30564
|
-
react.createElement(ClipboardIcon/* ClipboardIcon */.u, { status: status || 'pending', size: copyIconSize }))));
|
|
30565
|
-
}
|
|
30566
|
-
else if (typeClose) {
|
|
30567
|
-
actionButton = (react.createElement(Button/* Button */.$, Object.assign({ ref: actionButtonRef, onClick: onCloseClick ? handleCloseClick : undefined, size: buttonSize, extraProps: { 'aria-label': closeButtonLabel || undefined } }, commonActionButtonProps),
|
|
30568
|
-
react.createElement(Icon/* Icon */.I, { size: closeIconSize, data: Xmark/* default */.A })));
|
|
30569
|
-
}
|
|
30570
|
-
return (react.createElement("div", { ref: ref, role: hasOnClick ? 'button' : undefined, tabIndex: hasOnClick ? 0 : undefined, onClick: hasOnClick ? handleClick : undefined, onKeyDown: hasOnClick ? onKeyDown : undefined, className: Label_b({
|
|
30571
|
-
theme,
|
|
30572
|
-
size,
|
|
30573
|
-
type,
|
|
30574
|
-
'is-interactive': isInteractive,
|
|
30575
|
-
'has-right-addon': Boolean(actionButton),
|
|
30576
|
-
'has-left-addon': Boolean(leftIcon),
|
|
30577
|
-
disabled,
|
|
30578
|
-
}, className), "data-qa": qa },
|
|
30579
|
-
leftIcon,
|
|
30580
|
-
content,
|
|
30581
|
-
actionButton));
|
|
30582
|
-
};
|
|
30583
|
-
if (hasCopy && copyText && !hasOnClick) {
|
|
30584
|
-
return (react.createElement(CopyToClipboard/* CopyToClipboard */.$, { text: copyText, onCopy: onCopy, timeout: 1000 }, (status) => renderLabel(status)));
|
|
30585
|
-
}
|
|
30586
|
-
return renderLabel();
|
|
30587
|
-
});
|
|
30588
|
-
|
|
30522
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.js + 1 modules
|
|
30523
|
+
var Label = __webpack_require__(2768);
|
|
30589
30524
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/FileLink/FileLink.css
|
|
30590
30525
|
// extracted by mini-css-extract-plugin
|
|
30591
30526
|
|
|
@@ -30634,7 +30569,7 @@ const FileLink = (props) => {
|
|
|
30634
30569
|
const labelTheme = (FileExtensionThemes[fileExt] || 'unknown');
|
|
30635
30570
|
const labelSize = LabelSizeMap[textSize];
|
|
30636
30571
|
return (react.createElement("div", { className: FileLink_b({ ext: fileExt, type, size: textSize, theme }, className) },
|
|
30637
|
-
react.createElement(Label, { className: FileLink_b('file-label'), size: labelSize, theme: labelTheme }, fileExt),
|
|
30572
|
+
react.createElement(Label/* Label */.J, { className: FileLink_b('file-label'), size: labelSize, theme: labelTheme }, fileExt),
|
|
30638
30573
|
react.createElement("div", { className: FileLink_b('link') },
|
|
30639
30574
|
react.createElement("a", Object.assign({ href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle }, (0,utils_url/* getLinkProps */.bI)(href, hostname), extraProps), text))));
|
|
30640
30575
|
};
|
|
@@ -30892,7 +30827,7 @@ const themeMap = {
|
|
|
30892
30827
|
'normal-dark': 'outlined-contrast',
|
|
30893
30828
|
'pseudo-special': 'outlined-contrast',
|
|
30894
30829
|
};
|
|
30895
|
-
const
|
|
30830
|
+
const sizeMap = {
|
|
30896
30831
|
xs: 's',
|
|
30897
30832
|
ns: 's',
|
|
30898
30833
|
s: 'm',
|
|
@@ -30903,7 +30838,7 @@ const utils_sizeMap = {
|
|
|
30903
30838
|
promo: 'xl',
|
|
30904
30839
|
};
|
|
30905
30840
|
const toCommonView = (theme) => { var _a; return (_a = themeMap[theme]) !== null && _a !== void 0 ? _a : theme; };
|
|
30906
|
-
const toCommonSize = (size) => { var _a; return (_a =
|
|
30841
|
+
const toCommonSize = (size) => { var _a; return (_a = sizeMap[size]) !== null && _a !== void 0 ? _a : size; };
|
|
30907
30842
|
|
|
30908
30843
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/Button/Button.css
|
|
30909
30844
|
// extracted by mini-css-extract-plugin
|
|
@@ -31269,6 +31204,8 @@ const PromoFeaturesBlock = (props) => {
|
|
|
31269
31204
|
};
|
|
31270
31205
|
/* harmony default export */ const PromoFeaturesBlock_PromoFeaturesBlock = (PromoFeaturesBlock);
|
|
31271
31206
|
|
|
31207
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/hooks/useActionHandlers/useActionHandlers.js
|
|
31208
|
+
var useActionHandlers = __webpack_require__(5926);
|
|
31272
31209
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/ToggleArrow/ToggleArrow.js + 3 modules
|
|
31273
31210
|
var ToggleArrow = __webpack_require__(2789);
|
|
31274
31211
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/hooks/useHeightCalculator.js
|
|
@@ -31800,15 +31737,13 @@ const TabsBlock = ({ items, title, description, animated, tabsColSizes, centered
|
|
|
31800
31737
|
}, [minImageHeight]);
|
|
31801
31738
|
const onSelectTab = (0,react.useCallback)((id, e) => {
|
|
31802
31739
|
setActiveTab(id);
|
|
31740
|
+
handleImageHeight();
|
|
31803
31741
|
e.currentTarget.scrollIntoView({
|
|
31804
31742
|
inline: 'center',
|
|
31805
31743
|
behavior: 'smooth',
|
|
31806
31744
|
block: 'nearest',
|
|
31807
31745
|
});
|
|
31808
|
-
}, []);
|
|
31809
|
-
(0,react.useEffect)(() => {
|
|
31810
|
-
handleImageHeight();
|
|
31811
|
-
}, [activeTab, handleImageHeight]);
|
|
31746
|
+
}, [handleImageHeight]);
|
|
31812
31747
|
if (activeTabData) {
|
|
31813
31748
|
const themedImage = (0,utils_theme/* getThemedValue */.d)(activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.image, theme);
|
|
31814
31749
|
imageProps = themedImage && (0,utils/* getMediaImage */.w)(themedImage);
|
|
@@ -31826,9 +31761,8 @@ const TabsBlock = ({ items, title, description, animated, tabsColSizes, centered
|
|
|
31826
31761
|
all: types/* GridColumnOrderClasses */.lB.Last,
|
|
31827
31762
|
md: types/* GridColumnOrderClasses */.lB.First,
|
|
31828
31763
|
}, className: Tabs_b('col', { centered: centered }) },
|
|
31829
|
-
(activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.media) && (react.createElement("div", {
|
|
31830
|
-
react.createElement(
|
|
31831
|
-
react.createElement(Media/* default */.A, Object.assign({}, (0,utils_theme/* getThemedValue */.d)(activeTabData.media, theme), { key: activeTab, className: Tabs_b('media', { border }), playVideo: play, height: mediaVideoHeight || undefined, onImageLoad: handleImageHeight }))))),
|
|
31764
|
+
react.createElement("div", { style: { minHeight: mediaVideoHeight || minImageHeight } }, (activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.media) && (react.createElement("div", { ref: ref },
|
|
31765
|
+
react.createElement(Media/* default */.A, Object.assign({}, (0,utils_theme/* getThemedValue */.d)(activeTabData.media, theme), { key: activeTab, className: Tabs_b('media', { border }), playVideo: play, height: mediaVideoHeight || undefined, onImageLoad: handleImageHeight }))))),
|
|
31832
31766
|
imageProps && (react.createElement(react.Fragment, null,
|
|
31833
31767
|
react.createElement(FullscreenImage/* default */.A, Object.assign({}, imageProps, { imageClassName: Tabs_b('image', { border }) })))),
|
|
31834
31768
|
(activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.caption) && (react.createElement("p", { className: Tabs_b('caption'), id: captionId },
|
|
@@ -32724,8 +32658,6 @@ const YandexForm = (props) => {
|
|
|
32724
32658
|
};
|
|
32725
32659
|
/* harmony default export */ const YandexForm_YandexForm = (YandexForm);
|
|
32726
32660
|
|
|
32727
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/context/formsContext/FormsContext.js
|
|
32728
|
-
var FormsContext = __webpack_require__(9629);
|
|
32729
32661
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/models/guards.js
|
|
32730
32662
|
|
|
32731
32663
|
function isBlock(block) {
|
|
@@ -32960,10 +32892,8 @@ HubspotForm.displayName = 'HubspotForm';
|
|
|
32960
32892
|
|
|
32961
32893
|
|
|
32962
32894
|
|
|
32963
|
-
|
|
32964
32895
|
const InnerForm = (props) => {
|
|
32965
32896
|
const { formData, onContentLoad, className } = props;
|
|
32966
|
-
const formsConfig = (0,react.useContext)(FormsContext/* FormsContext */.Z);
|
|
32967
32897
|
(0,react.useEffect)(() => {
|
|
32968
32898
|
if (isHubspotDataForm(formData)) {
|
|
32969
32899
|
onContentLoad();
|
|
@@ -32972,13 +32902,13 @@ const InnerForm = (props) => {
|
|
|
32972
32902
|
if (isYandexDataForm(formData)) {
|
|
32973
32903
|
const _a = formData.yandex, { onLoad } = _a, rest = (0,tslib_es6/* __rest */.Tt)(_a, ["onLoad"]);
|
|
32974
32904
|
return (react.createElement("div", { className: className },
|
|
32975
|
-
react.createElement(YandexForm_YandexForm, Object.assign({},
|
|
32905
|
+
react.createElement(YandexForm_YandexForm, Object.assign({}, rest, { onLoad: () => {
|
|
32976
32906
|
onContentLoad();
|
|
32977
32907
|
onLoad === null || onLoad === void 0 ? void 0 : onLoad();
|
|
32978
32908
|
} }))));
|
|
32979
32909
|
}
|
|
32980
32910
|
if (isHubspotDataForm(formData)) {
|
|
32981
|
-
return
|
|
32911
|
+
return react.createElement(sub_blocks_HubspotForm, Object.assign({ createDOMElement: true }, formData.hubspot));
|
|
32982
32912
|
}
|
|
32983
32913
|
return null;
|
|
32984
32914
|
};
|
|
@@ -33563,7 +33493,7 @@ const PriceDescription = (props) => {
|
|
|
33563
33493
|
const labelTitle = label.text || (labelsDefaultText && labelsDefaultText[label.color]);
|
|
33564
33494
|
const labelColor = (LabelColorsMapping[label.color] || 'unknown');
|
|
33565
33495
|
const labelSize = PriceDescription_LabelSizeMap[label.size || descriptionSize];
|
|
33566
|
-
return (react.createElement(Label, { className: PriceDescription_b('label', { size: labelSize }), theme: labelColor, size: labelSize }, labelTitle));
|
|
33496
|
+
return (react.createElement(Label/* Label */.J, { className: PriceDescription_b('label', { size: labelSize }), theme: labelColor, size: labelSize }, labelTitle));
|
|
33567
33497
|
}, [descriptionSize, label, labelsDefaultText]);
|
|
33568
33498
|
const titleElement = (0,react.useMemo)(() => {
|
|
33569
33499
|
return (react.createElement("div", { className: PriceDescription_b('title', { size: titleSize }) },
|
|
@@ -33793,24 +33723,21 @@ const showFullscreenIcon = ({ youtube }) => !youtube;
|
|
|
33793
33723
|
|
|
33794
33724
|
|
|
33795
33725
|
|
|
33796
|
-
|
|
33797
33726
|
const LayoutItem_b = (0,cn/* block */.om)('layout-item');
|
|
33798
33727
|
const LayoutItem = (_a) => {
|
|
33799
33728
|
var _b = _a.content, { links, buttons } = _b, content = (0,tslib_es6/* __rest */.Tt)(_b, ["links", "buttons"]), { metaInfo, media, border, fullscreen, icon, className, analyticsEvents, controlPosition = 'content' } = _a;
|
|
33800
33729
|
const normalizedLinks = (0,react.useMemo)(() => getLayoutItemLinks(links), [links]);
|
|
33801
33730
|
const areControlsInFooter = controlPosition === 'footer';
|
|
33802
|
-
const theme = useTheme();
|
|
33803
33731
|
const contentProps = Object.assign(Object.assign(Object.assign({}, content), (areControlsInFooter ? {} : { links: normalizedLinks, buttons })), { size: 's', colSizes: { all: 12, md: 12 } });
|
|
33804
33732
|
const titleId = (0,useUniqId/* useUniqId */.u)();
|
|
33805
33733
|
const renderMedia = () => {
|
|
33806
33734
|
if (!media) {
|
|
33807
33735
|
return null;
|
|
33808
33736
|
}
|
|
33809
|
-
|
|
33810
|
-
return fullscreen && hasFullscreen(themedMedia) ? (react.createElement(FullscreenMedia/* default */.A, { showFullscreenIcon: showFullscreenIcon(themedMedia) }, (_a = {}) => {
|
|
33737
|
+
return fullscreen && hasFullscreen(media) ? (react.createElement(FullscreenMedia/* default */.A, { showFullscreenIcon: showFullscreenIcon(media) }, (_a = {}) => {
|
|
33811
33738
|
var { className: mediaClassName, fullscreen: _fullscreen } = _a, fullscreenMediaProps = (0,tslib_es6/* __rest */.Tt)(_a, ["className", "fullscreen"]);
|
|
33812
|
-
return (react.createElement(Media/* default */.A, Object.assign({},
|
|
33813
|
-
})) : (react.createElement(Media/* default */.A, Object.assign({},
|
|
33739
|
+
return (react.createElement(Media/* default */.A, Object.assign({}, media, fullscreenMediaProps, { className: LayoutItem_b('media', { border }, mediaClassName), analyticsEvents: analyticsEvents })));
|
|
33740
|
+
})) : (react.createElement(Media/* default */.A, Object.assign({}, media, { className: LayoutItem_b('media', { border }), analyticsEvents: analyticsEvents })));
|
|
33814
33741
|
};
|
|
33815
33742
|
return (react.createElement("div", { className: LayoutItem_b(null, className) },
|
|
33816
33743
|
renderMedia(),
|
|
@@ -34222,6 +34149,8 @@ const Logo = (props) => {
|
|
|
34222
34149
|
};
|
|
34223
34150
|
/* harmony default export */ const Logo_Logo = (Logo);
|
|
34224
34151
|
|
|
34152
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/icons/esm/Xmark.js
|
|
34153
|
+
var Xmark = __webpack_require__(3168);
|
|
34225
34154
|
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/icons/esm/Bars.js
|
|
34226
34155
|
|
|
34227
34156
|
const Bars = (props) => (react.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", viewBox: "0 0 16 16" }, props),
|
|
@@ -34372,7 +34301,7 @@ const MobileNavigation = (_a) => {
|
|
|
34372
34301
|
|
|
34373
34302
|
const Navigation_b = (0,cn/* block */.om)('navigation');
|
|
34374
34303
|
const Navigation = ({ data, logo, className }) => {
|
|
34375
|
-
const { leftItems, rightItems, iconSize = 20, withBorder = false
|
|
34304
|
+
const { leftItems, rightItems, iconSize = 20, withBorder = false } = data;
|
|
34376
34305
|
const [isSidebarOpened, setIsSidebarOpened] = (0,react.useState)(false);
|
|
34377
34306
|
const [activeItemId, setActiveItemId] = (0,react.useState)(undefined);
|
|
34378
34307
|
const [showBorder, setShowBorder] = (0,react.useState)(withBorder);
|
|
@@ -34384,8 +34313,6 @@ const Navigation = ({ data, logo, className }) => {
|
|
|
34384
34313
|
};
|
|
34385
34314
|
const onSidebarOpenedChange = (isOpen) => setIsSidebarOpened(isOpen);
|
|
34386
34315
|
(0,react.useEffect)(() => {
|
|
34387
|
-
if (!withBorderOnScroll)
|
|
34388
|
-
return () => { };
|
|
34389
34316
|
const showBorderOnScroll = () => {
|
|
34390
34317
|
if (!showBorder) {
|
|
34391
34318
|
setShowBorder(window.scrollY > 0);
|
|
@@ -34507,17 +34434,15 @@ const PageConstructor = (props) => {
|
|
|
34507
34434
|
/* harmony export */ });
|
|
34508
34435
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540);
|
|
34509
34436
|
/* harmony import */ var _components_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8592);
|
|
34510
|
-
/* harmony import */ var
|
|
34511
|
-
/* harmony import */ var
|
|
34512
|
-
/* harmony import */ var
|
|
34513
|
-
/* harmony import */ var
|
|
34514
|
-
/* harmony import */ var _context_locationContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8827);
|
|
34437
|
+
/* harmony import */ var _context_analyticsContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5487);
|
|
34438
|
+
/* harmony import */ var _context_imageContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9017);
|
|
34439
|
+
/* harmony import */ var _context_localeContext__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7599);
|
|
34440
|
+
/* harmony import */ var _context_locationContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8827);
|
|
34515
34441
|
/* harmony import */ var _context_mapsContext_mapsContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8095);
|
|
34516
|
-
/* harmony import */ var
|
|
34517
|
-
/* harmony import */ var
|
|
34518
|
-
/* harmony import */ var
|
|
34519
|
-
/* harmony import */ var
|
|
34520
|
-
|
|
34442
|
+
/* harmony import */ var _context_mobileContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2895);
|
|
34443
|
+
/* harmony import */ var _context_projectSettingsContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5032);
|
|
34444
|
+
/* harmony import */ var _context_ssrContext__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3983);
|
|
34445
|
+
/* harmony import */ var _context_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9516);
|
|
34521
34446
|
|
|
34522
34447
|
|
|
34523
34448
|
|
|
@@ -34530,19 +34455,18 @@ const PageConstructor = (props) => {
|
|
|
34530
34455
|
|
|
34531
34456
|
|
|
34532
34457
|
const PageConstructorProvider = (props) => {
|
|
34533
|
-
const { isMobile, mapsContext = _context_mapsContext_mapsContext__WEBPACK_IMPORTED_MODULE_1__/* .initialMapValue */ .Ul, locale = {}, location = {}, analytics = {}, ssrConfig = {}, projectSettings = {}, theme = _components_constants__WEBPACK_IMPORTED_MODULE_2__/* .DEFAULT_THEME */ .SS, children, image = {},
|
|
34458
|
+
const { isMobile, mapsContext = _context_mapsContext_mapsContext__WEBPACK_IMPORTED_MODULE_1__/* .initialMapValue */ .Ul, locale = {}, location = {}, analytics = {}, ssrConfig = {}, projectSettings = {}, theme = _components_constants__WEBPACK_IMPORTED_MODULE_2__/* .DEFAULT_THEME */ .SS, children, image = {}, } = props;
|
|
34534
34459
|
/* eslint-disable react/jsx-key */
|
|
34535
34460
|
const context = [
|
|
34536
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34537
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34538
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34539
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34540
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34541
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34461
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_theme__WEBPACK_IMPORTED_MODULE_3__/* .ThemeContext */ .D.Provider, { value: { theme } }),
|
|
34462
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_projectSettingsContext__WEBPACK_IMPORTED_MODULE_4__/* .ProjectSettingsContext */ .m.Provider, { value: projectSettings }),
|
|
34463
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_localeContext__WEBPACK_IMPORTED_MODULE_5__/* .LocaleContext */ .U.Provider, { value: locale }),
|
|
34464
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_imageContext__WEBPACK_IMPORTED_MODULE_6__/* .ImageContext */ .Z.Provider, { value: image }),
|
|
34465
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_locationContext__WEBPACK_IMPORTED_MODULE_7__/* .LocationContext */ .d.Provider, { value: location }),
|
|
34466
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_mobileContext__WEBPACK_IMPORTED_MODULE_8__/* .MobileContext */ .G.Provider, { value: Boolean(isMobile) }),
|
|
34542
34467
|
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_mapsContext_mapsContext__WEBPACK_IMPORTED_MODULE_1__/* .MapsContext */ .xQ.Provider, { value: mapsContext }),
|
|
34543
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34544
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
34545
|
-
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_ssrContext__WEBPACK_IMPORTED_MODULE_11__/* .SSRContext */ .Y.Provider, { value: { isServer: ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.isServer } }),
|
|
34468
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_analyticsContext__WEBPACK_IMPORTED_MODULE_9__/* .AnalyticsContext */ .I.Provider, { value: analytics }),
|
|
34469
|
+
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_context_ssrContext__WEBPACK_IMPORTED_MODULE_10__/* .SSRContext */ .Y.Provider, { value: { isServer: ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.isServer } }),
|
|
34546
34470
|
].reduceRight((prev, provider) => react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(provider, {}, prev), children);
|
|
34547
34471
|
/* eslint-enable react/jsx-key */
|
|
34548
34472
|
return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, context);
|
|
@@ -34821,22 +34745,6 @@ const AnimateContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext({ animat
|
|
|
34821
34745
|
const BlockIdContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext('');
|
|
34822
34746
|
|
|
34823
34747
|
|
|
34824
|
-
/***/ }),
|
|
34825
|
-
|
|
34826
|
-
/***/ 9629:
|
|
34827
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
34828
|
-
|
|
34829
|
-
"use strict";
|
|
34830
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
34831
|
-
/* harmony export */ Z: () => (/* binding */ FormsContext),
|
|
34832
|
-
/* harmony export */ s: () => (/* binding */ DEFAULT_FORMS_CONTEXT_VALUE)
|
|
34833
|
-
/* harmony export */ });
|
|
34834
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540);
|
|
34835
|
-
|
|
34836
|
-
const DEFAULT_FORMS_CONTEXT_VALUE = {};
|
|
34837
|
-
const FormsContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(DEFAULT_FORMS_CONTEXT_VALUE);
|
|
34838
|
-
|
|
34839
|
-
|
|
34840
34748
|
/***/ }),
|
|
34841
34749
|
|
|
34842
34750
|
/***/ 9017:
|
|
@@ -36182,6 +36090,127 @@ Icon.displayName = 'Icon';
|
|
|
36182
36090
|
Icon.prefix = '';
|
|
36183
36091
|
|
|
36184
36092
|
|
|
36093
|
+
/***/ }),
|
|
36094
|
+
|
|
36095
|
+
/***/ 2768:
|
|
36096
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
36097
|
+
|
|
36098
|
+
"use strict";
|
|
36099
|
+
|
|
36100
|
+
// EXPORTS
|
|
36101
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36102
|
+
J: () => (/* binding */ Label)
|
|
36103
|
+
});
|
|
36104
|
+
|
|
36105
|
+
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
36106
|
+
var react = __webpack_require__(6540);
|
|
36107
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/icons/esm/Xmark.js
|
|
36108
|
+
var Xmark = __webpack_require__(3168);
|
|
36109
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/hooks/useActionHandlers/useActionHandlers.js
|
|
36110
|
+
var useActionHandlers = __webpack_require__(5926);
|
|
36111
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Button/Button.js + 2 modules
|
|
36112
|
+
var Button = __webpack_require__(5767);
|
|
36113
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/ClipboardIcon/ClipboardIcon.js + 3 modules
|
|
36114
|
+
var ClipboardIcon = __webpack_require__(9671);
|
|
36115
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/CopyToClipboard/CopyToClipboard.js
|
|
36116
|
+
var CopyToClipboard = __webpack_require__(7732);
|
|
36117
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Icon/Icon.js + 3 modules
|
|
36118
|
+
var Icon = __webpack_require__(9504);
|
|
36119
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/utils/cn.js
|
|
36120
|
+
var cn = __webpack_require__(9356);
|
|
36121
|
+
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.css
|
|
36122
|
+
// extracted by mini-css-extract-plugin
|
|
36123
|
+
|
|
36124
|
+
;// CONCATENATED MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Label/Label.js
|
|
36125
|
+
|
|
36126
|
+
|
|
36127
|
+
|
|
36128
|
+
|
|
36129
|
+
|
|
36130
|
+
|
|
36131
|
+
|
|
36132
|
+
|
|
36133
|
+
|
|
36134
|
+
const b = (0,cn/* block */.om)('label');
|
|
36135
|
+
const sizeMap = {
|
|
36136
|
+
xs: { copyIconSize: 12, closeIconSize: 12, buttonSize: 'xs' },
|
|
36137
|
+
s: { copyIconSize: 14, closeIconSize: 14, buttonSize: 's' },
|
|
36138
|
+
m: { copyIconSize: 16, closeIconSize: 16, buttonSize: 'm' },
|
|
36139
|
+
};
|
|
36140
|
+
const commonActionButtonProps = {
|
|
36141
|
+
pin: 'brick-round',
|
|
36142
|
+
className: b('addon', {
|
|
36143
|
+
side: 'right',
|
|
36144
|
+
interactive: true,
|
|
36145
|
+
}),
|
|
36146
|
+
};
|
|
36147
|
+
const Label = react.forwardRef(function Label(props, ref) {
|
|
36148
|
+
const { type = 'default', theme = 'normal', size = 'xs', icon, children, onCloseClick, className, disabled, copyText, closeButtonLabel, copyButtonLabel, interactive = false, value, onCopy, onClick, qa, } = props;
|
|
36149
|
+
const actionButtonRef = react.useRef(null);
|
|
36150
|
+
const hasContent = Boolean(children !== '' && react.Children.count(children) > 0);
|
|
36151
|
+
const typeClose = type === 'close' && hasContent;
|
|
36152
|
+
const typeCopy = type === 'copy' && hasContent;
|
|
36153
|
+
const hasOnClick = Boolean(onClick);
|
|
36154
|
+
const hasCopy = Boolean(typeCopy && copyText);
|
|
36155
|
+
const isInteractive = (hasOnClick || hasCopy || interactive) && !disabled;
|
|
36156
|
+
const { copyIconSize, closeIconSize, buttonSize } = sizeMap[size];
|
|
36157
|
+
const leftIcon = icon && (react.createElement("div", { className: b('addon', { side: hasContent ? 'left' : undefined }) }, icon));
|
|
36158
|
+
const content = hasContent && (react.createElement("div", { className: b('text') },
|
|
36159
|
+
react.createElement("div", { className: b('content') }, children),
|
|
36160
|
+
Boolean(value) && (react.createElement("div", { className: b('value') },
|
|
36161
|
+
react.createElement("div", { className: b('separator') }, ":"),
|
|
36162
|
+
react.createElement("div", { className: b('key') }, value)))));
|
|
36163
|
+
const handleCloseClick = (event) => {
|
|
36164
|
+
if (hasOnClick) {
|
|
36165
|
+
/* preventing event from bubbling */
|
|
36166
|
+
event.stopPropagation();
|
|
36167
|
+
}
|
|
36168
|
+
if (onCloseClick) {
|
|
36169
|
+
onCloseClick(event);
|
|
36170
|
+
}
|
|
36171
|
+
};
|
|
36172
|
+
const handleClick = (event) => {
|
|
36173
|
+
var _a;
|
|
36174
|
+
/**
|
|
36175
|
+
* Triggered only if the handler was triggered on the element itself, and not on the actionButton
|
|
36176
|
+
* It is necessary that keyboard navigation works correctly
|
|
36177
|
+
*/
|
|
36178
|
+
if (!((_a = actionButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
36179
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
36180
|
+
}
|
|
36181
|
+
};
|
|
36182
|
+
const { onKeyDown } = (0,useActionHandlers/* useActionHandlers */.N)(handleClick);
|
|
36183
|
+
const renderLabel = (status) => {
|
|
36184
|
+
let actionButton;
|
|
36185
|
+
if (typeCopy) {
|
|
36186
|
+
actionButton = (react.createElement(Button/* Button */.$, Object.assign({ ref: actionButtonRef, size: buttonSize, extraProps: { 'aria-label': copyButtonLabel || undefined } }, commonActionButtonProps),
|
|
36187
|
+
react.createElement(Button/* Button */.$.Icon, null,
|
|
36188
|
+
react.createElement(ClipboardIcon/* ClipboardIcon */.u, { status: status || 'pending', size: copyIconSize }))));
|
|
36189
|
+
}
|
|
36190
|
+
else if (typeClose) {
|
|
36191
|
+
actionButton = (react.createElement(Button/* Button */.$, Object.assign({ ref: actionButtonRef, onClick: onCloseClick ? handleCloseClick : undefined, size: buttonSize, extraProps: { 'aria-label': closeButtonLabel || undefined } }, commonActionButtonProps),
|
|
36192
|
+
react.createElement(Icon/* Icon */.I, { size: closeIconSize, data: Xmark/* default */.A })));
|
|
36193
|
+
}
|
|
36194
|
+
return (react.createElement("div", { ref: ref, role: hasOnClick ? 'button' : undefined, tabIndex: hasOnClick ? 0 : undefined, onClick: hasOnClick ? handleClick : undefined, onKeyDown: hasOnClick ? onKeyDown : undefined, className: b({
|
|
36195
|
+
theme,
|
|
36196
|
+
size,
|
|
36197
|
+
type,
|
|
36198
|
+
'is-interactive': isInteractive,
|
|
36199
|
+
'has-right-addon': Boolean(actionButton),
|
|
36200
|
+
'has-left-addon': Boolean(leftIcon),
|
|
36201
|
+
disabled,
|
|
36202
|
+
}, className), "data-qa": qa },
|
|
36203
|
+
leftIcon,
|
|
36204
|
+
content,
|
|
36205
|
+
actionButton));
|
|
36206
|
+
};
|
|
36207
|
+
if (hasCopy && copyText && !hasOnClick) {
|
|
36208
|
+
return (react.createElement(CopyToClipboard/* CopyToClipboard */.$, { text: copyText, onCopy: onCopy, timeout: 1000 }, (status) => renderLabel(status)));
|
|
36209
|
+
}
|
|
36210
|
+
return renderLabel();
|
|
36211
|
+
});
|
|
36212
|
+
|
|
36213
|
+
|
|
36185
36214
|
/***/ }),
|
|
36186
36215
|
|
|
36187
36216
|
/***/ 4664:
|
|
@@ -58565,7 +58594,7 @@ var _typeof = (__webpack_require__(3738)["default"]);
|
|
|
58565
58594
|
var toPrimitive = __webpack_require__(9045);
|
|
58566
58595
|
function toPropertyKey(t) {
|
|
58567
58596
|
var i = toPrimitive(t, "string");
|
|
58568
|
-
return "symbol" == _typeof(i) ? i : i
|
|
58597
|
+
return "symbol" == _typeof(i) ? i : String(i);
|
|
58569
58598
|
}
|
|
58570
58599
|
module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
58571
58600
|
|
|
@@ -58837,7 +58866,7 @@ function toPrimitive(t, r) {
|
|
|
58837
58866
|
|
|
58838
58867
|
function toPropertyKey(t) {
|
|
58839
58868
|
var i = toPrimitive(t, "string");
|
|
58840
|
-
return "symbol" == (0,esm_typeof/* default */.A)(i) ? i : i
|
|
58869
|
+
return "symbol" == (0,esm_typeof/* default */.A)(i) ? i : String(i);
|
|
58841
58870
|
}
|
|
58842
58871
|
|
|
58843
58872
|
/***/ }),
|