@dr.pogodin/react-utils 1.26.3 → 1.26.4

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.
@@ -56,7 +56,9 @@ const BaseButton = ({
56
56
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
57
57
  className: className,
58
58
  onClick: onClick,
59
- onKeyDown: onClick,
59
+ onKeyDown: onClick && (e => {
60
+ if (e.key === 'Enter') onClick(e);
61
+ }),
60
62
  onMouseDown: onMouseDown,
61
63
  role: "button",
62
64
  tabIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_propTypes","_interopRequireDefault","require","_Link","_reactThemes","_jsxRuntime","defaultTheme","BaseButton","active","children","disabled","enforceA","onClick","onMouseDown","openNewTab","replace","theme","to","className","button","jsx","default","onKeyDown","role","tabIndex","ThemedButton","themed","defaultProps","undefined","propTypes","PT","bool","node","func","themeType","isRequired","oneOfType","object","string","_default","exports"],"sources":["../../../../../src/shared/components/Button/index.tsx"],"sourcesContent":["// The <Button> component implements a standard button / button-like link.\n\nimport PT from 'prop-types';\nimport { type ReactNode } from 'react';\n\nimport Link from 'components/Link';\n\nimport themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './style.scss';\n\ntype PropsT = {\n active?: boolean;\n children?: ReactNode;\n disabled?: boolean;\n enforceA?: boolean;\n onClick?: React.MouseEventHandler & React.KeyboardEventHandler;\n onMouseDown?: React.MouseEventHandler;\n openNewTab?: boolean;\n replace?: boolean;\n theme: Theme & {\n active?: string;\n button?: string;\n disabled?: string;\n };\n // TODO: It needs a more precise typing of the object option.\n to?: object | string;\n};\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton: React.FunctionComponent<PropsT> = ({\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to,\n}) => {\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return (\n <div className={className}>\n {children}\n </div>\n );\n }\n if (to) {\n return (\n <Link\n className={className}\n enforceA={enforceA}\n onClick={onClick}\n onMouseDown={onMouseDown}\n openNewTab={openNewTab}\n replace={replace}\n to={to}\n >\n {children}\n </Link>\n );\n }\n return (\n <div\n className={className}\n onClick={onClick}\n onKeyDown={onClick}\n onMouseDown={onMouseDown}\n role=\"button\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = themed(BaseButton, 'Button', [\n 'active',\n 'button',\n 'disabled',\n], defaultTheme);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined,\n};\n\nBaseButton.propTypes = {\n active: PT.bool,\n children: PT.node,\n disabled: PT.bool,\n enforceA: PT.bool,\n onClick: PT.func,\n onMouseDown: PT.func,\n openNewTab: PT.bool,\n replace: PT.bool,\n theme: ThemedButton.themeType.isRequired,\n to: PT.oneOfType([PT.object, PT.string]),\n};\n\nexport default ThemedButton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_propTypes","_interopRequireDefault","require","_Link","_reactThemes","_jsxRuntime","defaultTheme","BaseButton","active","children","disabled","enforceA","onClick","onMouseDown","openNewTab","replace","theme","to","className","button","jsx","default","onKeyDown","e","key","role","tabIndex","ThemedButton","themed","defaultProps","undefined","propTypes","PT","bool","node","func","themeType","isRequired","oneOfType","object","string","_default","exports"],"sources":["../../../../../src/shared/components/Button/index.tsx"],"sourcesContent":["// The <Button> component implements a standard button / button-like link.\n\nimport PT from 'prop-types';\nimport { type ReactNode } from 'react';\n\nimport Link from 'components/Link';\n\nimport themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './style.scss';\n\ntype PropsT = {\n active?: boolean;\n children?: ReactNode;\n disabled?: boolean;\n enforceA?: boolean;\n onClick?: React.MouseEventHandler & React.KeyboardEventHandler;\n onMouseDown?: React.MouseEventHandler;\n openNewTab?: boolean;\n replace?: boolean;\n theme: Theme & {\n active?: string;\n button?: string;\n disabled?: string;\n };\n // TODO: It needs a more precise typing of the object option.\n to?: object | string;\n};\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton: React.FunctionComponent<PropsT> = ({\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to,\n}) => {\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return (\n <div className={className}>\n {children}\n </div>\n );\n }\n if (to) {\n return (\n <Link\n className={className}\n enforceA={enforceA}\n onClick={onClick}\n onMouseDown={onMouseDown}\n openNewTab={openNewTab}\n replace={replace}\n to={to}\n >\n {children}\n </Link>\n );\n }\n\n return (\n <div\n className={className}\n onClick={onClick}\n onKeyDown={onClick && ((e) => {\n if (e.key === 'Enter') onClick(e);\n })}\n onMouseDown={onMouseDown}\n role=\"button\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = themed(BaseButton, 'Button', [\n 'active',\n 'button',\n 'disabled',\n], defaultTheme);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined,\n};\n\nBaseButton.propTypes = {\n active: PT.bool,\n children: PT.node,\n disabled: PT.bool,\n enforceA: PT.bool,\n onClick: PT.func,\n onMouseDown: PT.func,\n openNewTab: PT.bool,\n replace: PT.bool,\n theme: ThemedButton.themeType.isRequired,\n to: PT.oneOfType([PT.object, PT.string]),\n};\n\nexport default ThemedButton;\n"],"mappings":"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"}
@@ -27,13 +27,13 @@ const defaultTheme = {
27
27
  const Throbber = ({
28
28
  theme
29
29
  }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
30
- className: (theme.container ? theme.container + " " : "") + "-dr-pogodin-react-utils___src-shared-components-Throbber-theme___container___7zdld4",
30
+ className: theme.container,
31
31
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
32
- className: (theme.circle ? theme.circle + " " : "") + "-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g"
32
+ className: theme.circle
33
33
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
34
- className: (theme.circle ? theme.circle + " " : "") + "-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g"
34
+ className: theme.circle
35
35
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
36
- className: (theme.circle ? theme.circle + " " : "") + "-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g"
36
+ className: theme.circle
37
37
  })]
38
38
  });
39
39
  const ThemedThrobber = (0, _reactThemes.default)(Throbber, 'Throbber', ['bouncing', 'circle', 'container'], defaultTheme);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_reactThemes","_interopRequireDefault","require","_jsxRuntime","defaultTheme","Throbber","theme","jsxs","className","container","children","jsx","circle","ThemedThrobber","themed","propTypes","themeType","isRequired","_default","exports","default"],"sources":["../../../../../src/shared/components/Throbber/index.tsx"],"sourcesContent":["import themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './theme.scss';\n\ntype PropsT = {\n theme: Theme & {\n bouncing?: string;\n container?: string;\n circle?: string;\n };\n};\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber: React.FunctionComponent<PropsT> = ({ theme }) => (\n <span className={theme.container} styleName=\"container\">\n <span className={theme.circle} styleName=\"circle\" />\n <span className={theme.circle} styleName=\"circle\" />\n <span className={theme.circle} styleName=\"circle\" />\n </span>\n);\n\nconst ThemedThrobber = themed(\n Throbber,\n 'Throbber',\n [\n 'bouncing',\n 'circle',\n 'container',\n ],\n defaultTheme,\n);\n\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired,\n};\n\nexport default ThemedThrobber;\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8D,IAAAC,WAAA,GAAAD,OAAA;AAAA,MAAAE,YAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAY9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAyC,GAAGA,CAAC;EAAEC;AAAM,CAAC,kBAC1D,IAAAH,WAAA,CAAAI,IAAA;EAAMC,SAAS,GAAEF,KAAK,CAACG,SAAS,GAAfH,KAAK,CAACG,SAAS,oGAAC;EAAAC,QAAA,gBAC/B,IAAAP,WAAA,CAAAQ,GAAA;IAAMH,SAAS,GAAEF,KAAK,CAACM,MAAM,GAAZN,KAAK,CAACM,MAAM;EAAC,CAAqB,CAAC,eACpD,IAAAT,WAAA,CAAAQ,GAAA;IAAMH,SAAS,GAAEF,KAAK,CAACM,MAAM,GAAZN,KAAK,CAACM,MAAM;EAAC,CAAqB,CAAC,eACpD,IAAAT,WAAA,CAAAQ,GAAA;IAAMH,SAAS,GAAEF,KAAK,CAACM,MAAM,GAAZN,KAAK,CAACM,MAAM;EAAC,CAAqB,CAAC;AAAA,CAChD,CACP;AAED,MAAMC,cAAc,GAAG,IAAAC,oBAAM,EAC3BT,QAAQ,EACR,UAAU,EACV,CACE,UAAU,EACV,QAAQ,EACR,WAAW,CACZ,EACDD,YACF,CAAC;AAEDC,QAAQ,CAACU,SAAS,GAAG;EACnBT,KAAK,EAAEO,cAAc,CAACG,SAAS,CAACC;AAClC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaP,cAAc"}
1
+ {"version":3,"file":"index.js","names":["_reactThemes","_interopRequireDefault","require","_jsxRuntime","defaultTheme","Throbber","theme","jsxs","className","container","children","jsx","circle","ThemedThrobber","themed","propTypes","themeType","isRequired","_default","exports","default"],"sources":["../../../../../src/shared/components/Throbber/index.tsx"],"sourcesContent":["import themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './theme.scss';\n\ntype PropsT = {\n theme: Theme & {\n bouncing?: string;\n container?: string;\n circle?: string;\n };\n};\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber: React.FunctionComponent<PropsT> = ({ theme }) => (\n <span className={theme.container}>\n <span className={theme.circle} />\n <span className={theme.circle} />\n <span className={theme.circle} />\n </span>\n);\n\nconst ThemedThrobber = themed(\n Throbber,\n 'Throbber',\n [\n 'bouncing',\n 'circle',\n 'container',\n ],\n defaultTheme,\n);\n\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired,\n};\n\nexport default ThemedThrobber;\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8D,IAAAC,WAAA,GAAAD,OAAA;AAAA,MAAAE,YAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAY9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAyC,GAAGA,CAAC;EAAEC;AAAM,CAAC,kBAC1D,IAAAH,WAAA,CAAAI,IAAA;EAAMC,SAAS,EAAEF,KAAK,CAACG,SAAU;EAAAC,QAAA,gBAC/B,IAAAP,WAAA,CAAAQ,GAAA;IAAMH,SAAS,EAAEF,KAAK,CAACM;EAAO,CAAE,CAAC,eACjC,IAAAT,WAAA,CAAAQ,GAAA;IAAMH,SAAS,EAAEF,KAAK,CAACM;EAAO,CAAE,CAAC,eACjC,IAAAT,WAAA,CAAAQ,GAAA;IAAMH,SAAS,EAAEF,KAAK,CAACM;EAAO,CAAE,CAAC;AAAA,CAC7B,CACP;AAED,MAAMC,cAAc,GAAG,IAAAC,oBAAM,EAC3BT,QAAQ,EACR,UAAU,EACV,CACE,UAAU,EACV,QAAQ,EACR,WAAW,CACZ,EACDD,YACF,CAAC;AAEDC,QAAQ,CAACU,SAAS,GAAG;EACnBT,KAAK,EAAEO,cAAc,CAACG,SAAS,CAACC;AAClC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaP,cAAc"}
@@ -56,7 +56,7 @@ eval("var __dirname = \"/\";\n__webpack_require__.r(__webpack_exports__);\n/* ha
56
56
  \************************************************/
57
57
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
58
58
 
59
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Link */ \"./src/shared/components/Link.tsx\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @dr.pogodin/react-themes */ \"@dr.pogodin/react-themes\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ \"./src/shared/components/Button/style.scss\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n// The <Button> component implements a standard button / button-like link.\n\n\n\n\n\n\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton = _ref => {\n let {\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to\n } = _ref;\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: className,\n children: children\n });\n }\n if (to) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_Link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: className,\n enforceA: enforceA,\n onClick: onClick,\n onMouseDown: onMouseDown,\n openNewTab: openNewTab,\n replace: replace,\n to: to,\n children: children\n });\n }\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: className,\n onClick: onClick,\n onKeyDown: onClick,\n onMouseDown: onMouseDown,\n role: \"button\",\n tabIndex: 0,\n children: children\n });\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3___default()(BaseButton, 'Button', ['active', 'button', 'disabled'], _style_scss__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined\n};\nBaseButton.propTypes = {\n active: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().node),\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n enforceA: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func),\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func),\n openNewTab: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n theme: ThemedButton.themeType.isRequired,\n to: prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string)])\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedButton);\n\n//# sourceURL=webpack://@dr.pogodin/react-utils/./src/shared/components/Button/index.tsx?");
59
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"prop-types\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Link */ \"./src/shared/components/Link.tsx\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @dr.pogodin/react-themes */ \"@dr.pogodin/react-themes\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ \"./src/shared/components/Button/style.scss\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n// The <Button> component implements a standard button / button-like link.\n\n\n\n\n\n\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton = _ref => {\n let {\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to\n } = _ref;\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: className,\n children: children\n });\n }\n if (to) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_Link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: className,\n enforceA: enforceA,\n onClick: onClick,\n onMouseDown: onMouseDown,\n openNewTab: openNewTab,\n replace: replace,\n to: to,\n children: children\n });\n }\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(\"div\", {\n className: className,\n onClick: onClick,\n onKeyDown: onClick && (e => {\n if (e.key === 'Enter') onClick(e);\n }),\n onMouseDown: onMouseDown,\n role: \"button\",\n tabIndex: 0,\n children: children\n });\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_3___default()(BaseButton, 'Button', ['active', 'button', 'disabled'], _style_scss__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined\n};\nBaseButton.propTypes = {\n active: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().node),\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n enforceA: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func),\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func),\n openNewTab: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().bool),\n theme: ThemedButton.themeType.isRequired,\n to: prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().string)])\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedButton);\n\n//# sourceURL=webpack://@dr.pogodin/react-utils/./src/shared/components/Button/index.tsx?");
60
60
 
61
61
  /***/ }),
62
62
 
@@ -166,7 +166,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop
166
166
  \**************************************************/
167
167
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
168
168
 
169
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @dr.pogodin/react-themes */ \"@dr.pogodin/react-themes\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _theme_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme.scss */ \"./src/shared/components/Throbber/theme.scss\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber = _ref => {\n let {\n theme\n } = _ref;\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(\"span\", {\n className: (theme.container ? theme.container + \" \" : \"\") + \"-dr-pogodin-react-utils___src-shared-components-Throbber-theme___container___7zdld4\",\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: (theme.circle ? theme.circle + \" \" : \"\") + \"-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: (theme.circle ? theme.circle + \" \" : \"\") + \"-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g\"\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: (theme.circle ? theme.circle + \" \" : \"\") + \"-dr-pogodin-react-utils___src-shared-components-Throbber-theme___circle___dBrB4g\"\n })]\n });\n};\nconst ThemedThrobber = _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0___default()(Throbber, 'Throbber', ['bouncing', 'circle', 'container'], _theme_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedThrobber);\n\n//# sourceURL=webpack://@dr.pogodin/react-utils/./src/shared/components/Throbber/index.tsx?");
169
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @dr.pogodin/react-themes */ \"@dr.pogodin/react-themes\");\n/* harmony import */ var _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _theme_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./theme.scss */ \"./src/shared/components/Throbber/theme.scss\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n\n\n\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber = _ref => {\n let {\n theme\n } = _ref;\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(\"span\", {\n className: theme.container,\n children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: theme.circle\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: theme.circle\n }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"span\", {\n className: theme.circle\n })]\n });\n};\nconst ThemedThrobber = _dr_pogodin_react_themes__WEBPACK_IMPORTED_MODULE_0___default()(Throbber, 'Throbber', ['bouncing', 'circle', 'container'], _theme_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ThemedThrobber);\n\n//# sourceURL=webpack://@dr.pogodin/react-utils/./src/shared/components/Throbber/index.tsx?");
170
170
 
171
171
  /***/ }),
172
172
 
@@ -1,5 +1,5 @@
1
1
  "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _propTypes=_interopRequireDefault(require("prop-types"));require("react");var _Link=_interopRequireDefault(require("../Link"));var _reactThemes=_interopRequireDefault(require("@dr.pogodin/react-themes"));var _jsxRuntime=require("react/jsx-runtime");// The <Button> component implements a standard button / button-like link.
2
- const defaultTheme={"context":"KM0v4f","ad":"_3jm1-Q","hoc":"_0plpDL","button":"E1FNQT","active":"MAe9O6","disabled":"Br9IWV"};/* eslint-disable react/function-component-definition */const BaseButton=({active,children,disabled,enforceA,onClick,onMouseDown,openNewTab,replace,theme,to})=>{let className=theme.button;if(active&&theme.active)className+=` ${theme.active}`;if(disabled){if(theme.disabled)className+=` ${theme.disabled}`;return/*#__PURE__*/(0,_jsxRuntime.jsx)("div",{className:className,children:children})}if(to){return/*#__PURE__*/(0,_jsxRuntime.jsx)(_Link.default,{className:className,enforceA:enforceA,onClick:onClick,onMouseDown:onMouseDown,openNewTab:openNewTab,replace:replace,to:to,children:children})}return/*#__PURE__*/(0,_jsxRuntime.jsx)("div",{className:className,onClick:onClick,onKeyDown:onClick,onMouseDown:onMouseDown,role:"button",tabIndex:0,children:children})};/**
2
+ const defaultTheme={"context":"KM0v4f","ad":"_3jm1-Q","hoc":"_0plpDL","button":"E1FNQT","active":"MAe9O6","disabled":"Br9IWV"};/* eslint-disable react/function-component-definition */const BaseButton=({active,children,disabled,enforceA,onClick,onMouseDown,openNewTab,replace,theme,to})=>{let className=theme.button;if(active&&theme.active)className+=` ${theme.active}`;if(disabled){if(theme.disabled)className+=` ${theme.disabled}`;return/*#__PURE__*/(0,_jsxRuntime.jsx)("div",{className:className,children:children})}if(to){return/*#__PURE__*/(0,_jsxRuntime.jsx)(_Link.default,{className:className,enforceA:enforceA,onClick:onClick,onMouseDown:onMouseDown,openNewTab:openNewTab,replace:replace,to:to,children:children})}return/*#__PURE__*/(0,_jsxRuntime.jsx)("div",{className:className,onClick:onClick,onKeyDown:onClick&&(e=>{if(e.key==="Enter")onClick(e)}),onMouseDown:onMouseDown,role:"button",tabIndex:0,children:children})};/**
3
3
  * Button component theme: a map of CSS
4
4
  * class names to append to button elements:
5
5
  * @prop {string} [active] to the root element of active button.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_propTypes","_interopRequireDefault","require","_Link","_reactThemes","_jsxRuntime","defaultTheme","BaseButton","active","children","disabled","enforceA","onClick","onMouseDown","openNewTab","replace","theme","to","className","button","jsx","default","onKeyDown","role","tabIndex","ThemedButton","themed","defaultProps","undefined","propTypes","PT","bool","node","func","themeType","isRequired","oneOfType","object","string","_default","exports"],"sources":["../../../../../src/shared/components/Button/index.tsx"],"sourcesContent":["// The <Button> component implements a standard button / button-like link.\n\nimport PT from 'prop-types';\nimport { type ReactNode } from 'react';\n\nimport Link from 'components/Link';\n\nimport themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './style.scss';\n\ntype PropsT = {\n active?: boolean;\n children?: ReactNode;\n disabled?: boolean;\n enforceA?: boolean;\n onClick?: React.MouseEventHandler & React.KeyboardEventHandler;\n onMouseDown?: React.MouseEventHandler;\n openNewTab?: boolean;\n replace?: boolean;\n theme: Theme & {\n active?: string;\n button?: string;\n disabled?: string;\n };\n // TODO: It needs a more precise typing of the object option.\n to?: object | string;\n};\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton: React.FunctionComponent<PropsT> = ({\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to,\n}) => {\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return (\n <div className={className}>\n {children}\n </div>\n );\n }\n if (to) {\n return (\n <Link\n className={className}\n enforceA={enforceA}\n onClick={onClick}\n onMouseDown={onMouseDown}\n openNewTab={openNewTab}\n replace={replace}\n to={to}\n >\n {children}\n </Link>\n );\n }\n return (\n <div\n className={className}\n onClick={onClick}\n onKeyDown={onClick}\n onMouseDown={onMouseDown}\n role=\"button\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = themed(BaseButton, 'Button', [\n 'active',\n 'button',\n 'disabled',\n], defaultTheme);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined,\n};\n\nBaseButton.propTypes = {\n active: PT.bool,\n children: PT.node,\n disabled: PT.bool,\n enforceA: PT.bool,\n onClick: PT.func,\n onMouseDown: PT.func,\n openNewTab: PT.bool,\n replace: PT.bool,\n theme: ThemedButton.themeType.isRequired,\n to: PT.oneOfType([PT.object, PT.string]),\n};\n\nexport default ThemedButton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_propTypes","_interopRequireDefault","require","_Link","_reactThemes","_jsxRuntime","defaultTheme","BaseButton","active","children","disabled","enforceA","onClick","onMouseDown","openNewTab","replace","theme","to","className","button","jsx","default","onKeyDown","e","key","role","tabIndex","ThemedButton","themed","defaultProps","undefined","propTypes","PT","bool","node","func","themeType","isRequired","oneOfType","object","string","_default","exports"],"sources":["../../../../../src/shared/components/Button/index.tsx"],"sourcesContent":["// The <Button> component implements a standard button / button-like link.\n\nimport PT from 'prop-types';\nimport { type ReactNode } from 'react';\n\nimport Link from 'components/Link';\n\nimport themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './style.scss';\n\ntype PropsT = {\n active?: boolean;\n children?: ReactNode;\n disabled?: boolean;\n enforceA?: boolean;\n onClick?: React.MouseEventHandler & React.KeyboardEventHandler;\n onMouseDown?: React.MouseEventHandler;\n openNewTab?: boolean;\n replace?: boolean;\n theme: Theme & {\n active?: string;\n button?: string;\n disabled?: string;\n };\n // TODO: It needs a more precise typing of the object option.\n to?: object | string;\n};\n\n/* eslint-disable react/function-component-definition */\nconst BaseButton: React.FunctionComponent<PropsT> = ({\n active,\n children,\n disabled,\n enforceA,\n onClick,\n onMouseDown,\n openNewTab,\n replace,\n theme,\n to,\n}) => {\n let className = theme.button;\n if (active && theme.active) className += ` ${theme.active}`;\n if (disabled) {\n if (theme.disabled) className += ` ${theme.disabled}`;\n return (\n <div className={className}>\n {children}\n </div>\n );\n }\n if (to) {\n return (\n <Link\n className={className}\n enforceA={enforceA}\n onClick={onClick}\n onMouseDown={onMouseDown}\n openNewTab={openNewTab}\n replace={replace}\n to={to}\n >\n {children}\n </Link>\n );\n }\n\n return (\n <div\n className={className}\n onClick={onClick}\n onKeyDown={onClick && ((e) => {\n if (e.key === 'Enter') onClick(e);\n })}\n onMouseDown={onMouseDown}\n role=\"button\"\n tabIndex={0}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Button component theme: a map of CSS\n * class names to append to button elements:\n * @prop {string} [active] to the root element of active button.\n * @prop {string} [button] to the root element of any button.\n * @prop {string} [disabled] to the root element of disabled button.\n */\nconst ThemedButton = themed(BaseButton, 'Button', [\n 'active',\n 'button',\n 'disabled',\n], defaultTheme);\n\n/**\n * Implements themeable buttons, and button-line links (elements which look\n * like buttons, but behave as links) in the same uniform manner.\n * @param {object} [props] Component props.\n * @param {boolean} [props.active] Set `true` to render the button as\n * active, even if it is not active otherwise.\n * @param {boolean} [props.disabled] Set `true` to disable the button.\n * @param {boolean} [props.enforceA] When the button is rendered as `<Link>`\n * component, this prop enforces it to be rendered as a simple `<a>` element\n * (external link), rather than the React router's internal link.\n * See `<Link>` documentation to learn when links are rendered as `<a>`\n * by default.\n * @param {function} [props.onClick] Click event handler.\n * @param {function} [props.onMouseDown] Mouse down event handler.\n * @param {boolean} [props.openNewTab] Set `true` to open link in the new tab.\n * @param {boolean} [props.replace] When the button is rendered as\n * `<Link>`, and the target URL is internal, this property tells that\n * the new route should replace the last record in the browser's history,\n * rather than to be pushed as a new entry into the history stack.\n * @param {ButtonTheme} [props.theme] _Ad hoc_ button theme.\n * @param {object|string} [props.to] If specified, the button will be rendered\n * as `<Link>` (if not disabled), and it will point to the specified location\n * or URL.\n * @param {...any} [props....]\n * [Other properties of themeable components](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nBaseButton.defaultProps = {\n active: false,\n children: undefined,\n disabled: false,\n enforceA: false,\n onClick: undefined,\n onMouseDown: undefined,\n openNewTab: false,\n replace: false,\n to: undefined,\n};\n\nBaseButton.propTypes = {\n active: PT.bool,\n children: PT.node,\n disabled: PT.bool,\n enforceA: PT.bool,\n onClick: PT.func,\n onMouseDown: PT.func,\n openNewTab: PT.bool,\n replace: PT.bool,\n theme: ThemedButton.themeType.isRequired,\n to: PT.oneOfType([PT.object, PT.string]),\n};\n\nexport default ThemedButton;\n"],"mappings":"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"}
@@ -6,5 +6,5 @@
6
6
  * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.
7
7
  * @param {...any} [props....]
8
8
  * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)
9
- */const Throbber=({theme})=>/*#__PURE__*/(0,_jsxRuntime.jsxs)("span",{className:(theme.container?theme.container+" ":"")+"_7zdld4",children:[/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:(theme.circle?theme.circle+" ":"")+"dBrB4g"}),/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:(theme.circle?theme.circle+" ":"")+"dBrB4g"}),/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:(theme.circle?theme.circle+" ":"")+"dBrB4g"})]});const ThemedThrobber=(0,_reactThemes.default)(Throbber,"Throbber",["bouncing","circle","container"],defaultTheme);Throbber.propTypes={theme:ThemedThrobber.themeType.isRequired};var _default=exports.default=ThemedThrobber;
9
+ */const Throbber=({theme})=>/*#__PURE__*/(0,_jsxRuntime.jsxs)("span",{className:theme.container,children:[/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:theme.circle}),/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:theme.circle}),/*#__PURE__*/(0,_jsxRuntime.jsx)("span",{className:theme.circle})]});const ThemedThrobber=(0,_reactThemes.default)(Throbber,"Throbber",["bouncing","circle","container"],defaultTheme);Throbber.propTypes={theme:ThemedThrobber.themeType.isRequired};var _default=exports.default=ThemedThrobber;
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_reactThemes","_interopRequireDefault","require","_jsxRuntime","defaultTheme","Throbber","theme","jsxs","className","container","children","jsx","circle","ThemedThrobber","themed","propTypes","themeType","isRequired","_default","exports","default"],"sources":["../../../../../src/shared/components/Throbber/index.tsx"],"sourcesContent":["import themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './theme.scss';\n\ntype PropsT = {\n theme: Theme & {\n bouncing?: string;\n container?: string;\n circle?: string;\n };\n};\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber: React.FunctionComponent<PropsT> = ({ theme }) => (\n <span className={theme.container} styleName=\"container\">\n <span className={theme.circle} styleName=\"circle\" />\n <span className={theme.circle} styleName=\"circle\" />\n <span className={theme.circle} styleName=\"circle\" />\n </span>\n);\n\nconst ThemedThrobber = themed(\n Throbber,\n 'Throbber',\n [\n 'bouncing',\n 'circle',\n 'container',\n ],\n defaultTheme,\n);\n\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired,\n};\n\nexport default ThemedThrobber;\n"],"mappings":"gLAAA,IAAAA,YAAA,CAAAC,sBAAA,CAAAC,OAAA,8BAA8D,IAAAC,WAAA,CAAAD,OAAA,4BAAAE,YAAA,+GAY9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,KAAM,CAAAC,QAAyC,CAAGA,CAAC,CAAEC,KAAM,CAAC,gBAC1D,GAAAH,WAAA,CAAAI,IAAA,UAAMC,SAAS,EAAEF,KAAK,CAACG,SAAS,CAAfH,KAAK,CAACG,SAAS,kBAAC,CAAAC,QAAA,eAC/B,GAAAP,WAAA,CAAAQ,GAAA,UAAMH,SAAS,EAAEF,KAAK,CAACM,MAAM,CAAZN,KAAK,CAACM,MAAM,iBAAC,CAAqB,CAAC,cACpD,GAAAT,WAAA,CAAAQ,GAAA,UAAMH,SAAS,EAAEF,KAAK,CAACM,MAAM,CAAZN,KAAK,CAACM,MAAM,iBAAC,CAAqB,CAAC,cACpD,GAAAT,WAAA,CAAAQ,GAAA,UAAMH,SAAS,EAAEF,KAAK,CAACM,MAAM,CAAZN,KAAK,CAACM,MAAM,iBAAC,CAAqB,CAAC,EAChD,CACP,CAED,KAAM,CAAAC,cAAc,CAAG,GAAAC,oBAAM,EAC3BT,QAAQ,CACR,UAAU,CACV,CACE,UAAU,CACV,QAAQ,CACR,WAAW,CACZ,CACDD,YACF,CAAC,CAEDC,QAAQ,CAACU,SAAS,CAAG,CACnBT,KAAK,CAAEO,cAAc,CAACG,SAAS,CAACC,UAClC,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEaP,cAAc"}
1
+ {"version":3,"file":"index.js","names":["_reactThemes","_interopRequireDefault","require","_jsxRuntime","defaultTheme","Throbber","theme","jsxs","className","container","children","jsx","circle","ThemedThrobber","themed","propTypes","themeType","isRequired","_default","exports","default"],"sources":["../../../../../src/shared/components/Throbber/index.tsx"],"sourcesContent":["import themed, { type Theme } from '@dr.pogodin/react-themes';\n\nimport defaultTheme from './theme.scss';\n\ntype PropsT = {\n theme: Theme & {\n bouncing?: string;\n container?: string;\n circle?: string;\n };\n};\n\n/**\n * Throbber is an \"action in progress\" indicator, which renders\n * three bouncing circles as a simple pending activity indicator,\n * and can be further themed to a certain degree.\n * @param {object} [props] Component properties.\n * @param {ThrobberTheme} [props.theme] _Ad hoc_ theme.\n * @param {...any} [props....]\n * [Other theming properties](https://www.npmjs.com/package/@dr.pogodin/react-themes#themed-component-properties)\n */\nconst Throbber: React.FunctionComponent<PropsT> = ({ theme }) => (\n <span className={theme.container}>\n <span className={theme.circle} />\n <span className={theme.circle} />\n <span className={theme.circle} />\n </span>\n);\n\nconst ThemedThrobber = themed(\n Throbber,\n 'Throbber',\n [\n 'bouncing',\n 'circle',\n 'container',\n ],\n defaultTheme,\n);\n\nThrobber.propTypes = {\n theme: ThemedThrobber.themeType.isRequired,\n};\n\nexport default ThemedThrobber;\n"],"mappings":"gLAAA,IAAAA,YAAA,CAAAC,sBAAA,CAAAC,OAAA,8BAA8D,IAAAC,WAAA,CAAAD,OAAA,4BAAAE,YAAA,+GAY9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,KAAM,CAAAC,QAAyC,CAAGA,CAAC,CAAEC,KAAM,CAAC,gBAC1D,GAAAH,WAAA,CAAAI,IAAA,UAAMC,SAAS,CAAEF,KAAK,CAACG,SAAU,CAAAC,QAAA,eAC/B,GAAAP,WAAA,CAAAQ,GAAA,UAAMH,SAAS,CAAEF,KAAK,CAACM,MAAO,CAAE,CAAC,cACjC,GAAAT,WAAA,CAAAQ,GAAA,UAAMH,SAAS,CAAEF,KAAK,CAACM,MAAO,CAAE,CAAC,cACjC,GAAAT,WAAA,CAAAQ,GAAA,UAAMH,SAAS,CAAEF,KAAK,CAACM,MAAO,CAAE,CAAC,EAC7B,CACP,CAED,KAAM,CAAAC,cAAc,CAAG,GAAAC,oBAAM,EAC3BT,QAAQ,CACR,UAAU,CACV,CACE,UAAU,CACV,QAAQ,CACR,WAAW,CACZ,CACDD,YACF,CAAC,CAEDC,QAAQ,CAACU,SAAS,CAAG,CACnBT,KAAK,CAAEO,cAAc,CAACG,SAAS,CAACC,UAClC,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEaP,cAAc"}
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see web.bundle.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@dr.pogodin/js-utils"),require("@dr.pogodin/react-global-state"),require("@dr.pogodin/react-themes"),require("axios"),require("dayjs"),require("lodash"),require("node-forge/lib/aes"),require("node-forge/lib/forge"),require("prop-types"),require("qs"),require("react"),require("react-dom"),require("react-dom/client"),require("react-helmet"),require("react-router-dom")):"function"==typeof define&&define.amd?define(["@dr.pogodin/js-utils","@dr.pogodin/react-global-state","@dr.pogodin/react-themes","axios","dayjs","lodash","node-forge/lib/aes","node-forge/lib/forge","prop-types","qs","react","react-dom","react-dom/client","react-helmet","react-router-dom"],t):"object"==typeof exports?exports["@dr.pogodin/react-utils"]=t(require("@dr.pogodin/js-utils"),require("@dr.pogodin/react-global-state"),require("@dr.pogodin/react-themes"),require("axios"),require("dayjs"),require("lodash"),require("node-forge/lib/aes"),require("node-forge/lib/forge"),require("prop-types"),require("qs"),require("react"),require("react-dom"),require("react-dom/client"),require("react-helmet"),require("react-router-dom")):e["@dr.pogodin/react-utils"]=t(e["@dr.pogodin/js-utils"],e["@dr.pogodin/react-global-state"],e["@dr.pogodin/react-themes"],e.axios,e.dayjs,e.lodash,e["node-forge/lib/aes"],e["node-forge/lib/forge"],e["prop-types"],e.qs,e.react,e["react-dom"],e["react-dom/client"],e["react-helmet"],e["react-router-dom"])}("undefined"!=typeof self?self:this,(function(__WEBPACK_EXTERNAL_MODULE__269__,__WEBPACK_EXTERNAL_MODULE__899__,__WEBPACK_EXTERNAL_MODULE__198__,__WEBPACK_EXTERNAL_MODULE__300__,__WEBPACK_EXTERNAL_MODULE__760__,__WEBPACK_EXTERNAL_MODULE__467__,__WEBPACK_EXTERNAL_MODULE__0__,__WEBPACK_EXTERNAL_MODULE__654__,__WEBPACK_EXTERNAL_MODULE__99__,__WEBPACK_EXTERNAL_MODULE__656__,__WEBPACK_EXTERNAL_MODULE__156__,__WEBPACK_EXTERNAL_MODULE__111__,__WEBPACK_EXTERNAL_MODULE__715__,__WEBPACK_EXTERNAL_MODULE__383__,__WEBPACK_EXTERNAL_MODULE__128__){return function(){"use strict";var __webpack_modules__={88:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Z:function(){return getInj}});var node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(654),node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0__),node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1__),_shared_utils_isomorphy_buildInfo__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(120);let inj={};const metaElement="undefined"!=typeof document?document.querySelector('meta[itemprop="drpruinj"]'):null;if(metaElement){metaElement.remove();let data=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.decode64(metaElement.content);const{key:key}=(0,_shared_utils_isomorphy_buildInfo__WEBPACK_IMPORTED_MODULE_2__.J)(),d=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().cipher.createDecipher("AES-CBC",key);d.start({iv:data.slice(0,key.length)}),d.update(node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.createBuffer(data.slice(key.length))),d.finish(),data=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.decodeUtf8(d.output.data),inj=eval(`(${data})`)}else inj={};function getInj(){return inj}},7:function(e,t,r){r.d(t,{Z:function(){return l}}),r(156);var n=r(899),o=r(715),i=r(128),a=r(88),c=r(893);function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=document.getElementById("react-view");if(!r)throw Error("Failed to find container for React app");const l=(0,c.jsx)(n.GlobalStateProvider,{initialState:(0,a.Z)().ISTATE,children:(0,c.jsx)(i.BrowserRouter,{children:(0,c.jsx)(e,{})})});t.dontHydrate?(0,o.createRoot)(r).render(l):(0,o.hydrateRoot)(r,l)}},120:function(e,t,r){let n;function o(){if(void 0===n)throw Error('"Build Info" has not been initialized yet');return n}r.d(t,{J:function(){return o}}),"undefined"!=typeof BUILD_INFO&&(n=BUILD_INFO)},848:function(e,t,r){r.d(t,{b:function(){return n},x:function(){return o}});const n="object"!=typeof process||!process.versions||!process.versions.node||!!r.g.REACT_UTILS_FORCE_CLIENT_SIDE,o=!n},463:function(e,t,r){r.r(t),r.d(t,{IS_CLIENT_SIDE:function(){return o.b},IS_SERVER_SIDE:function(){return o.x},buildTimestamp:function(){return c},getBuildInfo:function(){return n.J},isDevBuild:function(){return i},isProdBuild:function(){return a}});var n=r(120),o=r(848);function i(){return!1}function a(){return!0}function c(){return(0,n.J)().timestamp}},911:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{requireWeak:function(){return requireWeak},resolveWeak:function(){return resolveWeak}});var _isomorphy__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(463);function requireWeak(modulePath,basePath){if(_isomorphy__WEBPACK_IMPORTED_MODULE_0__.IS_CLIENT_SIDE)return null;try{const{resolve:resolve}=eval("require")("path"),path=basePath?resolve(basePath,modulePath):modulePath,{default:def,...named}=eval("require")(path);return def?(Object.entries(named).forEach((e=>{let[t,r]=e;if(def[t])throw Error("Conflict between default and named exports");def[t]=r})),def):named}catch{return null}}function resolveWeak(e){return e}},489:function(e,t){t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},n=(t||{}).decode||o,i=0;i<e.length;){var c=e.indexOf("=",i);if(-1===c)break;var l=e.indexOf(";",i);if(-1===l)l=e.length;else if(l<c){i=e.lastIndexOf(";",c-1)+1;continue}var _=e.slice(i,c).trim();if(void 0===r[_]){var s=e.slice(c+1,l).trim();34===s.charCodeAt(0)&&(s=s.slice(1,-1)),r[_]=a(s,n)}i=l+1}return r},t.serialize=function(e,t,o){var a=o||{},c=a.encode||i;if("function"!=typeof c)throw new TypeError("option encode is invalid");if(!n.test(e))throw new TypeError("argument name is invalid");var l=c(t);if(l&&!n.test(l))throw new TypeError("argument val is invalid");var _=e+"="+l;if(null!=a.maxAge){var s=a.maxAge-0;if(isNaN(s)||!isFinite(s))throw new TypeError("option maxAge is invalid");_+="; Max-Age="+Math.floor(s)}if(a.domain){if(!n.test(a.domain))throw new TypeError("option domain is invalid");_+="; Domain="+a.domain}if(a.path){if(!n.test(a.path))throw new TypeError("option path is invalid");_+="; Path="+a.path}if(a.expires){var u=a.expires;if(!function(e){return"[object Date]"===r.call(e)||e instanceof Date}(u)||isNaN(u.valueOf()))throw new TypeError("option expires is invalid");_+="; Expires="+u.toUTCString()}if(a.httpOnly&&(_+="; HttpOnly"),a.secure&&(_+="; Secure"),a.priority)switch("string"==typeof a.priority?a.priority.toLowerCase():a.priority){case"low":_+="; Priority=Low";break;case"medium":_+="; Priority=Medium";break;case"high":_+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(a.sameSite)switch("string"==typeof a.sameSite?a.sameSite.toLowerCase():a.sameSite){case!0:_+="; SameSite=Strict";break;case"lax":_+="; SameSite=Lax";break;case"strict":_+="; SameSite=Strict";break;case"none":_+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return _};var r=Object.prototype.toString,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function o(e){return-1!==e.indexOf("%")?decodeURIComponent(e):e}function i(e){return encodeURIComponent(e)}function a(e,t){try{return t(e)}catch(t){return e}}},251:function(e,t,r){var n=r(156),o=Symbol.for("react.element"),i=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var n,i={},_=null,s=null;for(n in void 0!==r&&(_=""+r),void 0!==t.key&&(_=""+t.key),void 0!==t.ref&&(s=t.ref),t)a.call(t,n)&&!l.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===i[n]&&(i[n]=t[n]);return{$$typeof:o,type:e,key:_,ref:s,props:i,_owner:c.current}}t.Fragment=i,t.jsx=_,t.jsxs=_},893:function(e,t,r){e.exports=r(251)},269:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__269__},899:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__899__},198:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__198__},300:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__300__},760:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__760__},467:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__467__},0:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__0__},654:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__654__},99:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__99__},656:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__656__},156:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__156__},111:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__111__},715:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__715__},383:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__383__},128:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__128__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return function(){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Barrier:function(){return u.Barrier},BaseModal:function(){return ie},Button:function(){return I},Checkbox:function(){return X},Dropdown:function(){return $},Emitter:function(){return u.Emitter},GlobalStateProvider:function(){return d.GlobalStateProvider},Input:function(){return G},JU:function(){return S},Link:function(){return D},MetaTags:function(){return te},Modal:function(){return ce},NavLink:function(){return le},PT:function(){return h},PageLayout:function(){return Z},ScalableRect:function(){return se},Semaphore:function(){return u.Semaphore},ThemeProvider:function(){return e.ThemeProvider},Throbber:function(){return pe},WithTooltip:function(){return Te},YouTubeVideo:function(){return Se},api:function(){return q()},client:function(){return Le},config:function(){return i},getGlobalState:function(){return d.getGlobalState},getSsrContext:function(){return p},isomorphy:function(){return a},server:function(){return Ae},splitComponent:function(){return k},themed:function(){return C},time:function(){return m},useAsyncCollection:function(){return d.useAsyncCollection},useAsyncData:function(){return d.useAsyncData},useGlobalState:function(){return d.useGlobalState},webpack:function(){return n},withGlobalStateType:function(){return d.withGlobalStateType},withRetries:function(){return A}});var e=__webpack_require__(198),t=__webpack_require__.n(e),r=__webpack_require__(848),n=__webpack_require__(911);const o=(r.b?__webpack_require__(88).Z().CONFIG:(0,n.requireWeak)("config"))||{};if(r.b&&"undefined"!=typeof document){const e=__webpack_require__(489);o.CSRF=e.parse(document.cookie).csrfToken}var i=o,a=__webpack_require__(463),c=__webpack_require__(489),l=__webpack_require__(760),_=__webpack_require__.n(l),s=__webpack_require__(156),u=__webpack_require__(269),d=__webpack_require__(899);const{getSsrContext:p}=(0,d.withGlobalStateType)(),f={DAY_MS:u.DAY_MS,HOUR_MS:u.HOUR_MS,MIN_MS:u.MIN_MS,SEC_MS:u.SEC_MS,YEAR_MS:u.YEAR_MS,now:Date.now,timer:u.timer,useCurrent:function(){let{autorefresh:e=!1,globalStatePath:t="currentTime",precision:r=5*u.SEC_MS}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,o]=(0,d.useGlobalState)(t,Date.now);return(0,s.useEffect)((()=>{let t;const n=()=>{o((e=>{const t=Date.now();return Math.abs(t-e)>r?t:e})),e&&(t=setTimeout(n,r))};return n(),()=>{t&&clearTimeout(t)}}),[e,r,o]),n},useTimezoneOffset:function(){let{cookieName:e="timezoneOffset",globalStatePath:t="timezoneOffset"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=p(!1),[n,o]=(0,d.useGlobalState)(t,(()=>{var t;const n=e&&(null==r||null===(t=r.req)||void 0===t||null===(t=t.cookies)||void 0===t?void 0:t[e]);return n?parseInt(n,10):0}));return(0,s.useEffect)((()=>{const t=(new Date).getTimezoneOffset();o(t),e&&(document.cookie=c.serialize(e,t.toString(),{path:"/"}))}),[e,o]),n}};var m=Object.assign(_(),f),h=__webpack_require__(99),E=__webpack_require__.n(h),b=__webpack_require__(893);let w;a.IS_CLIENT_SIDE&&(w=__webpack_require__(88).Z().CHUNK_GROUPS||{});const g={};function v(){return(0,a.getBuildInfo)().publicPath}function y(e,t,r){let n;const o=`${v()}/${e}`,i=`${document.location.origin}${o}`;if(!t.has(i)){let e=document.querySelector(`link[href="${o}"]`);e||(e=document.createElement("link"),e.setAttribute("rel","stylesheet"),e.setAttribute("href",o),document.head.appendChild(e)),n=new u.Barrier,e.addEventListener("load",(()=>n.resolve())),e.addEventListener("error",(()=>n.resolve()))}if(r){const e=g[o]||0;g[o]=1+e}return n}function T(e,t){if(!t[e])throw Error(`Unknown chunk name "${e}"`)}function x(e,t,r){const n=[],o=t[e],i=function(){const e=new Set,{styleSheets:t}=document;for(let r=0;r<t.length;++r){const{href:n}=t[r];n&&e.add(n)}return e}();for(let e=0;e<o.length;++e){const t=o[e];if(t.endsWith(".css")){const e=y(t,i,r);e&&n.push(e)}}return n.length?Promise.allSettled(n).then():Promise.resolve()}const P=new Set;function k(e){let{chunkName:t,getComponent:r,placeholder:n}=e;if(a.IS_CLIENT_SIDE&&T(t,w),P.has(t))throw Error(`Repeated splitComponent() call for the chunk "${t}"`);P.add(t);const o=(0,s.lazy)((async()=>{const e=await r(),n="default"in e?e.default:e;a.IS_CLIENT_SIDE&&await x(t,w,!1);const o=(0,s.forwardRef)(((e,r)=>{let{children:o,...i}=e;if(a.IS_SERVER_SIDE){const{chunkGroups:e,chunks:r}=p();T(t,e),r.includes(t)||r.push(t)}return(0,s.useInsertionEffect)((()=>(x(t,w,!0),()=>function(e,t){const r=t[e];for(let e=0;e<r.length;++e){const t=r[e];if(t.endsWith(".css")){const e=`${v()}/${t}`;--g[e]<=0&&document.head.querySelector(`link[href="${e}"]`).remove()}}}(t,w))),[]),(0,b.jsx)(n,{ref:r,...i,children:o})}));return{default:o}})),i=e=>{let{children:t,...r}=e;return(0,b.jsx)(s.Suspense,{fallback:n,children:(0,b.jsx)(o,{...r,children:t})})};return i.propTypes={children:E().node},i.defaultProps={children:void 0},i}const C=t();let O;C.COMPOSE=e.COMPOSE,C.PRIORITY=e.PRIORITY;try{O=process.env.NODE_CONFIG_ENV}catch{}const S="production"!==(O||"production")?n.requireWeak("./jest","/"):null;async function A(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;for(let n=1;;++n)try{return await e()}catch(e){if(!(n<t))throw e;await m.timer(r)}}var L=__webpack_require__(300),q=__webpack_require__.n(L),R=__webpack_require__(128);const N=e=>{let{children:t,className:r,disabled:n,enforceA:o,keepScrollPosition:i,onClick:a,onMouseDown:c,openNewTab:l,replace:_,routerLinkType:s,to:u,...d}=e;if(n||o||l||null!=u&&u.match(/^(#|(https?|mailto):)/))return(0,b.jsx)("a",{className:(r?r+" ":"")+"zH52sA",href:u,onClick:n?e=>e.preventDefault():a,onMouseDown:n?e=>e.preventDefault():c,rel:"noopener noreferrer",target:l?"_blank":"",children:t});const p=s;return(0,b.jsx)(p,{className:r,onMouseDown:c,replace:_,to:u,onClick:e=>{a&&a(e),i||window.scroll(0,0)},...d,children:t})};N.defaultProps={children:null,className:"",disabled:!1,enforceA:!1,keepScrollPosition:!1,onClick:void 0,onMouseDown:void 0,openNewTab:!1,replace:!1,to:""},N.propTypes={children:E().node,className:E().string,disabled:E().bool,enforceA:E().bool,keepScrollPosition:E().bool,onClick:E().func,onMouseDown:E().func,openNewTab:E().bool,replace:E().bool,routerLinkType:E().elementType.isRequired,to:E().oneOfType([E().object,E().string])};var M=N,D=e=>(0,b.jsx)(M,{...e,routerLinkType:R.Link});const j=e=>{let{active:t,children:r,disabled:n,enforceA:o,onClick:i,onMouseDown:a,openNewTab:c,replace:l,theme:_,to:s}=e,u=_.button;return t&&_.active&&(u+=` ${_.active}`),n?(_.disabled&&(u+=` ${_.disabled}`),(0,b.jsx)("div",{className:u,children:r})):s?(0,b.jsx)(D,{className:u,enforceA:o,onClick:i,onMouseDown:a,openNewTab:c,replace:l,to:s,children:r}):(0,b.jsx)("div",{className:u,onClick:i,onKeyDown:i,onMouseDown:a,role:"button",tabIndex:0,children:r})},B=t()(j,"Button",["active","button","disabled"],{button:"E1FNQT",context:"KM0v4f",ad:"_3jm1-Q",hoc:"_0plpDL",active:"MAe9O6",disabled:"Br9IWV"});j.defaultProps={active:!1,children:void 0,disabled:!1,enforceA:!1,onClick:void 0,onMouseDown:void 0,openNewTab:!1,replace:!1,to:void 0},j.propTypes={active:E().bool,children:E().node,disabled:E().bool,enforceA:E().bool,onClick:E().func,onMouseDown:E().func,openNewTab:E().bool,replace:E().bool,theme:B.themeType.isRequired,to:E().oneOfType([E().object,E().string])};var I=B;const W=e=>{let{checked:t,label:r,onChange:n,theme:o}=e;return(0,b.jsxs)("div",{className:o.container,children:[void 0===r?null:(0,b.jsx)("p",{className:o.label,children:r}),(0,b.jsx)("input",{checked:t,className:o.checkbox,onChange:n,type:"checkbox"})]})},U=t()(W,"Checkbox",["checkbox","container","label"],{checkbox:"A-f8qJ",context:"dNQcC6",ad:"earXxa",hoc:"qAPfQ6",container:"Kr0g3M",label:"_3dML-O"});W.propTypes={checked:E().bool,label:E().string,onChange:E().func,theme:U.themeType.isRequired},W.defaultProps={checked:void 0,label:void 0,onChange:void 0};var X=U;const K=e=>{let{filter:t,label:r,onChange:n,options:o=[],theme:i,value:a}=e,c=!1;const l=[];for(let e=0;e<o.length;++e){const r=o[e];if(!t||t(r)){let e,t;"string"==typeof r?(t=r,e=r):(t=r.name||r.value,e=r.value),c||(c=e===a),l.push((0,b.jsx)("option",{className:i.option,value:e,children:t},e))}}const _=c?null:(0,b.jsx)("option",{disabled:!0,className:i.hiddenOption,value:a,children:a},"__reactUtilsHiddenOption");return(0,b.jsxs)("div",{className:i.container,children:[void 0===r?null:(0,b.jsx)("p",{className:i.label,children:r}),(0,b.jsxs)("select",{className:i.select,onChange:n,value:a,children:[_,l]}),(0,b.jsx)("div",{className:i.arrow,children:"▼"})]})},Y=t()(K,"Dropdown",["arrow","container","hiddenOption","label","option","select"],{arrow:"-zPK7Y",context:"haRIry",ad:"D4XHG2",hoc:"N3nd34",container:"_9CQpeA",label:"Gv0kyu",hiddenOption:"RdW3yR",select:"JXK1uw"});K.propTypes={filter:E().func,label:E().string,onChange:E().func,options:E().arrayOf(E().oneOfType([E().shape({name:E().string,value:E().string.isRequired}),E().string]).isRequired),theme:Y.themeType.isRequired,value:E().string},K.defaultProps={filter:void 0,label:void 0,onChange:void 0,options:[],value:""};var $=Y;const z=(0,s.forwardRef)(((e,t)=>{let{label:r,theme:n,...o}=e;return(0,b.jsxs)("span",{className:n.container,children:[void 0===r?null:(0,b.jsx)("p",{className:n.label,children:r}),(0,b.jsx)("input",{className:n.input,ref:t,...o})]})})),F=t()(z,"Input",["container","input","label"],{container:"Cxx397",context:"X5WszA",ad:"_8s7GCr",hoc:"TVlBYc",input:"M07d4s",label:"gfbdq-"});z.propTypes={label:E().string,theme:F.themeType.isRequired},z.defaultProps={label:void 0};var G=F;const H=e=>{let{children:t,leftSidePanelContent:r,rightSidePanelContent:n,theme:o}=e;return(0,b.jsxs)("div",{className:o.container,children:[(0,b.jsx)("div",{className:[o.sidePanel,o.leftSidePanel].join(" "),children:r}),(0,b.jsx)("div",{className:o.mainPanel,children:t}),(0,b.jsx)("div",{className:[o.sidePanel,o.rightSidePanel].join(" "),children:n})]})},V=t()(H,"PageLayout",["container","leftSidePanel","mainPanel","rightSidePanel","sidePanel"],{container:"T3cuHB",context:"m4mL-M",ad:"m3-mdC",hoc:"J15Z4H",mainPanel:"pPlQO2",sidePanel:"lqNh4h"});H.propTypes={children:E().node,leftSidePanelContent:E().node,rightSidePanelContent:E().node,theme:V.themeType.isRequired},H.defaultProps={children:null,leftSidePanelContent:null,rightSidePanelContent:null};var Z=V,J=__webpack_require__(383);const Q=(0,s.createContext)({description:"",title:""}),ee=e=>{let{children:t,description:r,image:n,siteName:o,socialDescription:i,socialTitle:a,title:c,url:l}=e;const _=a||c,u=i||r,d=(0,s.useMemo)((()=>({description:r,image:n,siteName:o,socialDescription:i,socialTitle:a,title:c,url:l})),[r,n,o,i,a,c,l]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(J.Helmet,{children:[(0,b.jsx)("title",{children:c}),(0,b.jsx)("meta",{name:"description",content:r}),(0,b.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,b.jsx)("meta",{name:"twitter:title",content:_}),(0,b.jsx)("meta",{name:"twitter:description",content:u}),n?(0,b.jsx)("meta",{name:"twitter:image",content:n}):null,o?(0,b.jsx)("meta",{name:"twitter:site",content:`@${o}`}):null,(0,b.jsx)("meta",{name:"og:title",content:_}),n?(0,b.jsx)("meta",{name:"og:image",content:n}):null,n?(0,b.jsx)("meta",{name:"og:image:alt",content:_}):null,(0,b.jsx)("meta",{name:"og:description",content:u}),o?(0,b.jsx)("meta",{name:"og:sitename",content:o}):null,l?(0,b.jsx)("meta",{name:"og:url",content:l}):null]}),t?(0,b.jsx)(Q.Provider,{value:d,children:t}):null]})};ee.Context=Q,ee.defaultProps={children:null,image:"",siteName:"",socialDescription:"",socialTitle:"",url:""},ee.propTypes={children:E().node,description:E().string.isRequired,image:E().string,siteName:E().string,socialDescription:E().string,socialTitle:E().string,title:E().string.isRequired,url:E().string};var te=ee,re=__webpack_require__(467),ne=__webpack_require__(111),oe=__webpack_require__.n(ne);const ie=e=>{let{children:t,onCancel:r,theme:n}=e;const o=(0,s.useRef)(null),i=(0,s.useRef)(null),[a,c]=(0,s.useState)();(0,s.useEffect)((()=>{const e=document.createElement("div");return document.body.classList.add("scrolling-disabled-by-modal"),document.body.appendChild(e),c(e),()=>{document.body.classList.remove("scrolling-disabled-by-modal"),document.body.removeChild(e)}}),[]);const l=(0,s.useMemo)((()=>(0,b.jsx)("div",{onFocus:()=>{var e,t;const r=null===(e=o.current)||void 0===e?void 0:e.querySelectorAll("*");for(let e=r.length-1;e>=0;--e)if(r[e].focus(),document.activeElement===r[e])return;null===(t=i.current)||void 0===t||t.focus()},tabIndex:0})),[]);return a?oe().createPortal((0,b.jsxs)(b.Fragment,{children:[l,(0,b.jsx)("div",{"aria-label":"Cancel",className:n.overlay,onClick:()=>r&&r(),onKeyDown:e=>{"Escape"===e.key&&r&&r()},ref:e=>{e&&e!==i.current&&(i.current=e,e.focus())},role:"button",tabIndex:0}),(0,b.jsx)("div",{"aria-modal":"true",className:n.container,onWheel:e=>e.stopPropagation(),ref:o,role:"dialog",children:t}),(0,b.jsx)("div",{onFocus:()=>{var e;null===(e=i.current)||void 0===e||e.focus()},tabIndex:0}),l]}),a):null},ae=t()(ie,"Modal",["container","overlay"],{overlay:"ye2BZo",context:"Szmbbz",ad:"Ah-Nsc",hoc:"Wki41G",container:"gyZ4rc"});ie.propTypes={onCancel:E().func,children:E().node,theme:ae.themeType.isRequired},ie.defaultProps={onCancel:re.noop,children:null};var ce=ae,le=e=>(0,b.jsx)(M,{...e,routerLinkType:R.NavLink});const _e=e=>{let{children:t,className:r,ratio:n}=e;const o=n.split(":"),i=100*parseFloat(o[1])/parseFloat(o[0])+"%",a=(0,b.jsx)("div",{style:{paddingBottom:i},className:"EznFz3",children:(0,b.jsx)("div",{className:"_0vb7tq",children:t})});return r?(0,b.jsx)("div",{className:r,children:a}):a};_e.defaultProps={children:null,className:void 0,ratio:"1:1"},_e.propTypes={children:E().node,className:E().string,ratio:(e,t)=>{const r=e[t];return void 0===r?null:"string"!=typeof r?Error('"ratio" prop must be a string'):r.match(/\d+:\d+/)?null:Error('"ratio" prop must have "H:W" format')}};var se=_e;const ue=e=>{let{theme:t}=e;return(0,b.jsxs)("span",{className:(t.container?t.container+" ":"")+"_7zdld4",children:[(0,b.jsx)("span",{className:(t.circle?t.circle+" ":"")+"dBrB4g"}),(0,b.jsx)("span",{className:(t.circle?t.circle+" ":"")+"dBrB4g"}),(0,b.jsx)("span",{className:(t.circle?t.circle+" ":"")+"dBrB4g"})]})},de=t()(ue,"Throbber",["bouncing","circle","container"],{container:"_7zdld4",context:"uIObt7",ad:"XIxe9o",hoc:"YOyORH",circle:"dBrB4g",bouncing:"TJe-6j"});ue.propTypes={theme:de.themeType.isRequired};var pe=de;let fe=function(e){return e.ABOVE_CURSOR="ABOVE_CURSOR",e.ABOVE_ELEMENT="ABOVE_ELEMENT",e.BELOW_CURSOR="BELOW_CURSOR",e.BELOW_ELEMENT="BELOW_ELEMENT",e}({});const me=["border-bottom-color:transparent","border-left-color:transparent","border-right-color:transparent"].join(";"),he=["border-top-color:transparent","border-left-color:transparent","border-right-color:transparent"].join(";");function Ee(e,t,r,n,o){const i=function(e){return{arrow:e.arrow.getBoundingClientRect(),container:e.container.getBoundingClientRect()}}(o),a=function(){const{scrollX:e,scrollY:t}=window,{documentElement:{clientHeight:r,clientWidth:n}}=document;return{left:e,right:e+n,top:t,bottom:t+r}}(),c=function(e,t,r){const{arrow:n,container:o}=r;return{arrowX:.5*(o.width-n.width),arrowY:o.height,containerX:e-o.width/2,containerY:t-o.height-n.height/1.5,baseArrowStyle:me}}(e,t,i);if(c.containerX<a.left+6)c.containerX=a.left+6,c.arrowX=Math.max(6,e-c.containerX-i.arrow.width/2);else{const t=a.right-6-i.container.width;c.containerX>t&&(c.containerX=t,c.arrowX=Math.min(i.container.width-6,e-c.containerX-i.arrow.width/2))}c.containerY<a.top+6&&(c.containerY+=i.container.height+2*i.arrow.height,c.arrowY-=i.container.height+i.arrow.height,c.baseArrowStyle=he);const l=`left:${c.containerX}px;top:${c.containerY}px`;o.container.setAttribute("style",l);const _=`${c.baseArrowStyle};left:${c.arrowX}px;top:${c.arrowY}px`;o.arrow.setAttribute("style",_)}const be=(0,s.forwardRef)(((e,t)=>{let{children:r,theme:n}=e;const{current:o}=(0,s.useRef)({lastElement:void 0,lastPageX:0,lastPageY:0,lastPlacement:void 0}),[i,a]=(0,s.useState)(null),c=(e,t,r,n)=>{o.lastElement=n,o.lastPageX=e,o.lastPageY=t,o.lastPlacement=r,i&&Ee(e,t,0,0,i)};return(0,s.useImperativeHandle)(t,(()=>({pointTo:c}))),(0,s.useEffect)((()=>{const e=function(e){const t=document.createElement("div");e.arrow&&t.setAttribute("class",e.arrow);const r=document.createElement("div");e.content&&r.setAttribute("class",e.content);const n=document.createElement("div");return e.container&&n.setAttribute("class",e.container),n.appendChild(t),n.appendChild(r),document.body.appendChild(n),{container:n,arrow:t,content:r}}(n);return a(e),()=>{document.body.removeChild(e.container),a(null)}}),[n]),(0,s.useEffect)((()=>{i&&Ee(o.lastPageX,o.lastPageY,o.lastPlacement,o.lastElement,i)}),[i,o.lastPageX,o.lastPageY,o.lastPlacement,o.lastElement]),i?(0,ne.createPortal)(r,i.content):null}));be.propTypes={children:E().node,theme:E().shape({}).isRequired},be.defaultProps={children:null};var we=be;const ge=e=>{let{children:t,placement:r,tip:n,theme:o}=e;const{current:i}=(0,s.useRef)({lastCursorX:0,lastCursorY:0,triggeredByTouch:!1,timerId:void 0}),a=(0,s.useRef)(),c=(0,s.useRef)(null),[l,_]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{if(l&&null!==n){a.current&&a.current.pointTo(i.lastCursorX+window.scrollX,i.lastCursorY+window.scrollY,r,c.current);const e=()=>_(!1);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}}),[i.lastCursorX,i.lastCursorY,r,l,n]),(0,b.jsxs)("div",{className:o.wrapper,onMouseLeave:()=>_(!1),onMouseMove:e=>((e,t)=>{if(l){const n=c.current.getBoundingClientRect();e<n.left||e>n.right||t<n.top||t>n.bottom?_(!1):a.current&&a.current.pointTo(e+window.scrollX,t+window.scrollY,r,c.current)}else i.lastCursorX=e,i.lastCursorY=t,i.triggeredByTouch?i.timerId||(i.timerId=setTimeout((()=>{i.triggeredByTouch=!1,i.timerId=void 0,_(!0)}),300)):_(!0)})(e.clientX,e.clientY),onClick:()=>{i.timerId&&(clearTimeout(i.timerId),i.timerId=void 0,i.triggeredByTouch=!1)},onTouchStart:()=>{i.triggeredByTouch=!0},ref:c,role:"presentation",children:[l&&null!==n?(0,b.jsx)(we,{ref:a,theme:o,children:n}):null,t]})},ve=t()(ge,"WithTooltip",["appearance","arrow","container","content","wrapper"],{arrow:"M9gywF",ad:"_4xT7zE",hoc:"zd-vnH",context:"GdZucr",container:"f9gY8K",appearance:"L4ubm-",wrapper:"_4qDBRM"}),ye=ve;ye.PLACEMENTS=fe,ge.propTypes={children:E().node,placement:E().oneOf(Object.values(fe)),theme:ve.themeType.isRequired,tip:E().node},ge.defaultProps={children:null,placement:fe.ABOVE_CURSOR,tip:null};var Te=ye,xe=__webpack_require__(656),Pe=__webpack_require__.n(xe),ke={container:"jTxmOX",context:"dzIcLh",ad:"_5a9XX1",hoc:"_7sH52O"};const Ce=e=>{var t;let{autoplay:r,src:n,theme:o,title:i}=e;const a=n.split("?");let c=a[0];const l=a[1],_=l?Pe().parse(l):{},s=_.v||(null===(t=c.match(/\/([a-zA-Z0-9-_]*)$/))||void 0===t?void 0:t[1]);return c=`https://www.youtube.com/embed/${s}`,delete _.v,_.autoplay=r?"1":"0",c+=`?${Pe().stringify(_)}`,(0,b.jsxs)(se,{className:o.container,ratio:"16:9",children:[(0,b.jsx)(pe,{theme:ke}),(0,b.jsx)("iframe",{allow:"autoplay",allowFullScreen:!0,className:o.video,src:c,title:i})]})},Oe=t()(Ce,"YouTubeVideo",["container","video"],{container:"sXHM81",context:"veKyYi",ad:"r3ABzd",hoc:"YKcPnR",video:"SlV2zw"});Ce.propTypes={autoplay:E().bool,src:E().string.isRequired,theme:Oe.themeType.isRequired,title:E().string},Ce.defaultProps={autoplay:!1,title:""};var Se=Oe;const Ae=n.requireWeak("./server","/"),Le=Ae?void 0:__webpack_require__(7).Z}(),__webpack_exports__}()}));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@dr.pogodin/js-utils"),require("@dr.pogodin/react-global-state"),require("@dr.pogodin/react-themes"),require("axios"),require("dayjs"),require("lodash"),require("node-forge/lib/aes"),require("node-forge/lib/forge"),require("prop-types"),require("qs"),require("react"),require("react-dom"),require("react-dom/client"),require("react-helmet"),require("react-router-dom")):"function"==typeof define&&define.amd?define(["@dr.pogodin/js-utils","@dr.pogodin/react-global-state","@dr.pogodin/react-themes","axios","dayjs","lodash","node-forge/lib/aes","node-forge/lib/forge","prop-types","qs","react","react-dom","react-dom/client","react-helmet","react-router-dom"],t):"object"==typeof exports?exports["@dr.pogodin/react-utils"]=t(require("@dr.pogodin/js-utils"),require("@dr.pogodin/react-global-state"),require("@dr.pogodin/react-themes"),require("axios"),require("dayjs"),require("lodash"),require("node-forge/lib/aes"),require("node-forge/lib/forge"),require("prop-types"),require("qs"),require("react"),require("react-dom"),require("react-dom/client"),require("react-helmet"),require("react-router-dom")):e["@dr.pogodin/react-utils"]=t(e["@dr.pogodin/js-utils"],e["@dr.pogodin/react-global-state"],e["@dr.pogodin/react-themes"],e.axios,e.dayjs,e.lodash,e["node-forge/lib/aes"],e["node-forge/lib/forge"],e["prop-types"],e.qs,e.react,e["react-dom"],e["react-dom/client"],e["react-helmet"],e["react-router-dom"])}("undefined"!=typeof self?self:this,(function(__WEBPACK_EXTERNAL_MODULE__269__,__WEBPACK_EXTERNAL_MODULE__899__,__WEBPACK_EXTERNAL_MODULE__198__,__WEBPACK_EXTERNAL_MODULE__300__,__WEBPACK_EXTERNAL_MODULE__760__,__WEBPACK_EXTERNAL_MODULE__467__,__WEBPACK_EXTERNAL_MODULE__0__,__WEBPACK_EXTERNAL_MODULE__654__,__WEBPACK_EXTERNAL_MODULE__99__,__WEBPACK_EXTERNAL_MODULE__656__,__WEBPACK_EXTERNAL_MODULE__156__,__WEBPACK_EXTERNAL_MODULE__111__,__WEBPACK_EXTERNAL_MODULE__715__,__WEBPACK_EXTERNAL_MODULE__383__,__WEBPACK_EXTERNAL_MODULE__128__){return function(){"use strict";var __webpack_modules__={88:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Z:function(){return getInj}});var node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(654),node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0__),node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(node_forge_lib_aes__WEBPACK_IMPORTED_MODULE_1__),_shared_utils_isomorphy_buildInfo__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(120);let inj={};const metaElement="undefined"!=typeof document?document.querySelector('meta[itemprop="drpruinj"]'):null;if(metaElement){metaElement.remove();let data=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.decode64(metaElement.content);const{key:key}=(0,_shared_utils_isomorphy_buildInfo__WEBPACK_IMPORTED_MODULE_2__.J)(),d=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().cipher.createDecipher("AES-CBC",key);d.start({iv:data.slice(0,key.length)}),d.update(node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.createBuffer(data.slice(key.length))),d.finish(),data=node_forge_lib_forge__WEBPACK_IMPORTED_MODULE_0___default().util.decodeUtf8(d.output.data),inj=eval(`(${data})`)}else inj={};function getInj(){return inj}},7:function(e,t,r){r.d(t,{Z:function(){return l}}),r(156);var n=r(899),o=r(715),i=r(128),a=r(88),c=r(893);function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=document.getElementById("react-view");if(!r)throw Error("Failed to find container for React app");const l=(0,c.jsx)(n.GlobalStateProvider,{initialState:(0,a.Z)().ISTATE,children:(0,c.jsx)(i.BrowserRouter,{children:(0,c.jsx)(e,{})})});t.dontHydrate?(0,o.createRoot)(r).render(l):(0,o.hydrateRoot)(r,l)}},120:function(e,t,r){let n;function o(){if(void 0===n)throw Error('"Build Info" has not been initialized yet');return n}r.d(t,{J:function(){return o}}),"undefined"!=typeof BUILD_INFO&&(n=BUILD_INFO)},848:function(e,t,r){r.d(t,{b:function(){return n},x:function(){return o}});const n="object"!=typeof process||!process.versions||!process.versions.node||!!r.g.REACT_UTILS_FORCE_CLIENT_SIDE,o=!n},463:function(e,t,r){r.r(t),r.d(t,{IS_CLIENT_SIDE:function(){return o.b},IS_SERVER_SIDE:function(){return o.x},buildTimestamp:function(){return c},getBuildInfo:function(){return n.J},isDevBuild:function(){return i},isProdBuild:function(){return a}});var n=r(120),o=r(848);function i(){return!1}function a(){return!0}function c(){return(0,n.J)().timestamp}},911:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{requireWeak:function(){return requireWeak},resolveWeak:function(){return resolveWeak}});var _isomorphy__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(463);function requireWeak(modulePath,basePath){if(_isomorphy__WEBPACK_IMPORTED_MODULE_0__.IS_CLIENT_SIDE)return null;try{const{resolve:resolve}=eval("require")("path"),path=basePath?resolve(basePath,modulePath):modulePath,{default:def,...named}=eval("require")(path);return def?(Object.entries(named).forEach((e=>{let[t,r]=e;if(def[t])throw Error("Conflict between default and named exports");def[t]=r})),def):named}catch{return null}}function resolveWeak(e){return e}},489:function(e,t){t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},n=(t||{}).decode||o,i=0;i<e.length;){var c=e.indexOf("=",i);if(-1===c)break;var l=e.indexOf(";",i);if(-1===l)l=e.length;else if(l<c){i=e.lastIndexOf(";",c-1)+1;continue}var _=e.slice(i,c).trim();if(void 0===r[_]){var s=e.slice(c+1,l).trim();34===s.charCodeAt(0)&&(s=s.slice(1,-1)),r[_]=a(s,n)}i=l+1}return r},t.serialize=function(e,t,o){var a=o||{},c=a.encode||i;if("function"!=typeof c)throw new TypeError("option encode is invalid");if(!n.test(e))throw new TypeError("argument name is invalid");var l=c(t);if(l&&!n.test(l))throw new TypeError("argument val is invalid");var _=e+"="+l;if(null!=a.maxAge){var s=a.maxAge-0;if(isNaN(s)||!isFinite(s))throw new TypeError("option maxAge is invalid");_+="; Max-Age="+Math.floor(s)}if(a.domain){if(!n.test(a.domain))throw new TypeError("option domain is invalid");_+="; Domain="+a.domain}if(a.path){if(!n.test(a.path))throw new TypeError("option path is invalid");_+="; Path="+a.path}if(a.expires){var u=a.expires;if(!function(e){return"[object Date]"===r.call(e)||e instanceof Date}(u)||isNaN(u.valueOf()))throw new TypeError("option expires is invalid");_+="; Expires="+u.toUTCString()}if(a.httpOnly&&(_+="; HttpOnly"),a.secure&&(_+="; Secure"),a.priority)switch("string"==typeof a.priority?a.priority.toLowerCase():a.priority){case"low":_+="; Priority=Low";break;case"medium":_+="; Priority=Medium";break;case"high":_+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(a.sameSite)switch("string"==typeof a.sameSite?a.sameSite.toLowerCase():a.sameSite){case!0:_+="; SameSite=Strict";break;case"lax":_+="; SameSite=Lax";break;case"strict":_+="; SameSite=Strict";break;case"none":_+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return _};var r=Object.prototype.toString,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function o(e){return-1!==e.indexOf("%")?decodeURIComponent(e):e}function i(e){return encodeURIComponent(e)}function a(e,t){try{return t(e)}catch(t){return e}}},251:function(e,t,r){var n=r(156),o=Symbol.for("react.element"),i=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var n,i={},_=null,s=null;for(n in void 0!==r&&(_=""+r),void 0!==t.key&&(_=""+t.key),void 0!==t.ref&&(s=t.ref),t)a.call(t,n)&&!l.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===i[n]&&(i[n]=t[n]);return{$$typeof:o,type:e,key:_,ref:s,props:i,_owner:c.current}}t.Fragment=i,t.jsx=_,t.jsxs=_},893:function(e,t,r){e.exports=r(251)},269:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__269__},899:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__899__},198:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__198__},300:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__300__},760:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__760__},467:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__467__},0:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__0__},654:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__654__},99:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__99__},656:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__656__},156:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__156__},111:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__111__},715:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__715__},383:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__383__},128:function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__128__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return function(){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Barrier:function(){return u.Barrier},BaseModal:function(){return ie},Button:function(){return I},Checkbox:function(){return X},Dropdown:function(){return $},Emitter:function(){return u.Emitter},GlobalStateProvider:function(){return d.GlobalStateProvider},Input:function(){return G},JU:function(){return S},Link:function(){return D},MetaTags:function(){return te},Modal:function(){return ce},NavLink:function(){return le},PT:function(){return h},PageLayout:function(){return Z},ScalableRect:function(){return se},Semaphore:function(){return u.Semaphore},ThemeProvider:function(){return e.ThemeProvider},Throbber:function(){return pe},WithTooltip:function(){return Te},YouTubeVideo:function(){return Se},api:function(){return q()},client:function(){return Le},config:function(){return i},getGlobalState:function(){return d.getGlobalState},getSsrContext:function(){return p},isomorphy:function(){return a},server:function(){return Ae},splitComponent:function(){return k},themed:function(){return C},time:function(){return m},useAsyncCollection:function(){return d.useAsyncCollection},useAsyncData:function(){return d.useAsyncData},useGlobalState:function(){return d.useGlobalState},webpack:function(){return n},withGlobalStateType:function(){return d.withGlobalStateType},withRetries:function(){return A}});var e=__webpack_require__(198),t=__webpack_require__.n(e),r=__webpack_require__(848),n=__webpack_require__(911);const o=(r.b?__webpack_require__(88).Z().CONFIG:(0,n.requireWeak)("config"))||{};if(r.b&&"undefined"!=typeof document){const e=__webpack_require__(489);o.CSRF=e.parse(document.cookie).csrfToken}var i=o,a=__webpack_require__(463),c=__webpack_require__(489),l=__webpack_require__(760),_=__webpack_require__.n(l),s=__webpack_require__(156),u=__webpack_require__(269),d=__webpack_require__(899);const{getSsrContext:p}=(0,d.withGlobalStateType)(),f={DAY_MS:u.DAY_MS,HOUR_MS:u.HOUR_MS,MIN_MS:u.MIN_MS,SEC_MS:u.SEC_MS,YEAR_MS:u.YEAR_MS,now:Date.now,timer:u.timer,useCurrent:function(){let{autorefresh:e=!1,globalStatePath:t="currentTime",precision:r=5*u.SEC_MS}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,o]=(0,d.useGlobalState)(t,Date.now);return(0,s.useEffect)((()=>{let t;const n=()=>{o((e=>{const t=Date.now();return Math.abs(t-e)>r?t:e})),e&&(t=setTimeout(n,r))};return n(),()=>{t&&clearTimeout(t)}}),[e,r,o]),n},useTimezoneOffset:function(){let{cookieName:e="timezoneOffset",globalStatePath:t="timezoneOffset"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=p(!1),[n,o]=(0,d.useGlobalState)(t,(()=>{var t;const n=e&&(null==r||null===(t=r.req)||void 0===t||null===(t=t.cookies)||void 0===t?void 0:t[e]);return n?parseInt(n,10):0}));return(0,s.useEffect)((()=>{const t=(new Date).getTimezoneOffset();o(t),e&&(document.cookie=c.serialize(e,t.toString(),{path:"/"}))}),[e,o]),n}};var m=Object.assign(_(),f),h=__webpack_require__(99),E=__webpack_require__.n(h),b=__webpack_require__(893);let w;a.IS_CLIENT_SIDE&&(w=__webpack_require__(88).Z().CHUNK_GROUPS||{});const g={};function v(){return(0,a.getBuildInfo)().publicPath}function y(e,t,r){let n;const o=`${v()}/${e}`,i=`${document.location.origin}${o}`;if(!t.has(i)){let e=document.querySelector(`link[href="${o}"]`);e||(e=document.createElement("link"),e.setAttribute("rel","stylesheet"),e.setAttribute("href",o),document.head.appendChild(e)),n=new u.Barrier,e.addEventListener("load",(()=>n.resolve())),e.addEventListener("error",(()=>n.resolve()))}if(r){const e=g[o]||0;g[o]=1+e}return n}function T(e,t){if(!t[e])throw Error(`Unknown chunk name "${e}"`)}function x(e,t,r){const n=[],o=t[e],i=function(){const e=new Set,{styleSheets:t}=document;for(let r=0;r<t.length;++r){const{href:n}=t[r];n&&e.add(n)}return e}();for(let e=0;e<o.length;++e){const t=o[e];if(t.endsWith(".css")){const e=y(t,i,r);e&&n.push(e)}}return n.length?Promise.allSettled(n).then():Promise.resolve()}const P=new Set;function k(e){let{chunkName:t,getComponent:r,placeholder:n}=e;if(a.IS_CLIENT_SIDE&&T(t,w),P.has(t))throw Error(`Repeated splitComponent() call for the chunk "${t}"`);P.add(t);const o=(0,s.lazy)((async()=>{const e=await r(),n="default"in e?e.default:e;a.IS_CLIENT_SIDE&&await x(t,w,!1);const o=(0,s.forwardRef)(((e,r)=>{let{children:o,...i}=e;if(a.IS_SERVER_SIDE){const{chunkGroups:e,chunks:r}=p();T(t,e),r.includes(t)||r.push(t)}return(0,s.useInsertionEffect)((()=>(x(t,w,!0),()=>function(e,t){const r=t[e];for(let e=0;e<r.length;++e){const t=r[e];if(t.endsWith(".css")){const e=`${v()}/${t}`;--g[e]<=0&&document.head.querySelector(`link[href="${e}"]`).remove()}}}(t,w))),[]),(0,b.jsx)(n,{ref:r,...i,children:o})}));return{default:o}})),i=e=>{let{children:t,...r}=e;return(0,b.jsx)(s.Suspense,{fallback:n,children:(0,b.jsx)(o,{...r,children:t})})};return i.propTypes={children:E().node},i.defaultProps={children:void 0},i}const C=t();let O;C.COMPOSE=e.COMPOSE,C.PRIORITY=e.PRIORITY;try{O=process.env.NODE_CONFIG_ENV}catch{}const S="production"!==(O||"production")?n.requireWeak("./jest","/"):null;async function A(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;for(let n=1;;++n)try{return await e()}catch(e){if(!(n<t))throw e;await m.timer(r)}}var L=__webpack_require__(300),q=__webpack_require__.n(L),R=__webpack_require__(128);const N=e=>{let{children:t,className:r,disabled:n,enforceA:o,keepScrollPosition:i,onClick:a,onMouseDown:c,openNewTab:l,replace:_,routerLinkType:s,to:u,...d}=e;if(n||o||l||null!=u&&u.match(/^(#|(https?|mailto):)/))return(0,b.jsx)("a",{className:(r?r+" ":"")+"zH52sA",href:u,onClick:n?e=>e.preventDefault():a,onMouseDown:n?e=>e.preventDefault():c,rel:"noopener noreferrer",target:l?"_blank":"",children:t});const p=s;return(0,b.jsx)(p,{className:r,onMouseDown:c,replace:_,to:u,onClick:e=>{a&&a(e),i||window.scroll(0,0)},...d,children:t})};N.defaultProps={children:null,className:"",disabled:!1,enforceA:!1,keepScrollPosition:!1,onClick:void 0,onMouseDown:void 0,openNewTab:!1,replace:!1,to:""},N.propTypes={children:E().node,className:E().string,disabled:E().bool,enforceA:E().bool,keepScrollPosition:E().bool,onClick:E().func,onMouseDown:E().func,openNewTab:E().bool,replace:E().bool,routerLinkType:E().elementType.isRequired,to:E().oneOfType([E().object,E().string])};var M=N,D=e=>(0,b.jsx)(M,{...e,routerLinkType:R.Link});const j=e=>{let{active:t,children:r,disabled:n,enforceA:o,onClick:i,onMouseDown:a,openNewTab:c,replace:l,theme:_,to:s}=e,u=_.button;return t&&_.active&&(u+=` ${_.active}`),n?(_.disabled&&(u+=` ${_.disabled}`),(0,b.jsx)("div",{className:u,children:r})):s?(0,b.jsx)(D,{className:u,enforceA:o,onClick:i,onMouseDown:a,openNewTab:c,replace:l,to:s,children:r}):(0,b.jsx)("div",{className:u,onClick:i,onKeyDown:i&&(e=>{"Enter"===e.key&&i(e)}),onMouseDown:a,role:"button",tabIndex:0,children:r})},B=t()(j,"Button",["active","button","disabled"],{button:"E1FNQT",context:"KM0v4f",ad:"_3jm1-Q",hoc:"_0plpDL",active:"MAe9O6",disabled:"Br9IWV"});j.defaultProps={active:!1,children:void 0,disabled:!1,enforceA:!1,onClick:void 0,onMouseDown:void 0,openNewTab:!1,replace:!1,to:void 0},j.propTypes={active:E().bool,children:E().node,disabled:E().bool,enforceA:E().bool,onClick:E().func,onMouseDown:E().func,openNewTab:E().bool,replace:E().bool,theme:B.themeType.isRequired,to:E().oneOfType([E().object,E().string])};var I=B;const W=e=>{let{checked:t,label:r,onChange:n,theme:o}=e;return(0,b.jsxs)("div",{className:o.container,children:[void 0===r?null:(0,b.jsx)("p",{className:o.label,children:r}),(0,b.jsx)("input",{checked:t,className:o.checkbox,onChange:n,type:"checkbox"})]})},U=t()(W,"Checkbox",["checkbox","container","label"],{checkbox:"A-f8qJ",context:"dNQcC6",ad:"earXxa",hoc:"qAPfQ6",container:"Kr0g3M",label:"_3dML-O"});W.propTypes={checked:E().bool,label:E().string,onChange:E().func,theme:U.themeType.isRequired},W.defaultProps={checked:void 0,label:void 0,onChange:void 0};var X=U;const K=e=>{let{filter:t,label:r,onChange:n,options:o=[],theme:i,value:a}=e,c=!1;const l=[];for(let e=0;e<o.length;++e){const r=o[e];if(!t||t(r)){let e,t;"string"==typeof r?(t=r,e=r):(t=r.name||r.value,e=r.value),c||(c=e===a),l.push((0,b.jsx)("option",{className:i.option,value:e,children:t},e))}}const _=c?null:(0,b.jsx)("option",{disabled:!0,className:i.hiddenOption,value:a,children:a},"__reactUtilsHiddenOption");return(0,b.jsxs)("div",{className:i.container,children:[void 0===r?null:(0,b.jsx)("p",{className:i.label,children:r}),(0,b.jsxs)("select",{className:i.select,onChange:n,value:a,children:[_,l]}),(0,b.jsx)("div",{className:i.arrow,children:"▼"})]})},Y=t()(K,"Dropdown",["arrow","container","hiddenOption","label","option","select"],{arrow:"-zPK7Y",context:"haRIry",ad:"D4XHG2",hoc:"N3nd34",container:"_9CQpeA",label:"Gv0kyu",hiddenOption:"RdW3yR",select:"JXK1uw"});K.propTypes={filter:E().func,label:E().string,onChange:E().func,options:E().arrayOf(E().oneOfType([E().shape({name:E().string,value:E().string.isRequired}),E().string]).isRequired),theme:Y.themeType.isRequired,value:E().string},K.defaultProps={filter:void 0,label:void 0,onChange:void 0,options:[],value:""};var $=Y;const z=(0,s.forwardRef)(((e,t)=>{let{label:r,theme:n,...o}=e;return(0,b.jsxs)("span",{className:n.container,children:[void 0===r?null:(0,b.jsx)("p",{className:n.label,children:r}),(0,b.jsx)("input",{className:n.input,ref:t,...o})]})})),F=t()(z,"Input",["container","input","label"],{container:"Cxx397",context:"X5WszA",ad:"_8s7GCr",hoc:"TVlBYc",input:"M07d4s",label:"gfbdq-"});z.propTypes={label:E().string,theme:F.themeType.isRequired},z.defaultProps={label:void 0};var G=F;const H=e=>{let{children:t,leftSidePanelContent:r,rightSidePanelContent:n,theme:o}=e;return(0,b.jsxs)("div",{className:o.container,children:[(0,b.jsx)("div",{className:[o.sidePanel,o.leftSidePanel].join(" "),children:r}),(0,b.jsx)("div",{className:o.mainPanel,children:t}),(0,b.jsx)("div",{className:[o.sidePanel,o.rightSidePanel].join(" "),children:n})]})},V=t()(H,"PageLayout",["container","leftSidePanel","mainPanel","rightSidePanel","sidePanel"],{container:"T3cuHB",context:"m4mL-M",ad:"m3-mdC",hoc:"J15Z4H",mainPanel:"pPlQO2",sidePanel:"lqNh4h"});H.propTypes={children:E().node,leftSidePanelContent:E().node,rightSidePanelContent:E().node,theme:V.themeType.isRequired},H.defaultProps={children:null,leftSidePanelContent:null,rightSidePanelContent:null};var Z=V,J=__webpack_require__(383);const Q=(0,s.createContext)({description:"",title:""}),ee=e=>{let{children:t,description:r,image:n,siteName:o,socialDescription:i,socialTitle:a,title:c,url:l}=e;const _=a||c,u=i||r,d=(0,s.useMemo)((()=>({description:r,image:n,siteName:o,socialDescription:i,socialTitle:a,title:c,url:l})),[r,n,o,i,a,c,l]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(J.Helmet,{children:[(0,b.jsx)("title",{children:c}),(0,b.jsx)("meta",{name:"description",content:r}),(0,b.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,b.jsx)("meta",{name:"twitter:title",content:_}),(0,b.jsx)("meta",{name:"twitter:description",content:u}),n?(0,b.jsx)("meta",{name:"twitter:image",content:n}):null,o?(0,b.jsx)("meta",{name:"twitter:site",content:`@${o}`}):null,(0,b.jsx)("meta",{name:"og:title",content:_}),n?(0,b.jsx)("meta",{name:"og:image",content:n}):null,n?(0,b.jsx)("meta",{name:"og:image:alt",content:_}):null,(0,b.jsx)("meta",{name:"og:description",content:u}),o?(0,b.jsx)("meta",{name:"og:sitename",content:o}):null,l?(0,b.jsx)("meta",{name:"og:url",content:l}):null]}),t?(0,b.jsx)(Q.Provider,{value:d,children:t}):null]})};ee.Context=Q,ee.defaultProps={children:null,image:"",siteName:"",socialDescription:"",socialTitle:"",url:""},ee.propTypes={children:E().node,description:E().string.isRequired,image:E().string,siteName:E().string,socialDescription:E().string,socialTitle:E().string,title:E().string.isRequired,url:E().string};var te=ee,re=__webpack_require__(467),ne=__webpack_require__(111),oe=__webpack_require__.n(ne);const ie=e=>{let{children:t,onCancel:r,theme:n}=e;const o=(0,s.useRef)(null),i=(0,s.useRef)(null),[a,c]=(0,s.useState)();(0,s.useEffect)((()=>{const e=document.createElement("div");return document.body.classList.add("scrolling-disabled-by-modal"),document.body.appendChild(e),c(e),()=>{document.body.classList.remove("scrolling-disabled-by-modal"),document.body.removeChild(e)}}),[]);const l=(0,s.useMemo)((()=>(0,b.jsx)("div",{onFocus:()=>{var e,t;const r=null===(e=o.current)||void 0===e?void 0:e.querySelectorAll("*");for(let e=r.length-1;e>=0;--e)if(r[e].focus(),document.activeElement===r[e])return;null===(t=i.current)||void 0===t||t.focus()},tabIndex:0})),[]);return a?oe().createPortal((0,b.jsxs)(b.Fragment,{children:[l,(0,b.jsx)("div",{"aria-label":"Cancel",className:n.overlay,onClick:()=>r&&r(),onKeyDown:e=>{"Escape"===e.key&&r&&r()},ref:e=>{e&&e!==i.current&&(i.current=e,e.focus())},role:"button",tabIndex:0}),(0,b.jsx)("div",{"aria-modal":"true",className:n.container,onWheel:e=>e.stopPropagation(),ref:o,role:"dialog",children:t}),(0,b.jsx)("div",{onFocus:()=>{var e;null===(e=i.current)||void 0===e||e.focus()},tabIndex:0}),l]}),a):null},ae=t()(ie,"Modal",["container","overlay"],{overlay:"ye2BZo",context:"Szmbbz",ad:"Ah-Nsc",hoc:"Wki41G",container:"gyZ4rc"});ie.propTypes={onCancel:E().func,children:E().node,theme:ae.themeType.isRequired},ie.defaultProps={onCancel:re.noop,children:null};var ce=ae,le=e=>(0,b.jsx)(M,{...e,routerLinkType:R.NavLink});const _e=e=>{let{children:t,className:r,ratio:n}=e;const o=n.split(":"),i=100*parseFloat(o[1])/parseFloat(o[0])+"%",a=(0,b.jsx)("div",{style:{paddingBottom:i},className:"EznFz3",children:(0,b.jsx)("div",{className:"_0vb7tq",children:t})});return r?(0,b.jsx)("div",{className:r,children:a}):a};_e.defaultProps={children:null,className:void 0,ratio:"1:1"},_e.propTypes={children:E().node,className:E().string,ratio:(e,t)=>{const r=e[t];return void 0===r?null:"string"!=typeof r?Error('"ratio" prop must be a string'):r.match(/\d+:\d+/)?null:Error('"ratio" prop must have "H:W" format')}};var se=_e;const ue=e=>{let{theme:t}=e;return(0,b.jsxs)("span",{className:t.container,children:[(0,b.jsx)("span",{className:t.circle}),(0,b.jsx)("span",{className:t.circle}),(0,b.jsx)("span",{className:t.circle})]})},de=t()(ue,"Throbber",["bouncing","circle","container"],{container:"_7zdld4",context:"uIObt7",ad:"XIxe9o",hoc:"YOyORH",circle:"dBrB4g",bouncing:"TJe-6j"});ue.propTypes={theme:de.themeType.isRequired};var pe=de;let fe=function(e){return e.ABOVE_CURSOR="ABOVE_CURSOR",e.ABOVE_ELEMENT="ABOVE_ELEMENT",e.BELOW_CURSOR="BELOW_CURSOR",e.BELOW_ELEMENT="BELOW_ELEMENT",e}({});const me=["border-bottom-color:transparent","border-left-color:transparent","border-right-color:transparent"].join(";"),he=["border-top-color:transparent","border-left-color:transparent","border-right-color:transparent"].join(";");function Ee(e,t,r,n,o){const i=function(e){return{arrow:e.arrow.getBoundingClientRect(),container:e.container.getBoundingClientRect()}}(o),a=function(){const{scrollX:e,scrollY:t}=window,{documentElement:{clientHeight:r,clientWidth:n}}=document;return{left:e,right:e+n,top:t,bottom:t+r}}(),c=function(e,t,r){const{arrow:n,container:o}=r;return{arrowX:.5*(o.width-n.width),arrowY:o.height,containerX:e-o.width/2,containerY:t-o.height-n.height/1.5,baseArrowStyle:me}}(e,t,i);if(c.containerX<a.left+6)c.containerX=a.left+6,c.arrowX=Math.max(6,e-c.containerX-i.arrow.width/2);else{const t=a.right-6-i.container.width;c.containerX>t&&(c.containerX=t,c.arrowX=Math.min(i.container.width-6,e-c.containerX-i.arrow.width/2))}c.containerY<a.top+6&&(c.containerY+=i.container.height+2*i.arrow.height,c.arrowY-=i.container.height+i.arrow.height,c.baseArrowStyle=he);const l=`left:${c.containerX}px;top:${c.containerY}px`;o.container.setAttribute("style",l);const _=`${c.baseArrowStyle};left:${c.arrowX}px;top:${c.arrowY}px`;o.arrow.setAttribute("style",_)}const be=(0,s.forwardRef)(((e,t)=>{let{children:r,theme:n}=e;const{current:o}=(0,s.useRef)({lastElement:void 0,lastPageX:0,lastPageY:0,lastPlacement:void 0}),[i,a]=(0,s.useState)(null),c=(e,t,r,n)=>{o.lastElement=n,o.lastPageX=e,o.lastPageY=t,o.lastPlacement=r,i&&Ee(e,t,0,0,i)};return(0,s.useImperativeHandle)(t,(()=>({pointTo:c}))),(0,s.useEffect)((()=>{const e=function(e){const t=document.createElement("div");e.arrow&&t.setAttribute("class",e.arrow);const r=document.createElement("div");e.content&&r.setAttribute("class",e.content);const n=document.createElement("div");return e.container&&n.setAttribute("class",e.container),n.appendChild(t),n.appendChild(r),document.body.appendChild(n),{container:n,arrow:t,content:r}}(n);return a(e),()=>{document.body.removeChild(e.container),a(null)}}),[n]),(0,s.useEffect)((()=>{i&&Ee(o.lastPageX,o.lastPageY,o.lastPlacement,o.lastElement,i)}),[i,o.lastPageX,o.lastPageY,o.lastPlacement,o.lastElement]),i?(0,ne.createPortal)(r,i.content):null}));be.propTypes={children:E().node,theme:E().shape({}).isRequired},be.defaultProps={children:null};var we=be;const ge=e=>{let{children:t,placement:r,tip:n,theme:o}=e;const{current:i}=(0,s.useRef)({lastCursorX:0,lastCursorY:0,triggeredByTouch:!1,timerId:void 0}),a=(0,s.useRef)(),c=(0,s.useRef)(null),[l,_]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{if(l&&null!==n){a.current&&a.current.pointTo(i.lastCursorX+window.scrollX,i.lastCursorY+window.scrollY,r,c.current);const e=()=>_(!1);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}}),[i.lastCursorX,i.lastCursorY,r,l,n]),(0,b.jsxs)("div",{className:o.wrapper,onMouseLeave:()=>_(!1),onMouseMove:e=>((e,t)=>{if(l){const n=c.current.getBoundingClientRect();e<n.left||e>n.right||t<n.top||t>n.bottom?_(!1):a.current&&a.current.pointTo(e+window.scrollX,t+window.scrollY,r,c.current)}else i.lastCursorX=e,i.lastCursorY=t,i.triggeredByTouch?i.timerId||(i.timerId=setTimeout((()=>{i.triggeredByTouch=!1,i.timerId=void 0,_(!0)}),300)):_(!0)})(e.clientX,e.clientY),onClick:()=>{i.timerId&&(clearTimeout(i.timerId),i.timerId=void 0,i.triggeredByTouch=!1)},onTouchStart:()=>{i.triggeredByTouch=!0},ref:c,role:"presentation",children:[l&&null!==n?(0,b.jsx)(we,{ref:a,theme:o,children:n}):null,t]})},ve=t()(ge,"WithTooltip",["appearance","arrow","container","content","wrapper"],{arrow:"M9gywF",ad:"_4xT7zE",hoc:"zd-vnH",context:"GdZucr",container:"f9gY8K",appearance:"L4ubm-",wrapper:"_4qDBRM"}),ye=ve;ye.PLACEMENTS=fe,ge.propTypes={children:E().node,placement:E().oneOf(Object.values(fe)),theme:ve.themeType.isRequired,tip:E().node},ge.defaultProps={children:null,placement:fe.ABOVE_CURSOR,tip:null};var Te=ye,xe=__webpack_require__(656),Pe=__webpack_require__.n(xe),ke={container:"jTxmOX",context:"dzIcLh",ad:"_5a9XX1",hoc:"_7sH52O"};const Ce=e=>{var t;let{autoplay:r,src:n,theme:o,title:i}=e;const a=n.split("?");let c=a[0];const l=a[1],_=l?Pe().parse(l):{},s=_.v||(null===(t=c.match(/\/([a-zA-Z0-9-_]*)$/))||void 0===t?void 0:t[1]);return c=`https://www.youtube.com/embed/${s}`,delete _.v,_.autoplay=r?"1":"0",c+=`?${Pe().stringify(_)}`,(0,b.jsxs)(se,{className:o.container,ratio:"16:9",children:[(0,b.jsx)(pe,{theme:ke}),(0,b.jsx)("iframe",{allow:"autoplay",allowFullScreen:!0,className:o.video,src:c,title:i})]})},Oe=t()(Ce,"YouTubeVideo",["container","video"],{container:"sXHM81",context:"veKyYi",ad:"r3ABzd",hoc:"YKcPnR",video:"SlV2zw"});Ce.propTypes={autoplay:E().bool,src:E().string.isRequired,theme:Oe.themeType.isRequired,title:E().string},Ce.defaultProps={autoplay:!1,title:""};var Se=Oe;const Ae=n.requireWeak("./server","/"),Le=Ae?void 0:__webpack_require__(7).Z}(),__webpack_exports__}()}));
3
3
  //# sourceMappingURL=web.bundle.js.map