revdev-components 0.56.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ export interface FrontFooterProps {
3
+ children?: React.ReactNode;
4
+ className?: string;
5
+ privacyHref: string;
6
+ termsHref: string;
7
+ infoMail: string;
8
+ text: {
9
+ privacy: string;
10
+ terms: string;
11
+ copyright: string;
12
+ };
13
+ }
14
+ export declare const FrontFooter: React.FC<FrontFooterProps>;
@@ -10,7 +10,7 @@ export interface FrontHeaderProps {
10
10
  text: {
11
11
  login: string;
12
12
  register: string;
13
- portfolio: string;
13
+ profile: string;
14
14
  settings: string;
15
15
  logout: string;
16
16
  };
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { FrontFooterProps } from "src/frontFooter";
3
+ import { FrontHeaderProps } from "src/frontHeader";
4
+ export interface FrontLayoutProps {
5
+ header: FrontHeaderProps;
6
+ footer: FrontFooterProps;
7
+ children?: React.ReactNode;
8
+ }
9
+ export declare const FrontLayout: React.FC<FrontLayoutProps>;
package/build/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export * from "./backSidebar";
12
12
  export * from "./backLayout";
13
13
  export * from "./content";
14
14
  export * from "./frontHeader";
15
+ export * from "./frontFooter";
16
+ export * from "./frontLayout";
15
17
  export * from "./iconDivision";
16
18
  export * from "./tooltip";
17
19
  export * from "./popoverSelect";
package/build/index.js CHANGED
@@ -1521,13 +1521,13 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
1521
1521
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1522
1522
  };
1523
1523
 
1524
- var s$r = {"root":"index-module_root__-LDR1"};
1524
+ var s$t = {"root":"index-module_root__-LDR1"};
1525
1525
 
1526
1526
  // https://www.svgrepo.com/
1527
1527
  function useBasicIcon(_a, icons) {
1528
1528
  var className = _a.className, name = _a.name, props = __rest(_a, ["className", "name"]);
1529
1529
  var svgAttrs = React.useMemo(function () {
1530
- return __assign({ className: classNames(s$r.root, className), fill: "currentColor" }, props);
1530
+ return __assign({ className: classNames(s$t.root, className), fill: "currentColor" }, props);
1531
1531
  }, [className, props]);
1532
1532
  var Icon = icons[name];
1533
1533
  return Icon ? React.createElement(Icon, __assign({}, svgAttrs)) : undefined;
@@ -4614,7 +4614,7 @@ var SocialIcon = function (props) {
4614
4614
  return useBasicIcon(props, icons);
4615
4615
  };
4616
4616
 
4617
- var s$q = {"root":"index-module_root__gtTIa","action":"index-module_action__pOSde"};
4617
+ var s$s = {"root":"index-module_root__gtTIa","action":"index-module_action__pOSde"};
4618
4618
 
4619
4619
  function useForm(form) {
4620
4620
  var newForm = antd.Form.useForm()[0];
@@ -4634,10 +4634,10 @@ function AppForm(_a) {
4634
4634
  React.useEffect(function () {
4635
4635
  onValid === null || onValid === void 0 ? void 0 : onValid(valid);
4636
4636
  }, [onValid, valid]);
4637
- return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$q.root, className), layout: "vertical", onValuesChange: onValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4637
+ return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$s.root, className), layout: "vertical", onValuesChange: onValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4638
4638
  }
4639
4639
 
4640
- var s$p = {"root":"index-module_root__2S1Jp"};
4640
+ var s$r = {"root":"index-module_root__2S1Jp"};
4641
4641
 
4642
4642
  function useLineProps(_a) {
4643
4643
  var lineClassName = _a.lineClassName, name = _a.name, label = _a.label, rules = _a.rules, valuePropName = _a.valuePropName, noStyle = _a.noStyle, hasFeedback = _a.hasFeedback, dependencies = _a.dependencies, rest = __rest(_a, ["lineClassName", "name", "label", "rules", "valuePropName", "noStyle", "hasFeedback", "dependencies"]);
@@ -4651,7 +4651,7 @@ var FormLine = function (_a) {
4651
4651
  }
4652
4652
  return [];
4653
4653
  }, [validateRules]);
4654
- return React.createElement(antd.Form.Item, __assign({ className: classNames(s$p.root, className), rules: rules }, props));
4654
+ return React.createElement(antd.Form.Item, __assign({ className: classNames(s$r.root, className), rules: rules }, props));
4655
4655
  };
4656
4656
 
4657
4657
  var DatePickerField = function (props) {
@@ -4672,12 +4672,12 @@ var InputField = function (props) {
4672
4672
  React.createElement(antd.Input, __assign({}, controlProps))));
4673
4673
  };
4674
4674
 
4675
- var s$o = {"input":"index-module_input__71iJw"};
4675
+ var s$q = {"input":"index-module_input__71iJw"};
4676
4676
 
4677
4677
  var InputNumberField = function (props) {
4678
4678
  var _a = useLineProps(props), lineProps = _a[0], _b = _a[1], className = _b.className, controlProps = __rest(_b, ["className"]);
4679
4679
  return (React.createElement(FormLine, __assign({}, lineProps),
4680
- React.createElement(antd.InputNumber, __assign({ className: classNames(s$o.input, className) }, controlProps))));
4680
+ React.createElement(antd.InputNumber, __assign({ className: classNames(s$q.input, className) }, controlProps))));
4681
4681
  };
4682
4682
 
4683
4683
  var RadioButtonField = function (props) {
@@ -4686,13 +4686,13 @@ var RadioButtonField = function (props) {
4686
4686
  React.createElement(antd.Radio.Group, __assign({ buttonStyle: buttonStyle, optionType: optionType }, controlProps))));
4687
4687
  };
4688
4688
 
4689
- var s$n = {"popup":"index-module_popup__Im5Y-"};
4689
+ var s$p = {"popup":"index-module_popup__Im5Y-"};
4690
4690
 
4691
4691
  var RangePicker = antd.DatePicker.RangePicker;
4692
4692
  var RangePickerField = function (props) {
4693
4693
  var _a = useLineProps(props), lineProps = _a[0], _b = _a[1], oneMonth = _b.oneMonth, controlProps = __rest(_b, ["oneMonth"]);
4694
4694
  return (React.createElement(FormLine, __assign({}, lineProps),
4695
- React.createElement(RangePicker, __assign({}, controlProps, { popupClassName: oneMonth ? s$n.popup : undefined }))));
4695
+ React.createElement(RangePicker, __assign({}, controlProps, { popupClassName: oneMonth ? s$p.popup : undefined }))));
4696
4696
  };
4697
4697
 
4698
4698
  var SelectField = function (props) {
@@ -4714,14 +4714,14 @@ var CheckboxField = function (props) {
4714
4714
  React.createElement(antd.Checkbox, __assign({}, controlProps))));
4715
4715
  };
4716
4716
 
4717
- var s$m = {"root":"index-module_root__3Y1jZ"};
4717
+ var s$o = {"root":"index-module_root__3Y1jZ"};
4718
4718
 
4719
4719
  var SwitchField = function (props) {
4720
4720
  var _a = useLineProps(props), lineProps = _a[0], _b = _a[1], children = _b.children, controlProps = __rest(_b, ["children"]);
4721
4721
  return (React.createElement(FormLine, __assign({}, lineProps, { valuePropName: "checked" }),
4722
- React.createElement("div", { className: s$m.root },
4722
+ React.createElement("div", { className: s$o.root },
4723
4723
  React.createElement(antd.Switch, __assign({}, controlProps)),
4724
- children && React.createElement("div", { className: s$m.content }, children))));
4724
+ children && React.createElement("div", { className: s$o.content }, children))));
4725
4725
  };
4726
4726
 
4727
4727
  // export function useDebounceCallback<T extends (...args: any[]) => any>(delay: number, callback: T, deps: DependencyList = []): DebouncedFunc<T> {
@@ -4778,22 +4778,22 @@ function useSuccessMutation(response, successCallback) {
4778
4778
  }, [response.isSuccess]);
4779
4779
  }
4780
4780
 
4781
- var s$l = {"root":"index-module_root__9GQDU"};
4781
+ var s$n = {"root":"index-module_root__9GQDU"};
4782
4782
 
4783
4783
  var FormButton = function (_a) {
4784
4784
  var className = _a.className, _b = _a.children, children = _b === void 0 ? "Save" : _b, loading = _a.loading;
4785
- return (React.createElement("div", { className: classNames(s$l.root, className) },
4785
+ return (React.createElement("div", { className: classNames(s$n.root, className) },
4786
4786
  React.createElement(antd.Button, { htmlType: "submit", type: "primary", loading: loading }, children)));
4787
4787
  };
4788
4788
 
4789
- var s$k = {"root":"index-module_root__C05Ty"};
4789
+ var s$m = {"root":"index-module_root__C05Ty"};
4790
4790
 
4791
4791
  var FormError = function (_a) {
4792
4792
  var children = _a.children, className = _a.className;
4793
- return children ? React.createElement("div", { className: classNames(s$k.root, className) }, children) : null;
4793
+ return children ? React.createElement("div", { className: classNames(s$m.root, className) }, children) : null;
4794
4794
  };
4795
4795
 
4796
- var s$j = {"root":"index-module_root__C7wx2","content":"index-module_content__RsiJT","close":"index-module_close__lBc6p"};
4796
+ var s$l = {"root":"index-module_root__C7wx2","content":"index-module_content__RsiJT","close":"index-module_close__lBc6p"};
4797
4797
 
4798
4798
  var InfoDialog = function (_a) {
4799
4799
  var children = _a.children, className = _a.className, width = _a.width, hideClose = _a.hideClose, onClose = _a.onClose, _b = _a.open, open = _b === void 0 ? true : _b, contentClassName = _a.contentClassName, _c = _a.maskClosable, maskClosable = _c === void 0 ? false : _c;
@@ -4805,23 +4805,23 @@ var InfoDialog = function (_a) {
4805
4805
  }
4806
4806
  return result;
4807
4807
  }, [width]);
4808
- return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$j.root, className), maskClosable: maskClosable, footer: null },
4809
- React.createElement("div", { className: classNames(s$j.content, contentClassName) },
4808
+ return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$l.root, className), maskClosable: maskClosable, footer: null },
4809
+ React.createElement("div", { className: classNames(s$l.content, contentClassName) },
4810
4810
  children,
4811
- hideClose ? null : React.createElement(RegularIcon, { name: "cross", className: s$j.close, onClick: onClose }))));
4811
+ hideClose ? null : React.createElement(RegularIcon, { name: "cross", className: s$l.close, onClick: onClose }))));
4812
4812
  };
4813
4813
 
4814
- var s$i = {"root":"index-module_root__BQI-i","header":"index-module_header__OUCQj","title":"index-module_title__HPbDC","close":"index-module_close__-FN6K","content":"index-module_content__BpXha","footer":"index-module_footer__xqKte"};
4814
+ var s$k = {"root":"index-module_root__BQI-i","header":"index-module_header__OUCQj","title":"index-module_title__HPbDC","close":"index-module_close__-FN6K","content":"index-module_content__BpXha","footer":"index-module_footer__xqKte"};
4815
4815
 
4816
4816
  var RegularDialog = function (_a) {
4817
4817
  var titleIcon = _a.titleIcon, titlePrefix = _a.titlePrefix, title = _a.title, children = _a.children, _b = _a.hideFooter, hideFooter = _b === void 0 ? false : _b, className = _a.className, width = _a.width, okText = _a.okText, cancelText = _a.cancelText, footerClassName = _a.footerClassName, contentClassName = _a.contentClassName, okHide = _a.okHide, okDisabled = _a.okDisabled, onOk = _a.onOk, onClose = _a.onClose, _c = _a.open, open = _c === void 0 ? true : _c;
4818
4818
  var close = React.useMemo(function () {
4819
- return React.createElement(RegularIcon, { name: "cross", className: s$i.close, onClick: onClose });
4819
+ return React.createElement(RegularIcon, { name: "cross", className: s$k.close, onClick: onClose });
4820
4820
  }, [onClose]);
4821
4821
  var titleContent = React.useMemo(function () {
4822
4822
  if (typeof title === "string") {
4823
- return (React.createElement("div", { className: s$i.header },
4824
- React.createElement("div", { className: s$i.title },
4823
+ return (React.createElement("div", { className: s$k.header },
4824
+ React.createElement("div", { className: s$k.title },
4825
4825
  titleIcon && React.createElement(RegularIcon, { name: titleIcon }),
4826
4826
  React.createElement("span", null,
4827
4827
  " ",
@@ -4832,7 +4832,7 @@ var RegularDialog = function (_a) {
4832
4832
  return title(close);
4833
4833
  }
4834
4834
  return null;
4835
- }, [s$i, title, titlePrefix, close, titleIcon]);
4835
+ }, [s$k, title, titlePrefix, close, titleIcon]);
4836
4836
  var style = React.useMemo(function () {
4837
4837
  var result = {};
4838
4838
  if (width) {
@@ -4846,15 +4846,15 @@ var RegularDialog = function (_a) {
4846
4846
  onOk();
4847
4847
  }
4848
4848
  }, [onOk]);
4849
- return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$i.root, className), maskClosable: false, footer: null },
4849
+ return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$k.root, className), maskClosable: false, footer: null },
4850
4850
  titleContent,
4851
- React.createElement("div", { className: classNames(s$i.content, contentClassName) }, children),
4852
- hideFooter ? null : (React.createElement("div", { className: classNames(s$i.footer, footerClassName) },
4851
+ React.createElement("div", { className: classNames(s$k.content, contentClassName) }, children),
4852
+ hideFooter ? null : (React.createElement("div", { className: classNames(s$k.footer, footerClassName) },
4853
4853
  React.createElement(antd.Button, { onClick: onClose }, cancelText || "Cancel"),
4854
4854
  okHide ? null : (React.createElement(antd.Button, { type: "primary", onClick: handleOk, disabled: okDisabled }, okText || "OK"))))));
4855
4855
  };
4856
4856
 
4857
- var s$h = {"root":"index-module_root__qFuRH"};
4857
+ var s$j = {"root":"index-module_root__qFuRH"};
4858
4858
 
4859
4859
  function isRegular(icon) {
4860
4860
  return RegularIconNameList.includes(icon);
@@ -4864,13 +4864,13 @@ function isSocial(icon) {
4864
4864
  }
4865
4865
  var FlatButton = function (_a) {
4866
4866
  var children = _a.children, className = _a.className, icon = _a.icon, onClick = _a.onClick;
4867
- return (React.createElement("div", { className: classNames(s$h.root, className), onClick: onClick },
4867
+ return (React.createElement("div", { className: classNames(s$j.root, className), onClick: onClick },
4868
4868
  isRegular(icon) ? React.createElement(RegularIcon, { name: icon }) : null,
4869
4869
  isSocial(icon) ? React.createElement(SocialIcon, { name: icon }) : null,
4870
4870
  children ? React.createElement("span", null, children) : null));
4871
4871
  };
4872
4872
 
4873
- var s$g = {"root":"index-module_root__r-dVh"};
4873
+ var s$i = {"root":"index-module_root__r-dVh"};
4874
4874
 
4875
4875
  function AppLink(_a) {
4876
4876
  var _b;
@@ -4881,29 +4881,29 @@ function AppLink(_a) {
4881
4881
  href = route.build(params || {});
4882
4882
  }
4883
4883
  }
4884
- return (React.createElement(Link, __assign({ href: href, as: as, shallow: shallow, title: title, className: classNames(s$g.root, className, (_b = {},
4885
- _b[s$g.none__decoration] = noneDecoration,
4886
- _b[s$g.show__underline] = showUnderline,
4884
+ return (React.createElement(Link, __assign({ href: href, as: as, shallow: shallow, title: title, className: classNames(s$i.root, className, (_b = {},
4885
+ _b[s$i.none__decoration] = noneDecoration,
4886
+ _b[s$i.show__underline] = showUnderline,
4887
4887
  _b)), ref: aRef }, rest), children));
4888
4888
  }
4889
4889
 
4890
- var s$f = {"root":"index-module_root__gpEkZ"};
4890
+ var s$h = {"root":"index-module_root__gpEkZ"};
4891
4891
 
4892
4892
  var AppLinkButton = function (_a) {
4893
4893
  var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
4894
- return (React.createElement("div", __assign({ className: classNames(s$f.root, className) }, rest), children));
4894
+ return (React.createElement("div", __assign({ className: classNames(s$h.root, className) }, rest), children));
4895
4895
  };
4896
4896
 
4897
- var s$e = {"root":"index-module_root__CQ7Qm","title":"index-module_title__Aud2u","title__active":"index-module_title__active__AueKr","title__label":"index-module_title__label__B3vUU","list":"index-module_list__EAf08","list__open":"index-module_list__open__1-0cD"};
4897
+ var s$g = {"root":"index-module_root__CQ7Qm","title":"index-module_title__Aud2u","title__active":"index-module_title__active__AueKr","title__label":"index-module_title__label__B3vUU","list":"index-module_list__EAf08","list__open":"index-module_list__open__1-0cD"};
4898
4898
 
4899
- var s$d = {"root":"index-module_root__AZ9HE","root__active":"index-module_root__active__UqszT"};
4899
+ var s$f = {"root":"index-module_root__AZ9HE","root__active":"index-module_root__active__UqszT"};
4900
4900
 
4901
4901
  var BackSidebarSubMenuItem = function (_a) {
4902
4902
  var _b;
4903
4903
  var _c = _a.activePath, activePath = _c === void 0 ? "" : _c, option = _a.option;
4904
4904
  var icon = option.icon, label = option.label, path = option.path;
4905
4905
  var isActive = path.isActive(activePath);
4906
- return (React.createElement(AppLink, { className: classNames(s$d.root, (_b = {}, _b[s$d.root__active] = isActive, _b)), href: path.build() },
4906
+ return (React.createElement(AppLink, { className: classNames(s$f.root, (_b = {}, _b[s$f.root__active] = isActive, _b)), href: path.build() },
4907
4907
  icon && React.createElement(RegularIcon, { name: icon }),
4908
4908
  React.createElement("span", null, label)));
4909
4909
  };
@@ -4931,17 +4931,17 @@ var BackSidebarMenuItem = function (_a) {
4931
4931
  var handleClick = React.useCallback(function () {
4932
4932
  setOpen(!open);
4933
4933
  }, [open]);
4934
- return (React.createElement("div", { className: s$e.root },
4935
- React.createElement("div", { className: classNames(s$e.title, (_b = {}, _b[s$e.title__active] = isActive, _b)), onClick: handleClick },
4934
+ return (React.createElement("div", { className: s$g.root },
4935
+ React.createElement("div", { className: classNames(s$g.title, (_b = {}, _b[s$g.title__active] = isActive, _b)), onClick: handleClick },
4936
4936
  icon && React.createElement(RegularIcon, { name: icon }),
4937
- React.createElement("span", { className: s$e.title__label }, label),
4937
+ React.createElement("span", { className: s$g.title__label }, label),
4938
4938
  React.createElement(RegularIcon, { name: open ? "keyboard-arrow-down" : "keyboard-arrow-right" })),
4939
- React.createElement("div", { className: classNames(s$e.list, (_c = {}, _c[s$e.list__open] = open, _c)) }, options.map(function (x, i) {
4939
+ React.createElement("div", { className: classNames(s$g.list, (_c = {}, _c[s$g.list__open] = open, _c)) }, options.map(function (x, i) {
4940
4940
  return React.createElement(BackSidebarSubMenuItem, { key: i, option: x, activePath: activePath });
4941
4941
  }))));
4942
4942
  };
4943
4943
 
4944
- var s$c = {"root":"index-module_root__yMCtx","list":"index-module_list__Xr6Z5","master":"index-module_master__Eexhz","master__active":"index-module_master__active__j-iWA"};
4944
+ var s$e = {"root":"index-module_root__yMCtx","list":"index-module_list__Xr6Z5","master":"index-module_master__Eexhz","master__active":"index-module_master__active__j-iWA"};
4945
4945
 
4946
4946
  var BackSidebarShortMenuItem = function (_a) {
4947
4947
  var _b;
@@ -4957,34 +4957,34 @@ var BackSidebarShortMenuItem = function (_a) {
4957
4957
  var handleClick = React.useCallback(function () {
4958
4958
  setOpen(!open);
4959
4959
  }, [open]);
4960
- return (React.createElement("div", { className: s$c.root },
4961
- React.createElement("div", { className: classNames(s$c.master, (_b = {}, _b[s$c.master__active] = isActive, _b)), onClick: handleClick }, icon && React.createElement(RegularIcon, { name: icon })),
4962
- React.createElement("div", { className: classNames(s$c.list) }, options.map(function (x, i) {
4960
+ return (React.createElement("div", { className: s$e.root },
4961
+ React.createElement("div", { className: classNames(s$e.master, (_b = {}, _b[s$e.master__active] = isActive, _b)), onClick: handleClick }, icon && React.createElement(RegularIcon, { name: icon })),
4962
+ React.createElement("div", { className: classNames(s$e.list) }, options.map(function (x, i) {
4963
4963
  return React.createElement(BackSidebarSubMenuItem, { key: i, option: x });
4964
4964
  }))));
4965
4965
  };
4966
4966
 
4967
- var s$b = {"root":"index-module_root__r4Egx"};
4967
+ var s$d = {"root":"index-module_root__r4Egx"};
4968
4968
 
4969
4969
  // https://www.einfosoft.com/templates/admin/spice/source/edit_booking.html#
4970
4970
  var BackSidebar = function (_a) {
4971
4971
  var className = _a.className, options = _a.options, top = _a.top, shortMode = _a.shortMode, activePath = _a.activePath, defaultPath = _a.defaultPath;
4972
4972
  var path = (activePath || "").replace("/", "") ? activePath : defaultPath;
4973
- return (React.createElement("div", { className: classNames(s$b.root, className) },
4974
- top ? React.createElement("div", { className: classNames(s$b.top) }, top) : null,
4975
- React.createElement("div", { className: s$b.menu }, options.map(function (option, i) {
4973
+ return (React.createElement("div", { className: classNames(s$d.root, className) },
4974
+ top ? React.createElement("div", { className: classNames(s$d.top) }, top) : null,
4975
+ React.createElement("div", { className: s$d.menu }, options.map(function (option, i) {
4976
4976
  return shortMode ? (React.createElement(BackSidebarShortMenuItem, { key: i, option: option, activePath: path })) : (React.createElement(BackSidebarMenuItem, { key: i, option: option, activePath: path }));
4977
4977
  }))));
4978
4978
  };
4979
4979
 
4980
- var s$a = {"root":"index-module_root__SICCv","root__short":"index-module_root__short__XnXWP","header":"index-module_header__00DV1","sidebar":"index-module_sidebar__o2Obb","content":"index-module_content__D0okO","menu":"index-module_menu__48Uz3","menu__icon":"index-module_menu__icon__BFpAs","loading":"index-module_loading__SpWat"};
4980
+ var s$c = {"root":"index-module_root__SICCv","root__short":"index-module_root__short__XnXWP","header":"index-module_header__00DV1","sidebar":"index-module_sidebar__o2Obb","content":"index-module_content__D0okO","menu":"index-module_menu__48Uz3","menu__icon":"index-module_menu__icon__BFpAs","loading":"index-module_loading__SpWat"};
4981
4981
 
4982
- var s$9 = {"root":"index-module_root__Q-TED","loader":"index-module_loader__qxQNC"};
4982
+ var s$b = {"root":"index-module_root__Q-TED","loader":"index-module_loader__qxQNC"};
4983
4983
 
4984
4984
  var LoadingPanel = function (_a) {
4985
4985
  var className = _a.className;
4986
- return (React.createElement("div", { className: classNames(s$9.root, className) },
4987
- React.createElement(antd.Spin, { size: "large", className: s$9.loader })));
4986
+ return (React.createElement("div", { className: classNames(s$b.root, className) },
4987
+ React.createElement(antd.Spin, { size: "large", className: s$b.loader })));
4988
4988
  };
4989
4989
 
4990
4990
  var BackLayout = function (_a) {
@@ -4994,63 +4994,63 @@ var BackLayout = function (_a) {
4994
4994
  var handleMenu = React.useCallback(function () {
4995
4995
  setShort(!short);
4996
4996
  }, [short]);
4997
- return loading ? (React.createElement(LoadingPanel, { className: s$a.loading })) : (React.createElement("div", { className: classNames(s$a.root, className, (_b = {}, _b[s$a.root__short] = short, _b)) },
4998
- React.createElement("div", { className: classNames(s$a.header, headerClassName) }, header),
4999
- React.createElement("div", { className: classNames(s$a.sidebar, sidebarClassName) },
5000
- React.createElement("div", { className: s$a.menu },
5001
- React.createElement(RegularIcon, { className: s$a.menu__icon, name: "menu", onClick: handleMenu }),
5002
- !short && React.createElement("div", { className: s$a.menu__title }, sidebarTitle)),
4997
+ return loading ? (React.createElement(LoadingPanel, { className: s$c.loading })) : (React.createElement("div", { className: classNames(s$c.root, className, (_b = {}, _b[s$c.root__short] = short, _b)) },
4998
+ React.createElement("div", { className: classNames(s$c.header, headerClassName) }, header),
4999
+ React.createElement("div", { className: classNames(s$c.sidebar, sidebarClassName) },
5000
+ React.createElement("div", { className: s$c.menu },
5001
+ React.createElement(RegularIcon, { className: s$c.menu__icon, name: "menu", onClick: handleMenu }),
5002
+ !short && React.createElement("div", { className: s$c.menu__title }, sidebarTitle)),
5003
5003
  React.createElement(BackSidebar, __assign({}, sidebarProps, { shortMode: short }))),
5004
- contentLoading ? React.createElement(LoadingPanel, { className: s$a.content }) : React.createElement("div", { className: classNames(s$a.content, contentClassName) }, children)));
5004
+ contentLoading ? React.createElement(LoadingPanel, { className: s$c.content }) : React.createElement("div", { className: classNames(s$c.content, contentClassName) }, children)));
5005
5005
  };
5006
5006
 
5007
- var s$8 = {"root":"index-module_root__-jB4M"};
5007
+ var s$a = {"root":"index-module_root__-jB4M"};
5008
5008
 
5009
5009
  var Header1 = function (_a) {
5010
5010
  var children = _a.children, className = _a.className;
5011
- return React.createElement("h1", { className: classNames(s$8.root, className) }, children);
5011
+ return React.createElement("h1", { className: classNames(s$a.root, className) }, children);
5012
5012
  };
5013
5013
 
5014
- var s$7 = {"root":"index-module_root__4eRbr"};
5014
+ var s$9 = {"root":"index-module_root__4eRbr"};
5015
5015
 
5016
5016
  var Header2 = function (_a) {
5017
5017
  var children = _a.children, className = _a.className;
5018
- return React.createElement("h1", { className: classNames(s$7.root, className) }, children);
5018
+ return React.createElement("h1", { className: classNames(s$9.root, className) }, children);
5019
5019
  };
5020
5020
 
5021
- var s$6 = {"root":"index-module_root__fJ5t3"};
5021
+ var s$8 = {"root":"index-module_root__fJ5t3"};
5022
5022
 
5023
5023
  var Paragraph = function (_a) {
5024
5024
  var children = _a.children;
5025
- return React.createElement("p", { className: s$6.root }, children);
5025
+ return React.createElement("p", { className: s$8.root }, children);
5026
5026
  };
5027
5027
 
5028
- var s$5 = {"root":"index-module_root__USP1u"};
5028
+ var s$7 = {"root":"index-module_root__USP1u"};
5029
5029
 
5030
5030
  var PageTitle = function (_a) {
5031
5031
  var children = _a.children, className = _a.className;
5032
- return React.createElement("h1", { className: classNames(s$5.root, className) }, children);
5032
+ return React.createElement("h1", { className: classNames(s$7.root, className) }, children);
5033
5033
  };
5034
5034
 
5035
- var s$4 = {"root":"index-module_root__Iszgj"};
5035
+ var s$6 = {"root":"index-module_root__Iszgj"};
5036
5036
 
5037
5037
  var CentralDivision = function (_a) {
5038
5038
  var children = _a.children, className = _a.className;
5039
- return React.createElement("div", { className: classNames(s$4.root, className) }, children);
5039
+ return React.createElement("div", { className: classNames(s$6.root, className) }, children);
5040
5040
  };
5041
5041
 
5042
- var s$3 = {"root":"index-module_root__OPU-p"};
5042
+ var s$5 = {"root":"index-module_root__OPU-p"};
5043
5043
 
5044
5044
  var RowDivision = function (_a) {
5045
5045
  var children = _a.children, className = _a.className;
5046
- return React.createElement("div", { className: classNames(s$3.root, className) }, children);
5046
+ return React.createElement("div", { className: classNames(s$5.root, className) }, children);
5047
5047
  };
5048
5048
 
5049
- var s$2 = {"root":"index-module_root__Q7VjD","root__shadow":"index-module_root__shadow__OhPad","logo":"index-module_logo__KCA1E","content":"index-module_content__T-JEW","link":"index-module_link__nXsvL","select":"index-module_select__22zW6"};
5049
+ var s$4 = {"root":"index-module_root__Q7VjD","root__shadow":"index-module_root__shadow__OhPad","logo":"index-module_logo__KCA1E","content":"index-module_content__T-JEW","link":"index-module_link__nXsvL","select":"index-module_select__22zW6"};
5050
5050
 
5051
- var s$1 = {"popover":"index-module_popover__lwzdT","item":"index-module_item__pfayG"};
5051
+ var s$3 = {"popover":"index-module_popover__lwzdT","item":"index-module_item__pfayG"};
5052
5052
 
5053
- var s = {"root":"index-module_root__UzFV2","column":"index-module_column__XEWzG","children":"index-module_children__y7-7m","flex":"index-module_flex__83M30","button":"index-module_button__U8D6K"};
5053
+ var s$2 = {"root":"index-module_root__UzFV2","column":"index-module_column__XEWzG","children":"index-module_children__y7-7m","flex":"index-module_flex__83M30","button":"index-module_button__U8D6K"};
5054
5054
 
5055
5055
  var AppTooltip = function (_a) {
5056
5056
  var _b = _a.placement, placement = _b === void 0 ? "top" : _b, children = _a.children, props = __rest(_a, ["placement", "children"]);
@@ -5061,14 +5061,14 @@ var AppTooltip = function (_a) {
5061
5061
  var IconBoxContent = function (_a) {
5062
5062
  var _b;
5063
5063
  var flexRoot = _a.flexRoot, icon = _a.icon, rightIcon = _a.rightIcon, children = _a.children, className = _a.className, contentClassName = _a.contentClassName, onClick = _a.onClick, _c = _a.direction, direction = _c === void 0 ? "row" : _c, elementRev = _a.elementRev, style = _a.style;
5064
- return (React.createElement("div", { ref: elementRev, style: style, className: classNames(s.root, (_b = {},
5065
- _b[s.flex] = flexRoot,
5066
- _b[s.button] = !!onClick,
5067
- _b[s.column] = direction === "column",
5064
+ return (React.createElement("div", { ref: elementRev, style: style, className: classNames(s$2.root, (_b = {},
5065
+ _b[s$2.flex] = flexRoot,
5066
+ _b[s$2.button] = !!onClick,
5067
+ _b[s$2.column] = direction === "column",
5068
5068
  _b), className), onClick: onClick },
5069
- icon ? React.createElement(RegularIcon, { className: s.icon, name: icon }) : null,
5070
- children ? React.createElement("div", { className: classNames(contentClassName, s.root__children) }, children) : null,
5071
- rightIcon ? React.createElement(RegularIcon, { className: s.icon, name: rightIcon }) : null));
5069
+ icon ? React.createElement(RegularIcon, { className: s$2.icon, name: icon }) : null,
5070
+ children ? React.createElement("div", { className: classNames(contentClassName, s$2.root__children) }, children) : null,
5071
+ rightIcon ? React.createElement(RegularIcon, { className: s$2.icon, name: rightIcon }) : null));
5072
5072
  };
5073
5073
  var IconDivision = function (props) {
5074
5074
  var tooltip = props.tooltip, tooltipPlacement = props.tooltipPlacement, hoverOpenDelay = props.hoverOpenDelay;
@@ -5092,9 +5092,9 @@ var PopoverSelect = function (_a) {
5092
5092
  var selectedOption = React.useMemo(function () {
5093
5093
  return options.find(function (x) { return x.value === value; });
5094
5094
  }, [options, value]);
5095
- var popoverContent = React.useMemo(function () { return (React.createElement("div", { className: s$1.popover }, options
5095
+ var popoverContent = React.useMemo(function () { return (React.createElement("div", { className: s$3.popover }, options
5096
5096
  .filter(function (x) { return x.value !== value; })
5097
- .map(function (x) { return (React.createElement(React.Fragment, { key: x.value }, renderOption ? (renderOption(x, { className: s$1.item, onClick: function () { return handleChange(x.value); } })) : (React.createElement("div", { className: s$1.item, onClick: function () { return handleChange(x.value); } }, x.label)))); }))); }, [options, value, handleChange, renderOption]);
5097
+ .map(function (x) { return (React.createElement(React.Fragment, { key: x.value }, renderOption ? (renderOption(x, { className: s$3.item, onClick: function () { return handleChange(x.value); } })) : (React.createElement("div", { className: s$3.item, onClick: function () { return handleChange(x.value); } }, x.label)))); }))); }, [options, value, handleChange, renderOption]);
5098
5098
  return (React.createElement(antd.Popover, { content: popoverContent, open: open, onOpenChange: closePopover, placement: "bottomRight" },
5099
5099
  React.createElement(IconDivision, { icon: icon, onClick: handleOpen, rightIcon: open ? "expand-less" : "expand-more" }, showValue ? value : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label)));
5100
5100
  };
@@ -5117,7 +5117,7 @@ var FrontHeader = function (_a) {
5117
5117
  ? [
5118
5118
  {
5119
5119
  value: user.profileHref,
5120
- label: text.portfolio,
5120
+ label: text.profile,
5121
5121
  },
5122
5122
  {
5123
5123
  value: user.settingsHref,
@@ -5132,22 +5132,49 @@ var FrontHeader = function (_a) {
5132
5132
  }, [user, text]);
5133
5133
  var handleSettingRender = React.useCallback(function (_a, _b) {
5134
5134
  var value = _a.value, label = _a.label;
5135
- var className = _b.className, onClick = _b.onClick;
5136
- return value === "logout" ? (React.createElement("div", { className: className, onClick: function () { return onClick(value); } }, label)) : (React.createElement(AppLink, { href: value, className: className }, label));
5137
- }, []);
5138
- return (React.createElement("div", { className: classNames(s$2.root, (_b = {},
5139
- _b[s$2.root__shadow] = shadow,
5135
+ var className = _b.className;
5136
+ return value === "logout" ? (React.createElement("div", { className: className, onClick: user === null || user === void 0 ? void 0 : user.onLogOut }, label)) : (React.createElement(AppLink, { href: value, className: className }, label));
5137
+ }, [user]);
5138
+ return (React.createElement("div", { className: classNames(s$4.root, (_b = {},
5139
+ _b[s$4.root__shadow] = shadow,
5140
5140
  _b), className) },
5141
- React.createElement(AppLink, { className: s$2.logo, href: logoHref }, "AlfaSchool"),
5142
- React.createElement("div", { className: s$2.content }, children),
5143
- !user && (React.createElement("div", { className: s$2.link },
5141
+ React.createElement(AppLink, { className: s$4.logo, href: logoHref }, "AlfaSchool"),
5142
+ React.createElement("div", { className: s$4.content }, children),
5143
+ !user && (React.createElement("div", { className: s$4.link },
5144
5144
  React.createElement(AppLink, { href: loginHref }, text.login || "Login"),
5145
5145
  React.createElement(AppLink, { href: registerHref }, text.register || "Register"))),
5146
- React.createElement("div", { className: s$2.select },
5146
+ React.createElement("div", { className: s$4.select },
5147
5147
  user && React.createElement(PopoverSelect, { showValue: true, value: user.username, options: settingsOptions, renderOption: handleSettingRender }),
5148
5148
  React.createElement(PopoverSelect, __assign({ icon: "language" }, language)))));
5149
5149
  };
5150
5150
 
5151
+ var s$1 = {"root":"index-module_root__pGOaD","inner":"index-module_inner__yBaNK","email":"index-module_email__c66u4"};
5152
+
5153
+ var FrontFooter = function (_a) {
5154
+ var children = _a.children, className = _a.className, privacyHref = _a.privacyHref, termsHref = _a.termsHref, infoMail = _a.infoMail, text = _a.text;
5155
+ return (React.createElement("footer", { className: classNames(s$1.root, className) },
5156
+ children ? React.createElement("div", null, children) : null,
5157
+ React.createElement("div", { className: s$1.inner },
5158
+ React.createElement(AppLink, { className: s$1.email, href: "mailto:".concat(infoMail) }, infoMail),
5159
+ React.createElement("div", null,
5160
+ React.createElement(AppLink, { href: privacyHref }, text.privacy),
5161
+ React.createElement(AppLink, { href: termsHref }, text.terms),
5162
+ React.createElement("div", { className: s$1.text }, text.copyright)))));
5163
+ };
5164
+
5165
+ var s = {"root":"index-module_root__Fwjge","header":"index-module_header__DhAx3","header__inner":"index-module_header__inner__gYRYO","content":"index-module_content__Afu6q","content__footer":"index-module_content__footer__-ACCs","footer":"index-module_footer__3hSOQ"};
5166
+
5167
+ var FrontLayout = function (_a) {
5168
+ var children = _a.children, header = _a.header, footer = _a.footer;
5169
+ return (React.createElement("div", { className: s.root },
5170
+ React.createElement("div", { className: s.header },
5171
+ React.createElement(FrontHeader, __assign({}, header, { className: classNames(header.className, s.header__inner) }))),
5172
+ React.createElement("div", { className: classNames(s.content) },
5173
+ React.createElement("div", null, children)),
5174
+ React.createElement("div", { className: s.footer },
5175
+ React.createElement(FrontFooter, __assign({}, footer)))));
5176
+ };
5177
+
5151
5178
  exports.AppForm = AppForm;
5152
5179
  exports.AppLink = AppLink;
5153
5180
  exports.AppLinkButton = AppLinkButton;
@@ -5163,7 +5190,9 @@ exports.FlatButton = FlatButton;
5163
5190
  exports.FormButton = FormButton;
5164
5191
  exports.FormError = FormError;
5165
5192
  exports.FormLine = FormLine;
5193
+ exports.FrontFooter = FrontFooter;
5166
5194
  exports.FrontHeader = FrontHeader;
5195
+ exports.FrontLayout = FrontLayout;
5167
5196
  exports.Header1 = Header1;
5168
5197
  exports.Header2 = Header2;
5169
5198
  exports.HiddenField = HiddenField;
package/build/styles.css CHANGED
@@ -20,6 +20,7 @@
20
20
  --headerBorderColor: #cecece88;
21
21
  --centralDivisionMaxWidth: 1000px;
22
22
  --frontHeaderHeight: 50px;
23
+ --frontFooterHeight: 30px;
23
24
  --backSidebarBackgroundColor: rgb(58 63 81);
24
25
  --backSidebarColor: #aaadb7;
25
26
  --backSidebarActiveColor: white;
@@ -447,4 +448,78 @@ body {
447
448
 
448
449
  .index-module_button__U8D6K {
449
450
  cursor: pointer;
451
+ }
452
+ .index-module_root__pGOaD {
453
+ display: flex;
454
+ flex-direction: column;
455
+ height: var(--frontFooterHeight);
456
+ }
457
+
458
+ .index-module_inner__yBaNK {
459
+ min-height: var(--frontFooterHeight);
460
+ padding: 0 var(--spacing);
461
+ font-size: 10px;
462
+ border-top: 1px solid var(--borderColor);
463
+ display: flex;
464
+ flex-direction: row;
465
+ justify-content: space-between;
466
+ align-items: center;
467
+ gap: var(--spacing);
468
+ }
469
+ @media all and (max-width: 800px) {
470
+ .index-module_inner__yBaNK {
471
+ padding: 10px var(--spacing);
472
+ flex-direction: column;
473
+ justify-content: flex-start;
474
+ gap: 10px;
475
+ }
476
+ }
477
+ .index-module_inner__yBaNK > * {
478
+ display: flex;
479
+ flex-flow: row wrap;
480
+ align-items: center;
481
+ gap: 10px;
482
+ }
483
+ .index-module_inner__yBaNK > *:last-child {
484
+ justify-content: flex-end;
485
+ }
486
+ @media all and (max-width: 800px) {
487
+ .index-module_inner__yBaNK > *:last-child {
488
+ justify-content: flex-start;
489
+ }
490
+ }
491
+
492
+ .index-module_email__c66u4 {
493
+ font-size: 14px;
494
+ }
495
+ .index-module_root__Fwjge {
496
+ display: block;
497
+ padding-top: var(--frontHeaderHeight);
498
+ }
499
+
500
+ .index-module_header__DhAx3 {
501
+ position: fixed;
502
+ top: 0;
503
+ left: 0;
504
+ right: 0;
505
+ height: var(--frontHeaderHeight);
506
+ display: flex;
507
+ z-index: 100;
508
+ }
509
+ .index-module_header__inner__gYRYO {
510
+ width: 100%;
511
+ }
512
+
513
+ .index-module_content__Afu6q {
514
+ display: flex;
515
+ min-height: calc(100vh - var(--frontHeaderHeight) - var(--frontFooterHeight) - 1px) !important;
516
+ flex-direction: column;
517
+ }
518
+ .index-module_content__footer__-ACCs {
519
+ padding: 20px 0;
520
+ border-top: 1px solid var(--borderColor);
521
+ }
522
+
523
+ .index-module_footer__3hSOQ {
524
+ max-height: var(--frontFooterHeight);
450
525
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revdev-components",
3
- "version": "0.56.0",
3
+ "version": "0.58.0",
4
4
  "main": "build/index.js",
5
5
  "module": "build/index.esm.js",
6
6
  "scripts": {