revdev-components 0.105.0 → 0.107.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.
@@ -1,3 +1,4 @@
1
+ import { DependencyList } from "react";
1
2
  export declare function useSuccessMutation<T extends {
2
3
  isSuccess: boolean;
3
- }>(response: T, successCallback: () => void): void;
4
+ }>(response: T, successCallback: () => void, deps?: DependencyList): void;
@@ -1,2 +1,2 @@
1
- export declare const RegularIconNameList: ("search" | "add" | "add-box" | "add-circle" | "add-circle-outline" | "arrow-back" | "arrow-back-ios" | "arrow-drop-down" | "arrow-drop-up" | "arrow-forward" | "arrow-forward-ios" | "arrow-left" | "arrow-right" | "autorenew" | "backspace" | "book" | "bookmark" | "bookmark-outline" | "brightness" | "brightness-outline" | "calendar" | "cards" | "check-circle" | "check-circle-outline" | "circle-notifications" | "cloud-download" | "collections-bookmark" | "contact-support" | "cross" | "cube-letter" | "cube-outline" | "date-range" | "delete" | "delete-forever" | "delete-outline" | "edit" | "enter" | "equalizer" | "expand-less" | "expand-more" | "external-link" | "favorite" | "favorite-outline" | "file-download" | "file-upload" | "flag" | "flag-outline" | "flip" | "folder" | "globe" | "group" | "group-add" | "help" | "help-live" | "help-outline" | "highlight-remove" | "key" | "keyboard" | "keyboard-arrow-down" | "keyboard-arrow-left" | "keyboard-arrow-right" | "keyboard-arrow-up" | "keyboard-voice" | "known" | "known-outline" | "language" | "letter-match" | "library-books" | "lightbulb" | "lightbulb-outline" | "list" | "lock" | "lock-open-outline" | "lock-outline" | "logout" | "loop" | "mail" | "mail-outline" | "match-up" | "menu" | "menu-book" | "more-horizontal" | "more-vertical" | "multiple-choice" | "person" | "person-add" | "person-outline" | "pie-chart" | "pie-chart-outline" | "pin" | "pin-outline" | "play-arrow" | "play-circle-filled" | "play-circle-outline" | "playlist-add" | "playlist-add-check" | "power-off" | "price-tag" | "rate-down" | "rate-down-outline" | "rate-up" | "rate-up-outline" | "refresh" | "remove" | "remove-circle" | "remove-circle-outline" | "replay-circle-filled" | "sentiment-dissatisfied" | "sentiment-satisfied" | "settings" | "share" | "snowflake" | "sort" | "space" | "spelling" | "star-half" | "star-outline" | "star" | "sun" | "sync" | "table" | "thumb-down" | "thumb-down-outline" | "thumb-up" | "thumb-up-outline" | "time" | "tran" | "visibility" | "volume-off" | "volume-up" | "word" | "image" | "magic-wand" | "microphone-off" | "microphone" | "moon" | "music" | "learn" | "audio" | "tag" | "unknown" | "unknown-outline" | "discover")[];
1
+ export declare const RegularIconNameList: ("add" | "add-box" | "add-circle" | "add-circle-outline" | "arrow-back" | "arrow-back-ios" | "arrow-drop-down" | "arrow-drop-up" | "arrow-forward" | "arrow-forward-ios" | "arrow-left" | "arrow-right" | "autorenew" | "backspace" | "book" | "bookmark" | "bookmark-outline" | "brightness" | "brightness-outline" | "calendar" | "cards" | "check-circle" | "check-circle-outline" | "circle-notifications" | "cloud-download" | "collections-bookmark" | "contact-support" | "cross" | "cube-letter" | "cube-outline" | "date-range" | "delete" | "delete-forever" | "delete-outline" | "edit" | "enter" | "equalizer" | "expand-less" | "expand-more" | "external-link" | "favorite" | "favorite-outline" | "file-download" | "file-upload" | "flag" | "flag-outline" | "flip" | "folder" | "globe" | "group" | "group-add" | "help" | "help-live" | "help-outline" | "highlight-remove" | "key" | "keyboard" | "keyboard-arrow-down" | "keyboard-arrow-left" | "keyboard-arrow-right" | "keyboard-arrow-up" | "keyboard-voice" | "known" | "known-outline" | "language" | "letter-match" | "library-books" | "lightbulb" | "lightbulb-outline" | "list" | "lock" | "lock-open-outline" | "lock-outline" | "logout" | "loop" | "mail" | "mail-outline" | "match-up" | "menu" | "menu-book" | "more-horizontal" | "more-vertical" | "multiple-choice" | "person" | "person-add" | "person-outline" | "pie-chart" | "pie-chart-outline" | "pin" | "pin-outline" | "play-arrow" | "play-circle-filled" | "play-circle-outline" | "playlist-add" | "playlist-add-check" | "power-off" | "price-tag" | "rate-down" | "rate-down-outline" | "rate-up" | "rate-up-outline" | "refresh" | "remove" | "remove-circle" | "remove-circle-outline" | "replay-circle-filled" | "search" | "sentiment-dissatisfied" | "sentiment-satisfied" | "settings" | "share" | "snowflake" | "sort" | "space" | "spelling" | "star-half" | "star-outline" | "star" | "sun" | "sync" | "table" | "thumb-down" | "thumb-down-outline" | "thumb-up" | "thumb-up-outline" | "time" | "tran" | "visibility" | "volume-off" | "volume-up" | "word" | "image" | "magic-wand" | "microphone-off" | "microphone" | "moon" | "music" | "learn" | "audio" | "tag" | "unknown" | "unknown-outline" | "discover")[];
2
2
  export type RegularIconName = (typeof RegularIconNameList)[number];
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { IconOverActionProps } from "src/interfaces";
3
+ interface ItemProps extends IconOverActionProps {
4
+ onActionClick: () => void;
5
+ }
6
+ export declare const IconDropItem: React.FC<ItemProps>;
7
+ interface ContentProps {
8
+ actions: IconOverActionProps[];
9
+ onActionClick: () => void;
10
+ fontSize?: number;
11
+ }
12
+ export declare const IconDropContent: React.FC<ContentProps>;
13
+ export {};
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { RegularIconName } from "src/icon";
3
+ import { IconOverActionProps } from "src/interfaces";
4
+ interface BaseProps {
5
+ actions: IconOverActionProps[];
6
+ className?: string;
7
+ fontSize?: number;
8
+ offsetRatioY?: number;
9
+ }
10
+ interface IconProps extends BaseProps {
11
+ icon: RegularIconName;
12
+ }
13
+ interface ContentProps extends BaseProps {
14
+ children?: React.ReactNode;
15
+ }
16
+ export type IconOverProps = IconProps | ContentProps;
17
+ export declare const IconOver: React.FC<IconOverProps>;
18
+ export {};
package/build/index.d.ts CHANGED
@@ -28,3 +28,7 @@ export * from "./attributor";
28
28
  export * from "./optionsAutocomplete";
29
29
  export * from "./button";
30
30
  export * from "./splitLine";
31
+ export * from "./iconOver";
32
+ export * from "./knowingOver";
33
+ export * from "./wordInline";
34
+ export * from "./wordPanel";
package/build/index.js CHANGED
@@ -5,6 +5,9 @@ var classNames = require('classnames');
5
5
  var antd = require('antd');
6
6
  var router = require('next/router');
7
7
  var Link = require('next/link');
8
+ var revdev = require('revdev');
9
+ var Randex = require('randex');
10
+ var numeral = require('numeral');
8
11
 
9
12
  function _interopNamespaceDefault(e) {
10
13
  var n = Object.create(null);
@@ -25,46 +28,46 @@ function _interopNamespaceDefault(e) {
25
28
 
26
29
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
27
30
 
28
- var s$z = {"root":"index-module_root__oU85z"};
31
+ var s$E = {"root":"index-module_root__oU85z"};
29
32
 
30
33
  var ContentHeader1 = function (_a) {
31
34
  var children = _a.children, className = _a.className;
32
- return React.createElement("h1", { className: classNames(s$z.root, className) }, children);
35
+ return React.createElement("h1", { className: classNames(s$E.root, className) }, children);
33
36
  };
34
37
 
35
- var s$y = {"root":"index-module_root__51YHj"};
38
+ var s$D = {"root":"index-module_root__51YHj"};
36
39
 
37
40
  var ContentHeader2 = function (_a) {
38
41
  var children = _a.children, className = _a.className;
39
- return React.createElement("h2", { className: classNames(s$y.root, className) }, children);
42
+ return React.createElement("h2", { className: classNames(s$D.root, className) }, children);
40
43
  };
41
44
 
42
- var s$x = {"root":"index-module_root__Fq-q1"};
45
+ var s$C = {"root":"index-module_root__Fq-q1"};
43
46
 
44
47
  var Paragraph = function (_a) {
45
48
  var children = _a.children, className = _a.className;
46
- return React.createElement("p", { className: classNames(s$x.root, className) }, children);
49
+ return React.createElement("p", { className: classNames(s$C.root, className) }, children);
47
50
  };
48
51
 
49
- var s$w = {"root":"index-module_root__VIFF-"};
52
+ var s$B = {"root":"index-module_root__VIFF-"};
50
53
 
51
54
  var PageTitle = function (_a) {
52
55
  var children = _a.children, className = _a.className;
53
- return React.createElement("h1", { className: classNames(s$w.root, className) }, children);
56
+ return React.createElement("h1", { className: classNames(s$B.root, className) }, children);
54
57
  };
55
58
 
56
- var s$v = {"root":"index-module_root__p0I0n"};
59
+ var s$A = {"root":"index-module_root__p0I0n"};
57
60
 
58
61
  var CentralDivision = function (_a) {
59
62
  var children = _a.children, className = _a.className;
60
- return React.createElement("div", { className: classNames(s$v.root, className) }, children);
63
+ return React.createElement("div", { className: classNames(s$A.root, className) }, children);
61
64
  };
62
65
 
63
- var s$u = {"root":"index-module_root__yiKO0"};
66
+ var s$z = {"root":"index-module_root__yiKO0"};
64
67
 
65
68
  var RowDivision = function (_a) {
66
69
  var children = _a.children, className = _a.className;
67
- return React.createElement("div", { className: classNames(s$u.root, className) }, children);
70
+ return React.createElement("div", { className: classNames(s$z.root, className) }, children);
68
71
  };
69
72
 
70
73
  var _path$2q;
@@ -1618,13 +1621,13 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
1618
1621
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1619
1622
  };
1620
1623
 
1621
- var s$t = {"root":"index-module_root__-LDR1"};
1624
+ var s$y = {"root":"index-module_root__-LDR1"};
1622
1625
 
1623
1626
  // https://www.svgrepo.com/
1624
1627
  function useBasicIcon(_a, icons) {
1625
1628
  var className = _a.className, name = _a.name, props = __rest(_a, ["className", "name"]);
1626
1629
  var svgAttrs = React.useMemo(function () {
1627
- return __assign({ className: classNames(s$t.root, className), fill: "currentColor" }, props);
1630
+ return __assign({ className: classNames(s$y.root, className), fill: "currentColor" }, props);
1628
1631
  }, [className, props]);
1629
1632
  var Icon = icons[name];
1630
1633
  return Icon ? React.createElement(Icon, __assign({}, svgAttrs)) : undefined;
@@ -4721,7 +4724,7 @@ var SocialIcon = function (props) {
4721
4724
  return useBasicIcon(props, icons);
4722
4725
  };
4723
4726
 
4724
- var s$s = {"root":"index-module_root__gtTIa","action":"index-module_action__pOSde"};
4727
+ var s$x = {"root":"index-module_root__gtTIa","action":"index-module_action__pOSde"};
4725
4728
 
4726
4729
  var CONSOLE_COLOR = "background:rgb(28, 46, 82); color:rgb(231, 231, 231)";
4727
4730
 
@@ -4786,12 +4789,13 @@ function useRouterQuery() {
4786
4789
  return query;
4787
4790
  }
4788
4791
 
4789
- function useSuccessMutation(response, successCallback) {
4792
+ function useSuccessMutation(response, successCallback, deps) {
4793
+ if (deps === void 0) { deps = []; }
4790
4794
  React.useEffect(function () {
4791
4795
  if (response.isSuccess) {
4792
4796
  successCallback();
4793
4797
  }
4794
- }, [response.isSuccess]);
4798
+ }, __spreadArray([response.isSuccess], deps, true));
4795
4799
  }
4796
4800
 
4797
4801
  function useForm(form) {
@@ -4837,10 +4841,10 @@ function AppForm(_a) {
4837
4841
  setValues(changedValues, values);
4838
4842
  onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(changedValues, values);
4839
4843
  }, [setValues, onValuesChange]);
4840
- return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$s.root, className), layout: "vertical", onValuesChange: handleValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4844
+ return (React.createElement(antd.Form, { form: form, onFinish: onFinish, className: classNames(s$x.root, className), layout: "vertical", onValuesChange: handleValuesChange, onFieldsChange: onFieldsChange, initialValues: initialValues }, typeof children === "function" ? children({ valid: valid }) : children));
4841
4845
  }
4842
4846
 
4843
- var s$r = {"root":"index-module_root__2S1Jp"};
4847
+ var s$w = {"root":"index-module_root__2S1Jp"};
4844
4848
 
4845
4849
  function useLineProps(_a) {
4846
4850
  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"]);
@@ -4854,7 +4858,7 @@ var FormLine = function (_a) {
4854
4858
  }
4855
4859
  return [];
4856
4860
  }, [validateRules]);
4857
- return React.createElement(antd.Form.Item, __assign({ className: classNames(s$r.root, className), rules: rules }, props));
4861
+ return React.createElement(antd.Form.Item, __assign({ className: classNames(s$w.root, className), rules: rules }, props));
4858
4862
  };
4859
4863
 
4860
4864
  var DatePickerField = function (props) {
@@ -4875,12 +4879,12 @@ var InputField = function (props) {
4875
4879
  React.createElement(antd.Input, __assign({}, controlProps))));
4876
4880
  };
4877
4881
 
4878
- var s$q = {"input":"index-module_input__71iJw"};
4882
+ var s$v = {"input":"index-module_input__71iJw"};
4879
4883
 
4880
4884
  var InputNumberField = function (props) {
4881
4885
  var _a = useLineProps(props), lineProps = _a[0], _b = _a[1], className = _b.className, controlProps = __rest(_b, ["className"]);
4882
4886
  return (React.createElement(FormLine, __assign({}, lineProps),
4883
- React.createElement(antd.InputNumber, __assign({ className: classNames(s$q.input, className) }, controlProps))));
4887
+ React.createElement(antd.InputNumber, __assign({ className: classNames(s$v.input, className) }, controlProps))));
4884
4888
  };
4885
4889
 
4886
4890
  var RadioButtonField = function (props) {
@@ -4889,13 +4893,13 @@ var RadioButtonField = function (props) {
4889
4893
  React.createElement(antd.Radio.Group, __assign({ buttonStyle: buttonStyle, optionType: optionType }, controlProps))));
4890
4894
  };
4891
4895
 
4892
- var s$p = {"popup":"index-module_popup__Im5Y-"};
4896
+ var s$u = {"popup":"index-module_popup__Im5Y-"};
4893
4897
 
4894
4898
  var RangePicker = antd.DatePicker.RangePicker;
4895
4899
  var RangePickerField = function (props) {
4896
4900
  var _a = useLineProps(props), lineProps = _a[0], _b = _a[1], oneMonth = _b.oneMonth, controlProps = __rest(_b, ["oneMonth"]);
4897
4901
  return (React.createElement(FormLine, __assign({}, lineProps),
4898
- React.createElement(RangePicker, __assign({}, controlProps, { popupClassName: oneMonth ? s$p.popup : undefined }))));
4902
+ React.createElement(RangePicker, __assign({}, controlProps, { popupClassName: oneMonth ? s$u.popup : undefined }))));
4899
4903
  };
4900
4904
 
4901
4905
  var SelectField = function (props) {
@@ -4917,13 +4921,13 @@ var CheckboxField = function (props) {
4917
4921
  React.createElement(antd.Checkbox, __assign({}, controlProps))));
4918
4922
  };
4919
4923
 
4920
- var s$o = {"root":"index-module_root__GGl-p"};
4924
+ var s$t = {"root":"index-module_root__GGl-p"};
4921
4925
 
4922
4926
  var SwitchFieldControl = function (_a) {
4923
4927
  var children = _a.children, props = __rest(_a, ["children"]);
4924
- return (React.createElement("div", { className: s$o.root },
4928
+ return (React.createElement("div", { className: s$t.root },
4925
4929
  React.createElement(antd.Switch, __assign({}, props)),
4926
- children && React.createElement("div", { className: s$o.content }, children)));
4930
+ children && React.createElement("div", { className: s$t.content }, children)));
4927
4931
  };
4928
4932
 
4929
4933
  var SwitchField = function (props) {
@@ -4932,22 +4936,22 @@ var SwitchField = function (props) {
4932
4936
  React.createElement(SwitchFieldControl, __assign({}, controlProps))));
4933
4937
  };
4934
4938
 
4935
- var s$n = {"root":"index-module_root__9GQDU"};
4939
+ var s$s = {"root":"index-module_root__9GQDU"};
4936
4940
 
4937
4941
  var FormButton = function (_a) {
4938
4942
  var className = _a.className, _b = _a.children, children = _b === void 0 ? "Save" : _b, loading = _a.loading;
4939
- return (React.createElement("div", { className: classNames(s$n.root, className) },
4943
+ return (React.createElement("div", { className: classNames(s$s.root, className) },
4940
4944
  React.createElement(antd.Button, { htmlType: "submit", type: "primary", loading: loading }, children)));
4941
4945
  };
4942
4946
 
4943
- var s$m = {"root":"index-module_root__C05Ty"};
4947
+ var s$r = {"root":"index-module_root__C05Ty"};
4944
4948
 
4945
4949
  var FormError = function (_a) {
4946
4950
  var children = _a.children, className = _a.className;
4947
- return children ? React.createElement("div", { className: classNames(s$m.root, className) }, children) : null;
4951
+ return children ? React.createElement("div", { className: classNames(s$r.root, className) }, children) : null;
4948
4952
  };
4949
4953
 
4950
- var s$l = {"root":"index-module_root__C7wx2","content":"index-module_content__RsiJT","close":"index-module_close__lBc6p"};
4954
+ var s$q = {"root":"index-module_root__C7wx2","content":"index-module_content__RsiJT","close":"index-module_close__lBc6p"};
4951
4955
 
4952
4956
  var InfoDialog = function (_a) {
4953
4957
  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;
@@ -4959,23 +4963,23 @@ var InfoDialog = function (_a) {
4959
4963
  }
4960
4964
  return result;
4961
4965
  }, [width]);
4962
- return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$l.root, className), maskClosable: maskClosable, footer: null },
4963
- React.createElement("div", { className: classNames(s$l.content, contentClassName) },
4966
+ return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$q.root, className), maskClosable: maskClosable, footer: null },
4967
+ React.createElement("div", { className: classNames(s$q.content, contentClassName) },
4964
4968
  children,
4965
- hideClose ? null : React.createElement(RegularIcon, { name: "cross", className: s$l.close, onClick: onClose }))));
4969
+ hideClose ? null : React.createElement(RegularIcon, { name: "cross", className: s$q.close, onClick: onClose }))));
4966
4970
  };
4967
4971
 
4968
- 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"};
4972
+ var s$p = {"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"};
4969
4973
 
4970
4974
  var RegularDialog = function (_a) {
4971
4975
  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;
4972
4976
  var close = React.useMemo(function () {
4973
- return React.createElement(RegularIcon, { name: "cross", className: s$k.close, onClick: onClose });
4977
+ return React.createElement(RegularIcon, { name: "cross", className: s$p.close, onClick: onClose });
4974
4978
  }, [onClose]);
4975
4979
  var titleContent = React.useMemo(function () {
4976
4980
  if (typeof title === "string") {
4977
- return (React.createElement("div", { className: s$k.header },
4978
- React.createElement("div", { className: s$k.title },
4981
+ return (React.createElement("div", { className: s$p.header },
4982
+ React.createElement("div", { className: s$p.title },
4979
4983
  titleIcon && React.createElement(RegularIcon, { name: titleIcon }),
4980
4984
  React.createElement("span", null,
4981
4985
  " ",
@@ -4986,7 +4990,7 @@ var RegularDialog = function (_a) {
4986
4990
  return title(close);
4987
4991
  }
4988
4992
  return null;
4989
- }, [s$k, title, titlePrefix, close, titleIcon]);
4993
+ }, [s$p, title, titlePrefix, close, titleIcon]);
4990
4994
  var style = React.useMemo(function () {
4991
4995
  var result = {};
4992
4996
  if (width) {
@@ -4995,15 +4999,15 @@ var RegularDialog = function (_a) {
4995
4999
  }
4996
5000
  return result;
4997
5001
  }, [width]);
4998
- return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$k.root, className), maskClosable: false, footer: null },
5002
+ return (React.createElement(antd.Modal, { open: open, onCancel: onClose, style: style, className: classNames(s$p.root, className), maskClosable: false, footer: null },
4999
5003
  titleContent,
5000
- React.createElement("div", { className: classNames(s$k.content, contentClassName) }, children),
5001
- hideFooter ? null : (React.createElement("div", { className: classNames(s$k.footer, footerClassName) },
5004
+ React.createElement("div", { className: classNames(s$p.content, contentClassName) }, children),
5005
+ hideFooter ? null : (React.createElement("div", { className: classNames(s$p.footer, footerClassName) },
5002
5006
  React.createElement(antd.Button, { onClick: onClose }, cancelText || "Cancel"),
5003
5007
  okHide ? null : (React.createElement(antd.Button, { type: "primary", onClick: onOk, disabled: okDisabled }, okText || "OK"))))));
5004
5008
  };
5005
5009
 
5006
- var s$j = {"root":"index-module_root__qFuRH"};
5010
+ var s$o = {"root":"index-module_root__qFuRH"};
5007
5011
 
5008
5012
  function isRegular(icon) {
5009
5013
  return RegularIconNameList.includes(icon);
@@ -5013,13 +5017,13 @@ function isSocial(icon) {
5013
5017
  }
5014
5018
  var FlatButton = function (_a) {
5015
5019
  var children = _a.children, className = _a.className, icon = _a.icon, onClick = _a.onClick;
5016
- return (React.createElement("div", { className: classNames(s$j.root, className), onClick: onClick },
5020
+ return (React.createElement("div", { className: classNames(s$o.root, className), onClick: onClick },
5017
5021
  isRegular(icon) ? React.createElement(RegularIcon, { name: icon }) : null,
5018
5022
  isSocial(icon) ? React.createElement(SocialIcon, { name: icon }) : null,
5019
5023
  children ? React.createElement("span", null, children) : null));
5020
5024
  };
5021
5025
 
5022
- var s$i = {"root":"index-module_root__r-dVh"};
5026
+ var s$n = {"root":"index-module_root__r-dVh"};
5023
5027
 
5024
5028
  function AppLink(_a) {
5025
5029
  var _b;
@@ -5030,29 +5034,29 @@ function AppLink(_a) {
5030
5034
  href = route.build(params || {});
5031
5035
  }
5032
5036
  }
5033
- return (React.createElement(Link, __assign({ href: href, as: as, shallow: shallow, title: title, className: classNames(s$i.root, className, (_b = {},
5034
- _b[s$i.none__decoration] = noneDecoration,
5035
- _b[s$i.show__underline] = showUnderline,
5037
+ return (React.createElement(Link, __assign({ href: href, as: as, shallow: shallow, title: title, className: classNames(s$n.root, className, (_b = {},
5038
+ _b[s$n.none__decoration] = noneDecoration,
5039
+ _b[s$n.show__underline] = showUnderline,
5036
5040
  _b)), ref: aRef }, rest), children));
5037
5041
  }
5038
5042
 
5039
- var s$h = {"root":"index-module_root__gpEkZ"};
5043
+ var s$m = {"root":"index-module_root__gpEkZ"};
5040
5044
 
5041
5045
  var AppLinkButton = function (_a) {
5042
5046
  var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
5043
- return (React.createElement("div", __assign({ className: classNames(s$h.root, className) }, rest), children));
5047
+ return (React.createElement("div", __assign({ className: classNames(s$m.root, className) }, rest), children));
5044
5048
  };
5045
5049
 
5046
- 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"};
5050
+ var s$l = {"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"};
5047
5051
 
5048
- var s$f = {"root":"index-module_root__AZ9HE","root__active":"index-module_root__active__UqszT"};
5052
+ var s$k = {"root":"index-module_root__AZ9HE","root__active":"index-module_root__active__UqszT"};
5049
5053
 
5050
5054
  var BackSidebarSubMenuItem = function (_a) {
5051
5055
  var _b;
5052
5056
  var _c = _a.activePath, activePath = _c === void 0 ? "" : _c, option = _a.option;
5053
5057
  var icon = option.icon, label = option.label, path = option.path;
5054
5058
  var isActive = path.isActive(activePath);
5055
- return (React.createElement(AppLink, { className: classNames(s$f.root, (_b = {}, _b[s$f.root__active] = isActive, _b)), href: path.build() },
5059
+ return (React.createElement(AppLink, { className: classNames(s$k.root, (_b = {}, _b[s$k.root__active] = isActive, _b)), href: path.build() },
5056
5060
  icon && React.createElement(RegularIcon, { name: icon }),
5057
5061
  React.createElement("span", null, label)));
5058
5062
  };
@@ -5080,17 +5084,17 @@ var BackSidebarMenuItem = function (_a) {
5080
5084
  var handleClick = React.useCallback(function () {
5081
5085
  setOpen(!open);
5082
5086
  }, [open]);
5083
- return (React.createElement("div", { className: s$g.root },
5084
- React.createElement("div", { className: classNames(s$g.title, (_b = {}, _b[s$g.title__active] = isActive, _b)), onClick: handleClick },
5087
+ return (React.createElement("div", { className: s$l.root },
5088
+ React.createElement("div", { className: classNames(s$l.title, (_b = {}, _b[s$l.title__active] = isActive, _b)), onClick: handleClick },
5085
5089
  icon && React.createElement(RegularIcon, { name: icon }),
5086
- React.createElement("span", { className: s$g.title__label }, label),
5090
+ React.createElement("span", { className: s$l.title__label }, label),
5087
5091
  React.createElement(RegularIcon, { name: open ? "keyboard-arrow-down" : "keyboard-arrow-right" })),
5088
- React.createElement("div", { className: classNames(s$g.list, (_c = {}, _c[s$g.list__open] = open, _c)) }, options.map(function (x, i) {
5092
+ React.createElement("div", { className: classNames(s$l.list, (_c = {}, _c[s$l.list__open] = open, _c)) }, options.map(function (x, i) {
5089
5093
  return React.createElement(BackSidebarSubMenuItem, { key: i, option: x, activePath: activePath });
5090
5094
  }))));
5091
5095
  };
5092
5096
 
5093
- 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"};
5097
+ var s$j = {"root":"index-module_root__yMCtx","list":"index-module_list__Xr6Z5","master":"index-module_master__Eexhz","master__active":"index-module_master__active__j-iWA"};
5094
5098
 
5095
5099
  var BackSidebarShortMenuItem = function (_a) {
5096
5100
  var _b;
@@ -5106,34 +5110,34 @@ var BackSidebarShortMenuItem = function (_a) {
5106
5110
  var handleClick = React.useCallback(function () {
5107
5111
  setOpen(!open);
5108
5112
  }, [open]);
5109
- return (React.createElement("div", { className: s$e.root },
5110
- React.createElement("div", { className: classNames(s$e.master, (_b = {}, _b[s$e.master__active] = isActive, _b)), onClick: handleClick }, icon && React.createElement(RegularIcon, { name: icon })),
5111
- React.createElement("div", { className: classNames(s$e.list) }, options.map(function (x, i) {
5113
+ return (React.createElement("div", { className: s$j.root },
5114
+ React.createElement("div", { className: classNames(s$j.master, (_b = {}, _b[s$j.master__active] = isActive, _b)), onClick: handleClick }, icon && React.createElement(RegularIcon, { name: icon })),
5115
+ React.createElement("div", { className: classNames(s$j.list) }, options.map(function (x, i) {
5112
5116
  return React.createElement(BackSidebarSubMenuItem, { key: i, option: x });
5113
5117
  }))));
5114
5118
  };
5115
5119
 
5116
- var s$d = {"root":"index-module_root__r4Egx"};
5120
+ var s$i = {"root":"index-module_root__r4Egx"};
5117
5121
 
5118
5122
  // https://www.einfosoft.com/templates/admin/spice/source/edit_booking.html#
5119
5123
  var BackSidebar = function (_a) {
5120
5124
  var className = _a.className, options = _a.options, top = _a.top, shortMode = _a.shortMode, activePath = _a.activePath, defaultPath = _a.defaultPath;
5121
5125
  var path = (activePath || "").replace("/", "") ? activePath : defaultPath;
5122
- return (React.createElement("div", { className: classNames(s$d.root, className) },
5123
- top ? React.createElement("div", { className: classNames(s$d.top) }, top) : null,
5124
- React.createElement("div", { className: s$d.menu }, options.map(function (option, i) {
5126
+ return (React.createElement("div", { className: classNames(s$i.root, className) },
5127
+ top ? React.createElement("div", { className: classNames(s$i.top) }, top) : null,
5128
+ React.createElement("div", { className: s$i.menu }, options.map(function (option, i) {
5125
5129
  return shortMode ? (React.createElement(BackSidebarShortMenuItem, { key: i, option: option, activePath: path })) : (React.createElement(BackSidebarMenuItem, { key: i, option: option, activePath: path }));
5126
5130
  }))));
5127
5131
  };
5128
5132
 
5129
- 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"};
5133
+ var s$h = {"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"};
5130
5134
 
5131
- var s$b = {"root":"index-module_root__Q-TED","loader":"index-module_loader__qxQNC"};
5135
+ var s$g = {"root":"index-module_root__Q-TED","loader":"index-module_loader__qxQNC"};
5132
5136
 
5133
5137
  var LoadingPanel = function (_a) {
5134
5138
  var className = _a.className;
5135
- return (React.createElement("div", { className: classNames(s$b.root, className) },
5136
- React.createElement(antd.Spin, { size: "large", className: s$b.loader })));
5139
+ return (React.createElement("div", { className: classNames(s$g.root, className) },
5140
+ React.createElement(antd.Spin, { size: "large", className: s$g.loader })));
5137
5141
  };
5138
5142
 
5139
5143
  var BackLayout = function (_a) {
@@ -5143,21 +5147,21 @@ var BackLayout = function (_a) {
5143
5147
  var handleMenu = React.useCallback(function () {
5144
5148
  setShort(!short);
5145
5149
  }, [short]);
5146
- 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)) },
5147
- React.createElement("div", { className: classNames(s$c.header, headerClassName) }, header),
5148
- React.createElement("div", { className: classNames(s$c.sidebar, sidebarClassName) },
5149
- React.createElement("div", { className: s$c.menu },
5150
- React.createElement(RegularIcon, { className: s$c.menu__icon, name: "menu", onClick: handleMenu }),
5151
- !short && React.createElement("div", { className: s$c.menu__title }, sidebarTitle)),
5150
+ return loading ? (React.createElement(LoadingPanel, { className: s$h.loading })) : (React.createElement("div", { className: classNames(s$h.root, className, (_b = {}, _b[s$h.root__short] = short, _b)) },
5151
+ React.createElement("div", { className: classNames(s$h.header, headerClassName) }, header),
5152
+ React.createElement("div", { className: classNames(s$h.sidebar, sidebarClassName) },
5153
+ React.createElement("div", { className: s$h.menu },
5154
+ React.createElement(RegularIcon, { className: s$h.menu__icon, name: "menu", onClick: handleMenu }),
5155
+ !short && React.createElement("div", { className: s$h.menu__title }, sidebarTitle)),
5152
5156
  React.createElement(BackSidebar, __assign({}, sidebarProps, { shortMode: short }))),
5153
- contentLoading ? React.createElement(LoadingPanel, { className: s$c.content }) : React.createElement("div", { className: classNames(s$c.content, contentClassName) }, children)));
5157
+ contentLoading ? React.createElement(LoadingPanel, { className: s$h.content }) : React.createElement("div", { className: classNames(s$h.content, contentClassName) }, children)));
5154
5158
  };
5155
5159
 
5156
- var s$a = {"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"};
5160
+ var s$f = {"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"};
5157
5161
 
5158
- var s$9 = {"popover":"index-module_popover__lwzdT","item":"index-module_item__pfayG"};
5162
+ var s$e = {"popover":"index-module_popover__lwzdT","item":"index-module_item__pfayG"};
5159
5163
 
5160
- var s$8 = {"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"};
5164
+ var s$d = {"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"};
5161
5165
 
5162
5166
  var AppTooltip = function (_a) {
5163
5167
  var _b = _a.placement, placement = _b === void 0 ? "top" : _b, children = _a.children, props = __rest(_a, ["placement", "children"]);
@@ -5168,14 +5172,14 @@ var AppTooltip = function (_a) {
5168
5172
  var IconBoxContent = function (_a) {
5169
5173
  var _b;
5170
5174
  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;
5171
- return (React.createElement("div", { ref: elementRev, style: style, className: classNames(s$8.root, (_b = {},
5172
- _b[s$8.flex] = flexRoot,
5173
- _b[s$8.button] = !!onClick,
5174
- _b[s$8.column] = direction === "column",
5175
+ return (React.createElement("div", { ref: elementRev, style: style, className: classNames(s$d.root, (_b = {},
5176
+ _b[s$d.flex] = flexRoot,
5177
+ _b[s$d.button] = !!onClick,
5178
+ _b[s$d.column] = direction === "column",
5175
5179
  _b), className), onClick: onClick },
5176
- icon ? React.createElement(RegularIcon, { className: s$8.icon, name: icon }) : null,
5177
- children ? React.createElement("div", { className: classNames(contentClassName, s$8.root__children) }, children) : null,
5178
- rightIcon ? React.createElement(RegularIcon, { className: s$8.icon, name: rightIcon }) : null));
5180
+ icon ? React.createElement(RegularIcon, { className: s$d.icon, name: icon }) : null,
5181
+ children ? React.createElement("div", { className: classNames(contentClassName, s$d.root__children) }, children) : null,
5182
+ rightIcon ? React.createElement(RegularIcon, { className: s$d.icon, name: rightIcon }) : null));
5179
5183
  };
5180
5184
  var IconDivision = function (props) {
5181
5185
  var tooltip = props.tooltip, tooltipPlacement = props.tooltipPlacement, tooltipMouseEnterDelay = props.tooltipMouseEnterDelay;
@@ -5199,19 +5203,26 @@ var PopoverSelect = function (_a) {
5199
5203
  var selectedOption = React.useMemo(function () {
5200
5204
  return options.find(function (x) { return x.value === value; });
5201
5205
  }, [options, value]);
5202
- var popoverContent = React.useMemo(function () { return (React.createElement("div", { className: s$9.popover }, options
5206
+ var popoverContent = React.useMemo(function () { return (React.createElement("div", { className: s$e.popover }, options
5203
5207
  .filter(function (x) { return x.value !== value; })
5204
- .map(function (x) { return (React.createElement(React.Fragment, { key: x.value }, renderOption ? (renderOption(x, { className: s$9.item, onClick: function () { return handleChange(x.value); } })) : (React.createElement("div", { className: s$9.item, onClick: function () { return handleChange(x.value); } }, x.label)))); }))); }, [options, value, handleChange, renderOption]);
5208
+ .map(function (x) { return (React.createElement(React.Fragment, { key: x.value }, renderOption ? (renderOption(x, { className: s$e.item, onClick: function () { return handleChange(x.value); } })) : (React.createElement("div", { className: s$e.item, onClick: function () { return handleChange(x.value); } }, x.label)))); }))); }, [options, value, handleChange, renderOption]);
5205
5209
  return (React.createElement(antd.Popover, { content: popoverContent, open: open, onOpenChange: closePopover, placement: "bottomRight" },
5206
5210
  React.createElement(IconDivision, { icon: icon, onClick: handleOpen, rightIcon: open ? "expand-less" : "expand-more" }, showValue ? value : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label)));
5207
5211
  };
5208
5212
 
5209
- var s$7 = {"root":"index-module_root__EQ0II","root__rounded":"index-module_root__rounded__nqE4q","root__link":"index-module_root__link__jIljS"};
5213
+ var s$c = {"root":"index-module_root__EQ0II","rounded":"index-module_rounded__4OK03","link":"index-module_link__fptGw"};
5210
5214
 
5211
5215
  var Content = function (_a) {
5212
5216
  var _b;
5213
- var icon = _a.icon, rightIcon = _a.rightIcon, isPrimary = _a.isPrimary, className = _a.className, children = _a.children, href = _a.href, props = __rest(_a, ["icon", "rightIcon", "isPrimary", "className", "children", "href"]);
5214
- return (React.createElement(antd.Button, __assign({ className: classNames(s$7.root, className, (_b = {}, _b[s$7.root__rounded] = !children, _b[s$7.root__link] = href, _b)), type: isPrimary ? "primary" : "default", href: href }, props),
5217
+ var icon = _a.icon, rightIcon = _a.rightIcon, isPrimary = _a.isPrimary, className = _a.className, children = _a.children, href = _a.href, size = _a.size, props = __rest(_a, ["icon", "rightIcon", "isPrimary", "className", "children", "href", "size"]);
5218
+ var style = React.useMemo(function () {
5219
+ var result = {};
5220
+ if (size === "small") {
5221
+ result["--rcButtonSize"] = "20px";
5222
+ }
5223
+ return result;
5224
+ }, [size]);
5225
+ return (React.createElement(antd.Button, __assign({ style: style, className: classNames(s$c.root, className, (_b = {}, _b[s$c.rounded] = !children, _b[s$c.link] = href, _b)), type: isPrimary ? "primary" : "default", href: href, size: size }, props),
5215
5226
  React.createElement(IconDivision, { icon: icon, rightIcon: rightIcon }, children)));
5216
5227
  };
5217
5228
  var Button = function (_a) {
@@ -5256,52 +5267,52 @@ var FrontHeader = function (_a) {
5256
5267
  var className = _b.className;
5257
5268
  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));
5258
5269
  }, [user]);
5259
- return (React.createElement("div", { className: classNames(s$a.root, (_b = {},
5260
- _b[s$a.root__shadow] = shadow,
5270
+ return (React.createElement("div", { className: classNames(s$f.root, (_b = {},
5271
+ _b[s$f.root__shadow] = shadow,
5261
5272
  _b), className) },
5262
5273
  onMenuClick && React.createElement(Button, { icon: "menu", onClick: onMenuClick }),
5263
- React.createElement(AppLink, { className: s$a.logo, href: logoHref }, "AlfaSchool"),
5264
- React.createElement("div", { className: s$a.content }, children),
5265
- !user && (React.createElement("div", { className: s$a.link },
5274
+ React.createElement(AppLink, { className: s$f.logo, href: logoHref }, "AlfaSchool"),
5275
+ React.createElement("div", { className: s$f.content }, children),
5276
+ !user && (React.createElement("div", { className: s$f.link },
5266
5277
  React.createElement(AppLink, { href: loginHref }, text.login || "Login"),
5267
5278
  React.createElement(AppLink, { href: registerHref }, text.register || "Register"))),
5268
- React.createElement("div", { className: s$a.select },
5279
+ React.createElement("div", { className: s$f.select },
5269
5280
  user && React.createElement(PopoverSelect, { showValue: true, value: user.username, options: settingsOptions, renderOption: handleSettingRender }),
5270
5281
  React.createElement(PopoverSelect, __assign({ icon: "language" }, language)))));
5271
5282
  };
5272
5283
 
5273
- var s$6 = {"root":"index-module_root__pGOaD","inner":"index-module_inner__yBaNK","email":"index-module_email__c66u4"};
5284
+ var s$b = {"root":"index-module_root__pGOaD","inner":"index-module_inner__yBaNK","email":"index-module_email__c66u4"};
5274
5285
 
5275
5286
  var FrontFooter = function (_a) {
5276
5287
  var children = _a.children, className = _a.className, privacyHref = _a.privacyHref, termsHref = _a.termsHref, infoMail = _a.infoMail, text = _a.text;
5277
- return (React.createElement("footer", { className: classNames(s$6.root, className) },
5288
+ return (React.createElement("footer", { className: classNames(s$b.root, className) },
5278
5289
  children ? React.createElement("div", null, children) : null,
5279
- React.createElement("div", { className: s$6.inner },
5280
- React.createElement(AppLink, { className: s$6.email, href: "mailto:".concat(infoMail) }, infoMail),
5290
+ React.createElement("div", { className: s$b.inner },
5291
+ React.createElement(AppLink, { className: s$b.email, href: "mailto:".concat(infoMail) }, infoMail),
5281
5292
  React.createElement("div", null,
5282
5293
  React.createElement(AppLink, { href: privacyHref }, text.privacy),
5283
5294
  React.createElement(AppLink, { href: termsHref }, text.terms),
5284
- React.createElement("div", { className: s$6.text }, text.copyright)))));
5295
+ React.createElement("div", { className: s$b.text }, text.copyright)))));
5285
5296
  };
5286
5297
 
5287
- var s$5 = {"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"};
5298
+ var s$a = {"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"};
5288
5299
 
5289
5300
  var FrontLayout = function (_a) {
5290
5301
  var children = _a.children, header = _a.header, footer = _a.footer;
5291
- return (React.createElement("div", { className: s$5.root },
5292
- React.createElement("div", { className: s$5.header },
5293
- React.createElement(FrontHeader, __assign({}, header, { className: classNames(header.className, s$5.header__inner) }))),
5294
- React.createElement("div", { className: classNames(s$5.content) },
5302
+ return (React.createElement("div", { className: s$a.root },
5303
+ React.createElement("div", { className: s$a.header },
5304
+ React.createElement(FrontHeader, __assign({}, header, { className: classNames(header.className, s$a.header__inner) }))),
5305
+ React.createElement("div", { className: classNames(s$a.content) },
5295
5306
  React.createElement("div", null, children)),
5296
- React.createElement("div", { className: s$5.footer },
5307
+ React.createElement("div", { className: s$a.footer },
5297
5308
  React.createElement(FrontFooter, __assign({}, footer)))));
5298
5309
  };
5299
5310
 
5300
- var s$4 = {"root":"index-module_root__OWeNb","link":"index-module_link__H8HcA","button":"index-module_button__UVt6a"};
5311
+ var s$9 = {"root":"index-module_root__OWeNb","link":"index-module_link__H8HcA","button":"index-module_button__UVt6a"};
5301
5312
 
5302
5313
  var HeaderActionPanel = function (_a) {
5303
5314
  var className = _a.className, actions = _a.actions;
5304
- return (actions === null || actions === void 0 ? void 0 : actions.length) ? (React.createElement("div", { className: classNames(s$4.root, className) }, actions.map(function (action, i) {
5315
+ return (actions === null || actions === void 0 ? void 0 : actions.length) ? (React.createElement("div", { className: classNames(s$9.root, className) }, actions.map(function (action, i) {
5305
5316
  var content = action;
5306
5317
  var button = action;
5307
5318
  var link = action;
@@ -5310,17 +5321,17 @@ var HeaderActionPanel = function (_a) {
5310
5321
  }
5311
5322
  else if (!!(button === null || button === void 0 ? void 0 : button.onClick)) {
5312
5323
  var icon = button.icon, label = button.label, tooltip = button.tooltip;
5313
- return (React.createElement(IconDivision, { key: i, icon: icon, onClick: button === null || button === void 0 ? void 0 : button.onClick, tooltip: tooltip, className: s$4.button }, label));
5324
+ return (React.createElement(IconDivision, { key: i, icon: icon, onClick: button === null || button === void 0 ? void 0 : button.onClick, tooltip: tooltip, className: s$9.button }, label));
5314
5325
  }
5315
5326
  else if (!!(link === null || link === void 0 ? void 0 : link.href)) {
5316
5327
  var icon = button.icon, label = button.label, tooltip = button.tooltip;
5317
- return (React.createElement(AppLink, { key: i, href: link.href, className: s$4.link },
5328
+ return (React.createElement(AppLink, { key: i, href: link.href, className: s$9.link },
5318
5329
  React.createElement(IconDivision, { icon: icon, tooltip: tooltip }, label)));
5319
5330
  }
5320
5331
  }))) : null;
5321
5332
  };
5322
5333
 
5323
- var s$3 = {"root":"index-module_root__t3gxi"};
5334
+ var s$8 = {"root":"index-module_root__t3gxi"};
5324
5335
 
5325
5336
  function getNavOption(mapper, part) {
5326
5337
  var _a = Array.isArray(part) ? part : [part, undefined], key = _a[0], param = _a[1];
@@ -5381,25 +5392,25 @@ var AlfaNavigator = function (_a) {
5381
5392
  result = isMobile ? result.slice(options.length - 1) : result;
5382
5393
  return result;
5383
5394
  }, [root, options, isMobile, mapper, path]);
5384
- return innerOptions.length ? (React.createElement("div", { className: classNames(s$3.root, className) }, innerOptions.map(function (_a, index) {
5395
+ return innerOptions.length ? (React.createElement("div", { className: classNames(s$8.root, className) }, innerOptions.map(function (_a, index) {
5385
5396
  var href = _a.href, label = _a.label;
5386
5397
  return (React.createElement(React.Fragment, { key: index },
5387
5398
  index > 0 ? React.createElement("span", null, "\u203A") : null,
5388
- React.createElement(AppLink, { className: classNames(s$3.step, stepClassName), href: href }, label)));
5399
+ React.createElement(AppLink, { className: classNames(s$8.step, stepClassName), href: href }, label)));
5389
5400
  }))) : null;
5390
5401
  };
5391
5402
 
5392
- var s$2 = {"root":"index-module_root__UuWET","link":"index-module_link__qD-Ss"};
5403
+ var s$7 = {"root":"index-module_root__UuWET","link":"index-module_link__qD-Ss"};
5393
5404
 
5394
5405
  var AlfaAttributor = function (_a) {
5395
5406
  var className = _a.className, options = _a.options;
5396
- return options.length ? (React.createElement("div", { className: classNames(s$2.root, className) }, options.map(function (_a, i) {
5407
+ return options.length ? (React.createElement("div", { className: classNames(s$7.root, className) }, options.map(function (_a, i) {
5397
5408
  var icon = _a.icon, label = _a.label, href = _a.href;
5398
- return (React.createElement(IconDivision, { key: i, icon: icon }, href ? (React.createElement(AppLink, { className: s$2.link, href: href }, label)) : (label)));
5409
+ return (React.createElement(IconDivision, { key: i, icon: icon }, href ? (React.createElement(AppLink, { className: s$7.link, href: href }, label)) : (label)));
5399
5410
  }))) : null;
5400
5411
  };
5401
5412
 
5402
- var s$1 = {"options":"index-module_options__7cPUT","autocomplete":"index-module_autocomplete__NRZUE"};
5413
+ var s$6 = {"options":"index-module_options__7cPUT","autocomplete":"index-module_autocomplete__NRZUE"};
5403
5414
 
5404
5415
  function OptionsAutocomplete(_a) {
5405
5416
  var onChange = _a.onChange, placeholder = _a.placeholder, requestAction = _a.requestAction, requestResponse = _a.requestResponse, optionMapper = _a.optionMapper;
@@ -5444,16 +5455,174 @@ function OptionsAutocomplete(_a) {
5444
5455
  return result;
5445
5456
  }, [options]);
5446
5457
  return (React.createElement("div", null,
5447
- React.createElement(antd.AutoComplete, { options: optionsModified, onSelect: onSelect, onSearch: setText, value: text, className: s$1.autocomplete },
5458
+ React.createElement(antd.AutoComplete, { options: optionsModified, onSelect: onSelect, onSearch: setText, value: text, className: s$6.autocomplete },
5448
5459
  React.createElement(antd.Input.Search, { placeholder: placeholder, enterButton: true, loading: requestResponse.isLoading, allowClear: true })),
5449
- React.createElement("div", { className: s$1.options }, values.map(function (w) { return (React.createElement(antd.Tag, { key: w.value, closable: true, onClose: function () { return setValues(function (data) { return data.filter(function (x) { return x.value !== w.value; }); }); }, color: "blue" }, w.label)); }))));
5460
+ React.createElement("div", { className: s$6.options }, values.map(function (w) { return (React.createElement(antd.Tag, { key: w.value, closable: true, onClose: function () { return setValues(function (data) { return data.filter(function (x) { return x.value !== w.value; }); }); }, color: "blue" }, w.label)); }))));
5450
5461
  }
5451
5462
 
5452
- var s = {"root":"index-module_root__Ch0J0"};
5463
+ var s$5 = {"root":"index-module_root__Ch0J0"};
5453
5464
 
5454
5465
  var SplitLine = function (_a) {
5455
5466
  var className = _a.className;
5456
- return React.createElement("div", { className: classNames(s.root, className) });
5467
+ return React.createElement("div", { className: classNames(s$5.root, className) });
5468
+ };
5469
+
5470
+ var s$4 = {"root":"index-module_root__byEJC","popover":"index-module_popover__QIyer"};
5471
+
5472
+ var s$3 = {"root":"index-module_root__gWlnS","item":"index-module_item__fZyoE","action":"index-module_action__8bZn6"};
5473
+
5474
+ var IconDropItem = function (_a) {
5475
+ var onClick = _a.onClick, onActionClick = _a.onActionClick, props = __rest(_a, ["onClick", "onActionClick"]);
5476
+ var handleClick = React.useCallback(function () {
5477
+ onClick();
5478
+ onActionClick();
5479
+ }, [onClick, onActionClick]);
5480
+ return (React.createElement("div", { className: s$3.item },
5481
+ React.createElement(IconDivision, __assign({}, props, { onClick: handleClick, className: s$3.action, tooltipPlacement: "left", tooltipMouseEnterDelay: 0.8 }))));
5482
+ };
5483
+ var IconDropContent = function (_a) {
5484
+ var actions = _a.actions, onActionClick = _a.onActionClick, fontSize = _a.fontSize;
5485
+ var style = React.useMemo(function () {
5486
+ return { fontSize: fontSize };
5487
+ }, [fontSize]);
5488
+ return (React.createElement("div", { className: s$3.root, style: style }, actions.map(function (action, i) {
5489
+ return React.createElement(IconDropItem, __assign({ key: i }, action, { onActionClick: onActionClick }));
5490
+ })));
5491
+ };
5492
+
5493
+ var IconOver = function (props) {
5494
+ var actions = props.actions, className = props.className, _a = props.fontSize, fontSize = _a === void 0 ? 16 : _a, _b = props.offsetRatioY, offsetRatioY = _b === void 0 ? 0 : _b;
5495
+ var icon = props === null || props === void 0 ? void 0 : props.icon;
5496
+ var children = props === null || props === void 0 ? void 0 : props.children;
5497
+ var _c = React.useState(false), open = _c[0], setOpen = _c[1];
5498
+ var handleOpen = React.useCallback(function (newOpen) {
5499
+ setOpen(newOpen);
5500
+ }, []);
5501
+ var handleActionClick = React.useCallback(function () {
5502
+ setOpen(false);
5503
+ }, []);
5504
+ var align = React.useMemo(function () {
5505
+ var offsetY = fontSize + fontSize * 0.3;
5506
+ offsetY = offsetY + offsetY * offsetRatioY;
5507
+ return {
5508
+ offset: [0, -offsetY],
5509
+ };
5510
+ }, [fontSize, offsetRatioY]);
5511
+ var style = React.useMemo(function () {
5512
+ return { fontSize: fontSize };
5513
+ }, [fontSize]);
5514
+ return (React.createElement("div", { className: classNames(s$4.root, className), style: style },
5515
+ React.createElement(antd.Popover, { content: React.createElement(IconDropContent, { actions: actions, onActionClick: handleActionClick, fontSize: fontSize }), open: open,
5516
+ // open={false}
5517
+ overlayClassName: s$4.popover, placement: "bottom", onOpenChange: handleOpen, align: align },
5518
+ icon ? React.createElement(RegularIcon, { name: icon }) : undefined,
5519
+ children)));
5520
+ };
5521
+
5522
+ var KnowingOver = function (_a) {
5523
+ var className = _a.className, fontSize = _a.fontSize, value = _a.value, onChange = _a.onChange, offsetRatioY = _a.offsetRatioY, _b = _a.text, text = _b === void 0 ? { iKnowIt: "I Know It", save: "Save For Learning" } : _b;
5524
+ var icon = React.useMemo(function () {
5525
+ switch (value) {
5526
+ case revdev.Knowing.Known:
5527
+ return "known";
5528
+ case revdev.Knowing.Saved:
5529
+ return "bookmark";
5530
+ default:
5531
+ return "bookmark-outline";
5532
+ }
5533
+ }, [value]);
5534
+ var actions = React.useMemo(function () {
5535
+ return [
5536
+ {
5537
+ icon: value === revdev.Knowing.Known ? "known" : "known-outline",
5538
+ onClick: function () { return onChange(value === revdev.Knowing.Known ? undefined : revdev.Knowing.Known); },
5539
+ tooltip: value !== revdev.Knowing.Known ? text === null || text === void 0 ? void 0 : text.iKnowIt : undefined,
5540
+ },
5541
+ {
5542
+ icon: value === revdev.Knowing.Saved ? "bookmark" : "bookmark-outline",
5543
+ onClick: function () { return onChange(value === revdev.Knowing.Saved ? undefined : revdev.Knowing.Saved); },
5544
+ tooltip: value !== revdev.Knowing.Saved ? text === null || text === void 0 ? void 0 : text.save : undefined,
5545
+ },
5546
+ ];
5547
+ }, [value, onChange, text]);
5548
+ return React.createElement(IconOver, { className: className, fontSize: fontSize, icon: icon, actions: actions, offsetRatioY: offsetRatioY });
5549
+ };
5550
+
5551
+ var s$2 = {"root":"index-module_root__bD3Ws","first":"index-module_first__zVjHF","first__reaction":"index-module_first__reaction__k3WDO","prefix":"index-module_prefix__0dhs2"};
5552
+
5553
+ var s$1 = {"root":"index-module_root__bqjGM","content":"index-module_content__-d8j7","number":"index-module_number__XWMlJ","char3":"index-module_char3__Q2fXi","char4":"index-module_char4__1ZVqw","like":"index-module_like__63dK3","dislike":"index-module_dislike__jiF2e"};
5554
+
5555
+ var ReactionOver = function (_a) {
5556
+ var _b = _a.rate, rate = _b === void 0 ? 0 : _b, className = _a.className, fontSize = _a.fontSize, reaction = _a.reaction, offsetRatioY = _a.offsetRatioY, onChange = _a.onChange, text = _a.text;
5557
+ var actions = React.useMemo(function () {
5558
+ return [
5559
+ {
5560
+ icon: reaction === revdev.UserReaction.Like ? "thumb-up" : "thumb-up-outline",
5561
+ onClick: function () { return onChange(reaction === revdev.UserReaction.Like ? undefined : revdev.UserReaction.Like); },
5562
+ tooltip: reaction !== revdev.UserReaction.Like ? text === null || text === void 0 ? void 0 : text.like : undefined,
5563
+ },
5564
+ {
5565
+ icon: reaction === revdev.UserReaction.Dislike ? "thumb-down" : "thumb-down-outline",
5566
+ onClick: function () { return onChange(reaction === revdev.UserReaction.Dislike ? undefined : revdev.UserReaction.Dislike); },
5567
+ tooltip: reaction !== revdev.UserReaction.Dislike ? text === null || text === void 0 ? void 0 : text.dislike : undefined,
5568
+ },
5569
+ ];
5570
+ }, [reaction, onChange, text]);
5571
+ var calcRate = React.useMemo(function () {
5572
+ var result = rate || 0;
5573
+ if (reaction === revdev.UserReaction.Like) {
5574
+ result += 1;
5575
+ }
5576
+ else if (reaction === revdev.UserReaction.Dislike) {
5577
+ result -= 1;
5578
+ }
5579
+ return numeral(result).format("0a");
5580
+ }, [rate, reaction]);
5581
+ return (React.createElement(IconOver, { className: classNames(s$1.root, className), fontSize: fontSize, actions: actions, offsetRatioY: offsetRatioY },
5582
+ React.createElement("div", { className: s$1.content },
5583
+ React.createElement("div", { className: classNames(s$1.number, s$1["char".concat(calcRate.length)]) }, numeral(calcRate).format("0a")),
5584
+ React.createElement(RegularIcon, { name: reaction === revdev.UserReaction.Like ? "thumb-up" : "thumb-up-outline", className: s$1.like }),
5585
+ React.createElement(RegularIcon, { name: reaction === revdev.UserReaction.Dislike ? "thumb-down" : "thumb-down-outline", className: s$1.dislike }))));
5586
+ };
5587
+
5588
+ var WordInline = function (_a) {
5589
+ var _b;
5590
+ var className = _a.className, tranLangCode = _a.tranLangCode, generateUrl = _a.generateUrl, fontSize = _a.fontSize, offsetRatioY = _a.offsetRatioY, mode = _a.mode, _c = _a.word, text = _c.text, langCode = _c.langCode, active = _c.active;
5591
+ var _d = React.useState(), knowing = _d[0], setKnowing = _d[1];
5592
+ var _e = React.useState(), reaction = _e[0], setReaction = _e[1];
5593
+ var rate = React.useState(Randex.number(0, 10))[0];
5594
+ var prefixContent = React.useMemo(function () {
5595
+ if (mode) {
5596
+ return (React.createElement("div", { className: s$2.prefix },
5597
+ mode === "reaction" ? (React.createElement(ReactionOver, { onChange: setReaction, reaction: reaction, fontSize: fontSize, rate: rate, offsetRatioY: offsetRatioY })) : undefined,
5598
+ React.createElement(KnowingOver, { onChange: setKnowing, value: knowing, fontSize: fontSize, offsetRatioY: offsetRatioY })));
5599
+ }
5600
+ }, [mode, knowing, reaction, fontSize, offsetRatioY, rate]);
5601
+ var style = React.useMemo(function () {
5602
+ return { fontSize: fontSize };
5603
+ }, [fontSize]);
5604
+ var _f = text === null || text === void 0 ? void 0 : text.split(" "), firstWord = _f[0], restWords = _f.slice(1);
5605
+ var textComponent = mode ? (React.createElement(React.Fragment, null,
5606
+ React.createElement("span", { className: classNames(s$2.first, (_b = {}, _b[s$2.first__reaction] = mode === "reaction", _b)) },
5607
+ prefixContent,
5608
+ firstWord),
5609
+ Array.isArray(restWords) ? " ".concat(restWords.join(" ")) : undefined)) : (text);
5610
+ return active ? (React.createElement(AppLink, { href: generateUrl(text, langCode, tranLangCode), className: classNames(s$2.root, className), style: style }, textComponent)) : (React.createElement("span", { className: classNames(s$2.root, className), style: style }, textComponent));
5611
+ };
5612
+
5613
+ var s = {"root":"index-module_root__6kEGn","word":"index-module_word__cDxmd"};
5614
+
5615
+ var WordPanel = function (_a) {
5616
+ var word = _a.word, mode = _a.mode, fontSize = _a.fontSize, generateUrl = _a.generateUrl, className = _a.className;
5617
+ var words = React.useMemo(function () {
5618
+ return Array.isArray(word) ? word : [word];
5619
+ }, [word]);
5620
+ return (React.createElement("div", { className: classNames(s.root, className) }, words.map(function (w, i) {
5621
+ var whiteSpace = i < words.length - 1 ? " " : "";
5622
+ return (React.createElement(React.Fragment, { key: i },
5623
+ React.createElement(WordInline, { className: s.word, generateUrl: generateUrl, word: w, mode: mode, fontSize: fontSize }),
5624
+ whiteSpace));
5625
+ })));
5457
5626
  };
5458
5627
 
5459
5628
  exports.AlfaAttributor = AlfaAttributor;
@@ -5482,9 +5651,11 @@ exports.FrontLayout = FrontLayout;
5482
5651
  exports.HeaderActionPanel = HeaderActionPanel;
5483
5652
  exports.HiddenField = HiddenField;
5484
5653
  exports.IconDivision = IconDivision;
5654
+ exports.IconOver = IconOver;
5485
5655
  exports.InfoDialog = InfoDialog;
5486
5656
  exports.InputField = InputField;
5487
5657
  exports.InputNumberField = InputNumberField;
5658
+ exports.KnowingOver = KnowingOver;
5488
5659
  exports.OptionsAutocomplete = OptionsAutocomplete;
5489
5660
  exports.PageTitle = PageTitle;
5490
5661
  exports.Paragraph = Paragraph;
@@ -5501,6 +5672,8 @@ exports.SocialIconNameList = SocialIconNameList;
5501
5672
  exports.SplitLine = SplitLine;
5502
5673
  exports.SwitchField = SwitchField;
5503
5674
  exports.TextAreaField = TextAreaField;
5675
+ exports.WordInline = WordInline;
5676
+ exports.WordPanel = WordPanel;
5504
5677
  exports.useAppFormRules = useAppFormRules;
5505
5678
  exports.useDebounceEffect = useDebounceEffect;
5506
5679
  exports.useDidMount = useDidMount;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { ValueOption } from "./option";
3
+ import { RegularIconName } from "src/icon";
3
4
  export interface HeaderProps {
4
5
  children: React.ReactNode;
5
6
  className?: string;
@@ -9,3 +10,9 @@ export interface FrontControlSelect {
9
10
  options: ValueOption[];
10
11
  onChange?: (newValue: string) => void;
11
12
  }
13
+ export interface IconOverActionProps {
14
+ icon: RegularIconName;
15
+ tooltip?: string;
16
+ onClick: () => void;
17
+ }
18
+ export type WordInlineMode = "knowing" | "reaction";
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { Knowing } from "revdev";
3
+ import { IconOverProps } from "src/iconOver";
4
+ export interface KnowingOverProps extends Pick<IconOverProps, "fontSize" | "className" | "offsetRatioY"> {
5
+ value?: Knowing;
6
+ onChange: (newValue?: Knowing) => void;
7
+ text?: {
8
+ iKnowIt?: string;
9
+ save?: string;
10
+ };
11
+ }
12
+ export declare const KnowingOver: React.FC<KnowingOverProps>;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { UserReaction } from "revdev";
3
+ import { IconOverProps } from "src/iconOver";
4
+ export interface ReactionOverProps extends Pick<IconOverProps, "fontSize" | "className" | "offsetRatioY"> {
5
+ rate?: number;
6
+ reaction?: UserReaction;
7
+ onChange: (newReaction?: UserReaction) => void;
8
+ text?: {
9
+ like?: string;
10
+ dislike?: string;
11
+ };
12
+ }
13
+ export declare const ReactionOver: React.FC<ReactionOverProps>;
package/build/styles.css CHANGED
@@ -33,6 +33,7 @@
33
33
  --backLayoutBackgroundColor: white;
34
34
  --backLayoutHeaderBackgroundColor: white;
35
35
  --backLayoutSpinColor: rgb(58 63 81);
36
+ --iconDropBackgroundColor: white;
36
37
  }
37
38
 
38
39
  html,
@@ -449,13 +450,16 @@ body {
449
450
  cursor: pointer;
450
451
  }
451
452
  .index-module_root__EQ0II {
452
- height: 32px;
453
+ --rcButtonSize: 32px;
453
454
  }
454
- .index-module_root__rounded__nqE4q {
455
- width: 32px;
455
+
456
+ .index-module_rounded__4OK03 {
457
+ height: var(--rcButtonSize);
458
+ width: var(--rcButtonSize);
456
459
  border-radius: 50%;
457
460
  }
458
- .index-module_root__link__jIljS {
461
+
462
+ .index-module_link__fptGw {
459
463
  text-decoration: none;
460
464
  }
461
465
  .index-module_root__pGOaD {
@@ -601,4 +605,127 @@ body {
601
605
  border-top: 1px solid var(--splitLineColor);
602
606
  margin-top: 1em;
603
607
  margin-bottom: 1em;
608
+ }
609
+ .index-module_root__byEJC {
610
+ white-space: nowrap;
611
+ display: flex;
612
+ flex-direction: row;
613
+ cursor: pointer;
614
+ }
615
+
616
+ .index-module_popover__QIyer .ant-popover-arrow {
617
+ display: none !important;
618
+ }
619
+ .index-module_popover__QIyer .ant-popover-inner {
620
+ border: none;
621
+ box-shadow: none !important;
622
+ padding: 0 !important;
623
+ }
624
+ .index-module_root__gWlnS {
625
+ border: 1px solid var(--borderColor);
626
+ padding: 0.3em;
627
+ gap: 0.3em;
628
+ display: flex;
629
+ overflow: hidden;
630
+ flex-direction: column;
631
+ background-color: var(--iconDropBackgroundColor);
632
+ border-radius: 0.3em;
633
+ z-index: 2;
634
+ }
635
+
636
+ .index-module_item__fZyoE {
637
+ height: 1em;
638
+ width: 1em;
639
+ position: relative;
640
+ }
641
+
642
+ .index-module_action__8bZn6 {
643
+ position: absolute;
644
+ top: 50%;
645
+ left: 50%;
646
+ transform: translate(-50%, -50%);
647
+ opacity: 0.8;
648
+ font-size: 1em;
649
+ transition: all 0.2s ease-out;
650
+ }
651
+ .index-module_action__8bZn6:hover {
652
+ font-size: 1.4em;
653
+ opacity: 1;
654
+ }
655
+ .index-module_root__bD3Ws {
656
+ display: inline;
657
+ position: relative;
658
+ line-height: var(--wordInlineLineHeight);
659
+ }
660
+
661
+ .index-module_first__zVjHF {
662
+ padding-left: 1.1em;
663
+ white-space: nowrap;
664
+ line-height: 1em;
665
+ }
666
+ .index-module_first__reaction__k3WDO {
667
+ padding-left: 2.1em;
668
+ }
669
+
670
+ .index-module_prefix__0dhs2 {
671
+ line-height: 1em;
672
+ position: absolute;
673
+ left: 0;
674
+ top: 0.1em;
675
+ display: flex;
676
+ flex-direction: row;
677
+ gap: 0.1em;
678
+ }
679
+ .index-module_root__bqjGM {
680
+ line-height: 30px;
681
+ }
682
+ .index-module_root__bqjGM > span {
683
+ line-height: 30px;
684
+ }
685
+
686
+ .index-module_content__-d8j7 {
687
+ height: 1em;
688
+ width: 1em;
689
+ position: relative;
690
+ }
691
+
692
+ .index-module_number__XWMlJ {
693
+ font-weight: 600;
694
+ position: absolute;
695
+ top: 50%;
696
+ left: 50%;
697
+ transform: translate(-50%, -50%);
698
+ }
699
+
700
+ .index-module_char3__Q2fXi {
701
+ font-size: 0.65em;
702
+ }
703
+
704
+ .index-module_char4__1ZVqw {
705
+ font-size: 0.5em;
706
+ }
707
+
708
+ .index-module_like__63dK3 {
709
+ font-size: 0.5em;
710
+ position: absolute;
711
+ bottom: -0.8em;
712
+ left: -0.1em;
713
+ }
714
+
715
+ .index-module_dislike__jiF2e {
716
+ font-size: 0.5em;
717
+ position: absolute;
718
+ bottom: -0.8em;
719
+ right: -0.1em;
720
+ }
721
+ .index-module_root__6kEGn {
722
+ display: block;
723
+ }
724
+
725
+ .index-module_word__cDxmd {
726
+ --wordInlineLineHeight: 42px;
727
+ margin-right: 0.3em;
728
+ }
729
+ .index-module_word__cDxmd :last-child {
730
+ margin-right: 0;
604
731
  }
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { WordUserGen } from "revdev";
3
+ import { WordInlineMode } from "src/interfaces";
4
+ import { IconOverProps } from "src/iconOver";
5
+ export interface WordInlineProps extends Pick<IconOverProps, "fontSize" | "offsetRatioY"> {
6
+ className?: string;
7
+ tranLangCode?: string;
8
+ generateUrl: (text: string, langCode: string, tranLangCode?: string) => string;
9
+ word: WordUserGen;
10
+ mode?: WordInlineMode;
11
+ }
12
+ export declare const WordInline: React.FC<WordInlineProps>;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { WordUserGen } from "revdev";
3
+ import { WordInlineProps } from "src/wordInline";
4
+ export interface WordPanelProps extends Pick<WordInlineProps, "generateUrl" | "mode" | "fontSize"> {
5
+ word: WordUserGen | WordUserGen[];
6
+ className?: string;
7
+ }
8
+ export declare const WordPanel: React.FC<WordPanelProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revdev-components",
3
- "version": "0.105.0",
3
+ "version": "0.107.0",
4
4
  "main": "build/index.js",
5
5
  "module": "build/index.esm.js",
6
6
  "scripts": {
@@ -27,7 +27,8 @@
27
27
  "next": ">=13",
28
28
  "page-path": ">=0.7",
29
29
  "react": ">=18",
30
- "react-dom": ">=18"
30
+ "react-dom": ">=18",
31
+ "revdev": ">=0"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@chromatic-com/storybook": "^3.2.2",
@@ -44,14 +45,18 @@
44
45
  "@svgr/rollup": "^8.1.0",
45
46
  "@svgr/webpack": "^8.1.0",
46
47
  "@types/node": "^20",
48
+ "@types/numeral": "^2.0.5",
47
49
  "@types/react": "^18",
48
50
  "@types/react-dom": "^18",
49
51
  "antd": "^5.22.2",
50
52
  "classnames": "^2.5.1",
51
53
  "eslint-config-varp": "^1.10.0",
52
54
  "next": "14.2.16",
55
+ "numeral": "^2.0.6",
53
56
  "page-path": "^0.7.0",
54
57
  "postcss": "^8",
58
+ "randex": "^0.32.0",
59
+ "revdev": "^0.221.0",
55
60
  "rollup": "^4.24.4",
56
61
  "rollup-obfuscator": "^4.1.1",
57
62
  "rollup-plugin-postcss": "^4.0.2",