dinocollab-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js +431 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/assets/vector-404265a04f4f9c8be1f.webp +0 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js +46 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/src/api-context/alert-global.js +151 -0
- package/dist/src/api-context/alert-global.js.map +1 -0
- package/dist/src/api-context/drawer-global.js +105 -0
- package/dist/src/api-context/drawer-global.js.map +1 -0
- package/dist/src/api-context/global-modal.js +87 -0
- package/dist/src/api-context/global-modal.js.map +1 -0
- package/dist/src/api-context/popover-global.js +102 -0
- package/dist/src/api-context/popover-global.js.map +1 -0
- package/dist/src/api-context/popover.js +86 -0
- package/dist/src/api-context/popover.js.map +1 -0
- package/dist/src/api-context/ui.units.js +21 -0
- package/dist/src/api-context/ui.units.js.map +1 -0
- package/dist/src/components/copy-to-clipboard.js +105 -0
- package/dist/src/components/copy-to-clipboard.js.map +1 -0
- package/dist/src/components/custom.breadcrumbs.js +61 -0
- package/dist/src/components/custom.breadcrumbs.js.map +1 -0
- package/dist/src/components/help-tooltip.js +91 -0
- package/dist/src/components/help-tooltip.js.map +1 -0
- package/dist/src/components/image-with-fallback.js +48 -0
- package/dist/src/components/image-with-fallback.js.map +1 -0
- package/dist/src/components/text-editor.js +117 -0
- package/dist/src/components/text-editor.js.map +1 -0
- package/dist/src/form/create.autocomplete.chips.js +218 -0
- package/dist/src/form/create.autocomplete.chips.js.map +1 -0
- package/dist/src/form/create.date-expired.js +201 -0
- package/dist/src/form/create.date-expired.js.map +1 -0
- package/dist/src/form/create.date-picker.js +125 -0
- package/dist/src/form/create.date-picker.js.map +1 -0
- package/dist/src/form/create.form-base.js +135 -0
- package/dist/src/form/create.form-base.js.map +1 -0
- package/dist/src/form/create.form-comfirm.js +119 -0
- package/dist/src/form/create.form-comfirm.js.map +1 -0
- package/dist/src/form/create.form-grid-layout.js +177 -0
- package/dist/src/form/create.form-grid-layout.js.map +1 -0
- package/dist/src/form/create.form-grid-layout.units.js +39 -0
- package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
- package/dist/src/form/create.input-base.js +260 -0
- package/dist/src/form/create.input-base.js.map +1 -0
- package/dist/src/form/create.input.file.js +74 -0
- package/dist/src/form/create.input.file.js.map +1 -0
- package/dist/src/form/create.select-simple.js +104 -0
- package/dist/src/form/create.select-simple.js.map +1 -0
- package/dist/src/form/create.select-with-api.js +271 -0
- package/dist/src/form/create.select-with-api.js.map +1 -0
- package/dist/src/form/create.text-editor.js +156 -0
- package/dist/src/form/create.text-editor.js.map +1 -0
- package/dist/src/form/dino-form.js +42 -0
- package/dist/src/form/dino-form.js.map +1 -0
- package/dist/src/form/helper.js +157 -0
- package/dist/src/form/helper.js.map +1 -0
- package/dist/src/form/modal-wrapper.js +75 -0
- package/dist/src/form/modal-wrapper.js.map +1 -0
- package/dist/src/form/validator.js +186 -0
- package/dist/src/form/validator.js.map +1 -0
- package/dist/src/hooks/index.js +48 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/index.js +26 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/redux/create.hoc-lazy.js +67 -0
- package/dist/src/redux/create.hoc-lazy.js.map +1 -0
- package/dist/src/redux/dino.js +11 -0
- package/dist/src/redux/dino.js.map +1 -0
- package/dist/src/redux/types.js +9 -0
- package/dist/src/redux/types.js.map +1 -0
- package/dist/src/redux/ui.error-page.js +80 -0
- package/dist/src/redux/ui.error-page.js.map +1 -0
- package/dist/src/redux/vector-404.webp.js +4 -0
- package/dist/src/redux/vector-404.webp.js.map +1 -0
- package/dist/src/table/context.js +12 -0
- package/dist/src/table/context.js.map +1 -0
- package/dist/src/table/create.action-row.js +135 -0
- package/dist/src/table/create.action-row.js.map +1 -0
- package/dist/src/table/create.status-cell.js +49 -0
- package/dist/src/table/create.status-cell.js.map +1 -0
- package/dist/src/table/create.table.js +233 -0
- package/dist/src/table/create.table.js.map +1 -0
- package/dist/src/table/custom.filter-operators.js +89 -0
- package/dist/src/table/custom.filter-operators.js.map +1 -0
- package/dist/src/table/dino.js +129 -0
- package/dist/src/table/dino.js.map +1 -0
- package/dist/src/table/helpers.js +116 -0
- package/dist/src/table/helpers.js.map +1 -0
- package/dist/src/table/model-filter.js +23 -0
- package/dist/src/table/model-filter.js.map +1 -0
- package/dist/src/table/toolbar-pannel.js +134 -0
- package/dist/src/table/toolbar-pannel.js.map +1 -0
- package/dist/src/table/ui.buttons.js +60 -0
- package/dist/src/table/ui.buttons.js.map +1 -0
- package/dist/src/table/ui.units.js +201 -0
- package/dist/src/table/ui.units.js.map +1 -0
- package/dist/src/utils/dayjs-config.js +12 -0
- package/dist/src/utils/dayjs-config.js.map +1 -0
- package/dist/src/utils/helpers.js +197 -0
- package/dist/src/utils/helpers.js.map +1 -0
- package/dist/src/utils/json-object.js +38 -0
- package/dist/src/utils/json-object.js.map +1 -0
- package/dist/src/utils/query-param.js +172 -0
- package/dist/src/utils/query-param.js.map +1 -0
- package/package.json +52 -0
- package/rollup.config.js +39 -0
- package/src/@types/global.d.ts +5 -0
- package/src/api-context/alert-global.tsx +174 -0
- package/src/api-context/drawer-global.tsx +116 -0
- package/src/api-context/global-modal.tsx +109 -0
- package/src/api-context/index.ts +13 -0
- package/src/api-context/popover-global.tsx +107 -0
- package/src/api-context/popover.tsx +89 -0
- package/src/api-context/ui.units.tsx +10 -0
- package/src/components/copy-to-clipboard.tsx +86 -0
- package/src/components/custom.breadcrumbs.tsx +67 -0
- package/src/components/help-tooltip.tsx +75 -0
- package/src/components/image-with-fallback.tsx +51 -0
- package/src/components/index.tsx +1 -0
- package/src/components/input-debounce-timer.tsx +138 -0
- package/src/components/loading-buttons.tsx +35 -0
- package/src/components/text-editor.preview.tsx +30 -0
- package/src/components/text-editor.tsx +125 -0
- package/src/form/README.md +55 -0
- package/src/form/create.autocomplete.chips.tsx +199 -0
- package/src/form/create.date-expired.tsx +195 -0
- package/src/form/create.date-picker.tsx +122 -0
- package/src/form/create.form-base.tsx +102 -0
- package/src/form/create.form-comfirm.tsx +83 -0
- package/src/form/create.form-grid-layout.tsx +170 -0
- package/src/form/create.form-grid-layout.units.tsx +37 -0
- package/src/form/create.input-base.tsx +222 -0
- package/src/form/create.input.file.tsx +76 -0
- package/src/form/create.select-simple.tsx +101 -0
- package/src/form/create.select-with-api.tsx +213 -0
- package/src/form/create.text-editor.tsx +161 -0
- package/src/form/dino-form.tsx +40 -0
- package/src/form/helper.ts +132 -0
- package/src/form/index.ts +12 -0
- package/src/form/modal-wrapper.tsx +75 -0
- package/src/form/types.ts +16 -0
- package/src/form/validator.ts +202 -0
- package/src/hooks/index.ts +44 -0
- package/src/index.ts +7 -0
- package/src/lab/create.autocomplete.simple.tsx +57 -0
- package/src/lab/create.dino-store.ts +59 -0
- package/src/lab/create.multi-select-dropdown.tsx +189 -0
- package/src/lab/create.select-mul-with-api/index.tsx +271 -0
- package/src/lab/create.select-mul-with-api/table-custom.tsx +194 -0
- package/src/lab/create.select-mul-with-api/types.ts +26 -0
- package/src/lab/create.select-mul-with-api/ui.units.tsx +163 -0
- package/src/lab/filter-bar/base.tsx +162 -0
- package/src/lab/filter-bar/create.filter-bar.tsx +190 -0
- package/src/lab/filter-bar/create.filter-menu.tsx +156 -0
- package/src/lab/filter-bar/create.filter-panel.tsx +95 -0
- package/src/lab/filter-bar/create.filtered.tsx +41 -0
- package/src/lab/filter-bar/create.sort-menu.tsx +43 -0
- package/src/lab/filter-bar/demo.tsx +50 -0
- package/src/lab/filter-bar/index.ts +6 -0
- package/src/lab/filter-bar/types.ts +105 -0
- package/src/lab/filter-bar/ui.units.tsx +70 -0
- package/src/lab/grafana-dashboard/configs.ts +43 -0
- package/src/lab/grafana-dashboard/date-time-range/absolute-time-rage.tsx +137 -0
- package/src/lab/grafana-dashboard/date-time-range/helpers.ts +126 -0
- package/src/lab/grafana-dashboard/date-time-range/index.tsx +62 -0
- package/src/lab/grafana-dashboard/date-time-range/menu-wrap.tsx +101 -0
- package/src/lab/grafana-dashboard/date-time-range/quick-ranges.tsx +161 -0
- package/src/lab/grafana-dashboard/date-time-range/types.ts +9 -0
- package/src/lab/grafana-dashboard/date-time-range/units.tsx +18 -0
- package/src/lab/grafana-dashboard/helper.ts +25 -0
- package/src/lab/grafana-dashboard/hooks.tsx +79 -0
- package/src/lab/grafana-dashboard/icons.tsx +67 -0
- package/src/lab/grafana-dashboard/index.tsx +120 -0
- package/src/lab/grafana-dashboard/top-bar.tsx +62 -0
- package/src/lab/grafana-dashboard/top-bar.types.ts +5 -0
- package/src/lab/grafana-dashboard/types.ts +8 -0
- package/src/lab/media-player.core1.tsx +273 -0
- package/src/lab/media-player.muted.tsx +62 -0
- package/src/lab/media-player.units.ts +80 -0
- package/src/lab/table-grid/create.table-grid.tsx +183 -0
- package/src/lab/table-grid/demo.tsx +53 -0
- package/src/lab/table-grid/dino.tsx +8 -0
- package/src/lab/table-grid/helpers.tsx +11 -0
- package/src/lab/table-grid/index.ts +3 -0
- package/src/lab/table-grid/item-actions.tsx +138 -0
- package/src/lab/table-grid/toolbar-pannel.tsx +98 -0
- package/src/lab/table-grid/types.ts +68 -0
- package/src/redux/create.hoc-lazy.tsx +80 -0
- package/src/redux/dino.ts +9 -0
- package/src/redux/index.ts +6 -0
- package/src/redux/types.ts +27 -0
- package/src/redux/ui.error-page.tsx +62 -0
- package/src/redux/ui.units.tsx +41 -0
- package/src/redux/vector-404.webp +0 -0
- package/src/table/context.tsx +16 -0
- package/src/table/create.action-row.tsx +91 -0
- package/src/table/create.status-cell.tsx +51 -0
- package/src/table/create.table.tsx +239 -0
- package/src/table/custom.filter-operators.ts +94 -0
- package/src/table/dino.tsx +120 -0
- package/src/table/helpers.ts +94 -0
- package/src/table/index.ts +13 -0
- package/src/table/model-filter.ts +43 -0
- package/src/table/toolbar-pannel.tsx +106 -0
- package/src/table/types.ts +50 -0
- package/src/table/ui.buttons.tsx +54 -0
- package/src/table/ui.units.tsx +189 -0
- package/src/utils/dayjs-config.ts +13 -0
- package/src/utils/helpers.ts +171 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/json-object.ts +29 -0
- package/src/utils/mfe-events.tsx +34 -0
- package/src/utils/query-param.ts +129 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.units.js","sources":["../../../src/api-context/ui.units.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, Typography } from '@mui/material'\r\n\r\nexport const ContentDefault: FC = () => (\r\n <Box sx={{ p: '9px 12px', m: '12px', backgroundColor: 'rgba(0,0,0,0.1)' }}>\r\n <Typography variant='caption' sx={{ fontWeight: 600, fontStyle: 'italic' }}>\r\n Content\r\n </Typography>\r\n </Box>\r\n)\r\n"],"names":["ContentDefault","React","createElement","Box","sx","p","m","backgroundColor","Typography","variant","fontWeight","fontStyle"],"mappings":";;;AAGaA,IAAAA,cAAc,GAAO,SAArBA,cAAcA,GAAA;AAAA,EAAA,oBACzBC,KAAA,CAAAC,aAAA,CAACC,GAAG,EAAA;AAACC,IAAAA,EAAE,EAAE;AAAEC,MAAAA,CAAC,EAAE,UAAU;AAAEC,MAAAA,CAAC,EAAE,MAAM;AAAEC,MAAAA,eAAe,EAAE;AAAmB;AAAC,GAAA,eACxEN,KAAA,CAAAC,aAAA,CAACM,UAAU,EAAA;AAACC,IAAAA,OAAO,EAAC,SAAS;AAACL,IAAAA,EAAE,EAAE;AAAEM,MAAAA,UAAU,EAAE,GAAG;AAAEC,MAAAA,SAAS,EAAE;AAAQ;GACtE,EAAA,SACU,CACT,CAAC;AAAA;;;;"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, extends as _extends, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { Tooltip, Box, IconButton } from '@mui/material';
|
|
5
|
+
import copy from 'clipboard-copy';
|
|
6
|
+
import DoneIcon from '@mui/icons-material/Done';
|
|
7
|
+
import ContentCopyIcon from '@mui/icons-material/ContentCopy';
|
|
8
|
+
|
|
9
|
+
var CopyToClipboard = /*#__PURE__*/function (_Component) {
|
|
10
|
+
function CopyToClipboard(props) {
|
|
11
|
+
var _this;
|
|
12
|
+
_classCallCheck(this, CopyToClipboard);
|
|
13
|
+
_this = _callSuper(this, CopyToClipboard, [props]);
|
|
14
|
+
_this.renderIcon = function () {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
if ((_a = _this.props.slots) === null || _a === void 0 ? void 0 : _a.button) {
|
|
17
|
+
var ButtonComp = _this.props.slots.button;
|
|
18
|
+
return /*#__PURE__*/React.createElement(ButtonComp, {
|
|
19
|
+
onClick: _this.handleClickCopy,
|
|
20
|
+
copied: _this.state.copied
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
var Icon = _this.state.copied ? DoneIcon : ContentCopyIcon;
|
|
24
|
+
return /*#__PURE__*/React.createElement(IconButton, _extends({
|
|
25
|
+
onClick: _this.handleClickCopy
|
|
26
|
+
}, (_b = _this.props.slots) === null || _b === void 0 ? void 0 : _b.buttonProps), /*#__PURE__*/React.createElement(Icon, {
|
|
27
|
+
fontSize: "small",
|
|
28
|
+
sx: {
|
|
29
|
+
color: '#606060'
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
_this.handleClickCopy = function () {
|
|
34
|
+
_this.debounceTime.start();
|
|
35
|
+
_this.onCopy();
|
|
36
|
+
};
|
|
37
|
+
_this.debounceTime = {
|
|
38
|
+
cache: 0,
|
|
39
|
+
time: 1500,
|
|
40
|
+
start: function start() {
|
|
41
|
+
_this.debounceTime.clear();
|
|
42
|
+
_this.setState({
|
|
43
|
+
copied: true
|
|
44
|
+
}, function () {
|
|
45
|
+
_this.debounceTime.cache = setTimeout(function () {
|
|
46
|
+
_this.setState({
|
|
47
|
+
copied: false
|
|
48
|
+
});
|
|
49
|
+
}, _this.debounceTime.time);
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
clear: function clear() {
|
|
53
|
+
clearTimeout(_this.debounceTime.cache);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
_this.onCopy = function () {
|
|
57
|
+
copy(_this.props.value);
|
|
58
|
+
_this.setState({
|
|
59
|
+
showTooltip: true
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
_this.state = {
|
|
63
|
+
showTooltip: false,
|
|
64
|
+
copied: false
|
|
65
|
+
};
|
|
66
|
+
return _this;
|
|
67
|
+
}
|
|
68
|
+
_inherits(CopyToClipboard, _Component);
|
|
69
|
+
return _createClass(CopyToClipboard, [{
|
|
70
|
+
key: "render",
|
|
71
|
+
value: function render() {
|
|
72
|
+
var _this2 = this;
|
|
73
|
+
var _a, _b;
|
|
74
|
+
var leaveDelay = this.state.copied ? this.debounceTime.time - 200 : 0;
|
|
75
|
+
var _c = (_b = (_a = this.props.slots) === null || _a === void 0 ? void 0 : _a.tooltipProps) !== null && _b !== void 0 ? _b : {},
|
|
76
|
+
title = _c.title,
|
|
77
|
+
tooltipProps = __rest(_c, ["title"]);
|
|
78
|
+
var titleValue = this.state.copied ? 'Copied to clipboard!' : title !== null && title !== void 0 ? title : 'Copy to clipboard';
|
|
79
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
80
|
+
arrow: true,
|
|
81
|
+
title: titleValue,
|
|
82
|
+
leaveDelay: leaveDelay,
|
|
83
|
+
open: this.state.showTooltip,
|
|
84
|
+
onOpen: function onOpen() {
|
|
85
|
+
return _this2.setState({
|
|
86
|
+
showTooltip: true
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
onClose: function onClose() {
|
|
90
|
+
return _this2.setState({
|
|
91
|
+
showTooltip: false
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}, tooltipProps), /*#__PURE__*/React.createElement(Box, {
|
|
95
|
+
sx: {
|
|
96
|
+
display: 'inline-block',
|
|
97
|
+
flex: '0 0 auto'
|
|
98
|
+
}
|
|
99
|
+
}, this.renderIcon()));
|
|
100
|
+
}
|
|
101
|
+
}]);
|
|
102
|
+
}(Component);
|
|
103
|
+
|
|
104
|
+
export { CopyToClipboard as default };
|
|
105
|
+
//# sourceMappingURL=copy-to-clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-to-clipboard.js","sources":["../../../src/components/copy-to-clipboard.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Box, ButtonProps, IconButton, Tooltip, TooltipProps } from '@mui/material'\r\nimport copy from 'clipboard-copy'\r\nimport DoneIcon from '@mui/icons-material/Done'\r\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\r\n\r\ninterface IProps {\r\n value: string\r\n slots?: {\r\n tooltipProps?: Partial<TooltipProps>\r\n button?: ComponentType<{ onClick: () => void; copied?: boolean }>\r\n buttonProps?: ButtonProps\r\n }\r\n}\r\n\r\ninterface IState {\r\n showTooltip: boolean\r\n copied: boolean\r\n}\r\n\r\nclass CopyToClipboard extends Component<IProps, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = { showTooltip: false, copied: false }\r\n }\r\n\r\n render() {\r\n const leaveDelay = this.state.copied ? this.debounceTime.time - 200 : 0\r\n const { title, ...tooltipProps } = this.props.slots?.tooltipProps ?? {}\r\n const titleValue = this.state.copied ? 'Copied to clipboard!' : (title ?? 'Copy to clipboard')\r\n return (\r\n <Tooltip\r\n arrow\r\n title={titleValue}\r\n leaveDelay={leaveDelay}\r\n open={this.state.showTooltip}\r\n onOpen={() => this.setState({ showTooltip: true })}\r\n onClose={() => this.setState({ showTooltip: false })}\r\n {...tooltipProps}\r\n >\r\n <Box sx={{ display: 'inline-block', flex: '0 0 auto' }}>{this.renderIcon()}</Box>\r\n </Tooltip>\r\n )\r\n }\r\n\r\n renderIcon = () => {\r\n if (this.props.slots?.button) {\r\n const ButtonComp = this.props.slots.button\r\n return <ButtonComp onClick={this.handleClickCopy} copied={this.state.copied} />\r\n }\r\n const Icon = this.state.copied ? DoneIcon : ContentCopyIcon\r\n return (\r\n <IconButton onClick={this.handleClickCopy} {...this.props.slots?.buttonProps}>\r\n <Icon fontSize='small' sx={{ color: '#606060' }} />\r\n </IconButton>\r\n )\r\n }\r\n\r\n handleClickCopy = () => {\r\n this.debounceTime.start()\r\n this.onCopy()\r\n }\r\n\r\n private debounceTime = {\r\n cache: 0 as any,\r\n time: 1500,\r\n start: () => {\r\n this.debounceTime.clear()\r\n this.setState({ copied: true }, () => {\r\n this.debounceTime.cache = setTimeout(() => {\r\n this.setState({ copied: false })\r\n }, this.debounceTime.time)\r\n })\r\n },\r\n clear: () => {\r\n clearTimeout(this.debounceTime.cache)\r\n }\r\n }\r\n\r\n private onCopy = () => {\r\n copy(this.props.value)\r\n this.setState({ showTooltip: true })\r\n }\r\n}\r\n\r\nexport default CopyToClipboard\r\n"],"names":["CopyToClipboard","_Component","props","_this","_classCallCheck","_callSuper","renderIcon","_a","slots","button","ButtonComp","React","createElement","onClick","handleClickCopy","copied","state","Icon","DoneIcon","ContentCopyIcon","IconButton","_extends","_b","buttonProps","fontSize","sx","color","debounceTime","start","onCopy","cache","time","clear","setState","setTimeout","clearTimeout","copy","value","showTooltip","_inherits","_createClass","key","render","_this2","leaveDelay","_c","tooltipProps","title","__rest","titleValue","Tooltip","arrow","open","onOpen","onClose","Box","display","flex","Component"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { styled, Box, Breadcrumbs, Typography } from '@mui/material';
|
|
4
|
+
import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';
|
|
5
|
+
|
|
6
|
+
var CustomBreadcrumbs = function CustomBreadcrumbs(props) {
|
|
7
|
+
var _a;
|
|
8
|
+
var list = (_a = props.value) !== null && _a !== void 0 ? _a : [];
|
|
9
|
+
var handleClick = function handleClick(e, x) {
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
e.stopPropagation();
|
|
12
|
+
x.onClick && x.onClick(e);
|
|
13
|
+
};
|
|
14
|
+
var getItemProps = function getItemProps(item) {
|
|
15
|
+
if (item.propsGetter) return item.propsGetter();
|
|
16
|
+
return item.url ? {
|
|
17
|
+
component: 'a',
|
|
18
|
+
href: item.url
|
|
19
|
+
} : {};
|
|
20
|
+
};
|
|
21
|
+
return /*#__PURE__*/React.createElement(Breadcrumbs, null, list.map(function (x, i) {
|
|
22
|
+
var isClick = !!x.onClick || !!x.url;
|
|
23
|
+
return /*#__PURE__*/React.createElement(WrapTypography, _extends({
|
|
24
|
+
key: 'key' + i
|
|
25
|
+
}, getItemProps(x), {
|
|
26
|
+
onClick: x.onClick ? function (e) {
|
|
27
|
+
return handleClick(e, x);
|
|
28
|
+
} : undefined,
|
|
29
|
+
className: isClick ? 'clickable' : ''
|
|
30
|
+
}), i < 1 && /*#__PURE__*/React.createElement(ArrowBackIosIcon, {
|
|
31
|
+
sx: {
|
|
32
|
+
fontSize: '16px',
|
|
33
|
+
mb: '3px',
|
|
34
|
+
color: '#000'
|
|
35
|
+
}
|
|
36
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
37
|
+
variant: "subtitle1",
|
|
38
|
+
sx: {
|
|
39
|
+
fontWeight: 600
|
|
40
|
+
},
|
|
41
|
+
noWrap: true
|
|
42
|
+
}, /*#__PURE__*/React.createElement("span", null, x.label)));
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
var WrapTypography = styled(Box)({
|
|
46
|
+
display: 'flex',
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
textDecoration: 'none',
|
|
49
|
+
'&.clickable': {
|
|
50
|
+
cursor: 'pointer'
|
|
51
|
+
},
|
|
52
|
+
'& .MuiTypography-root': {
|
|
53
|
+
color: 'var(--color-title)'
|
|
54
|
+
},
|
|
55
|
+
'&.clickable:hover .MuiTypography-root': {
|
|
56
|
+
textDecoration: 'underline'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
export { CustomBreadcrumbs as default };
|
|
61
|
+
//# sourceMappingURL=custom.breadcrumbs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom.breadcrumbs.js","sources":["../../../src/components/custom.breadcrumbs.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, Breadcrumbs, styled, Typography, TypographyProps } from '@mui/material'\r\nimport ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'\r\n\r\nexport interface CustomBreadcrumbConfig {\r\n label: string\r\n url?: string\r\n propsGetter?: () => TypographyProps\r\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\r\n}\r\n\r\ninterface IProps {\r\n value?: CustomBreadcrumbConfig[]\r\n}\r\n\r\nconst CustomBreadcrumbs: FC<IProps> = (props) => {\r\n const list = props.value ?? []\r\n\r\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>, x: CustomBreadcrumbConfig) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n x.onClick && x.onClick(e)\r\n }\r\n\r\n const getItemProps = (item: CustomBreadcrumbConfig): TypographyProps => {\r\n if (item.propsGetter) return item.propsGetter()\r\n return item.url ? ({ component: 'a', href: item.url } as TypographyProps) : {}\r\n }\r\n\r\n return (\r\n <Breadcrumbs>\r\n {list.map((x, i) => {\r\n const isClick = !!x.onClick || !!x.url\r\n return (\r\n <WrapTypography\r\n key={'key' + i}\r\n {...getItemProps(x)}\r\n onClick={x.onClick ? (e: any) => handleClick(e, x) : undefined}\r\n className={isClick ? 'clickable' : ''}\r\n >\r\n {i < 1 && <ArrowBackIosIcon sx={{ fontSize: '16px', mb: '3px', color: '#000' }} />}\r\n <Typography variant='subtitle1' sx={{ fontWeight: 600 }} noWrap>\r\n <span>{x.label}</span>\r\n </Typography>\r\n </WrapTypography>\r\n )\r\n })}\r\n </Breadcrumbs>\r\n )\r\n}\r\n\r\nexport default CustomBreadcrumbs\r\n\r\nconst WrapTypography = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n textDecoration: 'none',\r\n '&.clickable': {\r\n cursor: 'pointer'\r\n },\r\n '& .MuiTypography-root': {\r\n color: 'var(--color-title)'\r\n },\r\n '&.clickable:hover .MuiTypography-root': {\r\n textDecoration: 'underline'\r\n }\r\n})\r\n"],"names":["CustomBreadcrumbs","props","list","_a","value","handleClick","e","x","preventDefault","stopPropagation","onClick","getItemProps","item","propsGetter","url","component","href","React","createElement","Breadcrumbs","map","i","isClick","WrapTypography","_extends","key","undefined","className","ArrowBackIosIcon","sx","fontSize","mb","color","Typography","variant","fontWeight","noWrap","label","styled","Box","display","alignItems","textDecoration","cursor"],"mappings":";;;;;AAeA,IAAMA,iBAAiB,GAAe,SAAhCA,iBAAiBA,CAAgBC,KAAK,EAAI;;AAC9C,EAAA,IAAMC,IAAI,GAAG,CAAAC,EAAA,GAAAF,KAAK,CAACG,KAAK,MAAA,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAAA,EAAA,GAAI,EAAE;EAE9B,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAA+C,EAAEC,CAAyB,EAAI;IACjGD,CAAC,CAACE,cAAc,EAAE;IAClBF,CAAC,CAACG,eAAe,EAAE;IACnBF,CAAC,CAACG,OAAO,IAAIH,CAAC,CAACG,OAAO,CAACJ,CAAC,CAAC;GAC1B;AAED,EAAA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA4B,EAAqB;IACrE,IAAIA,IAAI,CAACC,WAAW,EAAE,OAAOD,IAAI,CAACC,WAAW,EAAE;IAC/C,OAAOD,IAAI,CAACE,GAAG,GAAI;AAAEC,MAAAA,SAAS,EAAE,GAAG;MAAEC,IAAI,EAAEJ,IAAI,CAACE;KAAyB,GAAG,EAAE;GAC/E;AAED,EAAA,oBACEG,KAAA,CAAAC,aAAA,CAACC,WAAW,EACTjB,IAAAA,EAAAA,IAAI,CAACkB,GAAG,CAAC,UAACb,CAAC,EAAEc,CAAC,EAAI;AACjB,IAAA,IAAMC,OAAO,GAAG,CAAC,CAACf,CAAC,CAACG,OAAO,IAAI,CAAC,CAACH,CAAC,CAACO,GAAG;AACtC,IAAA,oBACEG,KAAA,CAAAC,aAAA,CAACK,cAAc,EAAAC,QAAA,CAAA;MACbC,GAAG,EAAE,KAAK,GAAGJ;KACTV,EAAAA,YAAY,CAACJ,CAAC,CAAC,EAAA;AACnBG,MAAAA,OAAO,EAAEH,CAAC,CAACG,OAAO,GAAG,UAACJ,CAAM,EAAA;AAAA,QAAA,OAAKD,WAAW,CAACC,CAAC,EAAEC,CAAC,CAAC;AAAA,OAAA,GAAGmB,SAAU;AAC/DC,MAAAA,SAAS,EAAEL,OAAO,GAAG,WAAW,GAAG;KAElCD,CAAAA,EAAAA,CAAC,GAAG,CAAC,iBAAIJ,KAAA,CAAAC,aAAA,CAACU,gBAAgB,EAAA;AAACC,MAAAA,EAAE,EAAE;AAAEC,QAAAA,QAAQ,EAAE,MAAM;AAAEC,QAAAA,EAAE,EAAE,KAAK;AAAEC,QAAAA,KAAK,EAAE;AAAM;AAAG,KAAA,CAAG,eAClFf,KAAA,CAAAC,aAAA,CAACe,UAAU,EAAA;AAACC,MAAAA,OAAO,EAAC,WAAW;AAACL,MAAAA,EAAE,EAAE;AAAEM,QAAAA,UAAU,EAAE;OAAM;MAACC,MAAM,EAAA;KAC7DnB,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOX,CAAC,CAAC8B,KAAY,CACX,CACE,CAAC;AAErB,GAAC,CACU,CAAC;AAElB;AAIA,IAAMd,cAAc,GAAGe,MAAM,CAACC,GAAG,CAAC,CAAC;AACjCC,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,cAAc,EAAE,MAAM;AACtB,EAAA,aAAa,EAAE;AACbC,IAAAA,MAAM,EAAE;GACT;AACD,EAAA,uBAAuB,EAAE;AACvBX,IAAAA,KAAK,EAAE;GACR;AACD,EAAA,uCAAuC,EAAE;AACvCU,IAAAA,cAAc,EAAE;AACjB;AACF,CAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { extends as _extends, defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { styled, Typography, Tooltip, tooltipClasses, Stack, Divider, Box, IconButton } from '@mui/material';
|
|
5
|
+
import HelpOutlineIcon from '@mui/icons-material/HelpOutline';
|
|
6
|
+
|
|
7
|
+
var HelpTooltip = function HelpTooltip(props) {
|
|
8
|
+
return /*#__PURE__*/React.createElement(HtmlTooltip, {
|
|
9
|
+
arrow: true,
|
|
10
|
+
placement: "bottom",
|
|
11
|
+
title: /*#__PURE__*/React.createElement(Stack, {
|
|
12
|
+
sx: {
|
|
13
|
+
gap: '6px',
|
|
14
|
+
py: '6px',
|
|
15
|
+
minWidth: '200px',
|
|
16
|
+
maxWidth: '400px '
|
|
17
|
+
}
|
|
18
|
+
}, /*#__PURE__*/React.createElement(TooltipHeaderText, null, props.title), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(Box, {
|
|
19
|
+
sx: {
|
|
20
|
+
p: '6px 12px'
|
|
21
|
+
}
|
|
22
|
+
}, props.children))
|
|
23
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
24
|
+
sx: Object.assign({
|
|
25
|
+
cursor: 'default'
|
|
26
|
+
}, props.sxIcon)
|
|
27
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
28
|
+
size: "small"
|
|
29
|
+
}, /*#__PURE__*/React.createElement(HelpOutlineIcon, {
|
|
30
|
+
fontSize: props.small ? 'small' : 'medium',
|
|
31
|
+
sx: {
|
|
32
|
+
color: 'rgb(25,103,210)'
|
|
33
|
+
}
|
|
34
|
+
}))));
|
|
35
|
+
};
|
|
36
|
+
var HelpTooltipWrap = function HelpTooltipWrap(props) {
|
|
37
|
+
return /*#__PURE__*/React.createElement(HtmlTooltip, {
|
|
38
|
+
arrow: true,
|
|
39
|
+
placement: "bottom",
|
|
40
|
+
title: /*#__PURE__*/React.createElement(Stack, {
|
|
41
|
+
sx: {
|
|
42
|
+
gap: '6px',
|
|
43
|
+
py: '6px',
|
|
44
|
+
minWidth: '200px',
|
|
45
|
+
maxWidth: '400px '
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/React.createElement(TooltipHeaderText, null, props.title), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(Box, {
|
|
48
|
+
sx: {
|
|
49
|
+
p: '6px 12px'
|
|
50
|
+
}
|
|
51
|
+
}, props.content))
|
|
52
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
53
|
+
sx: {
|
|
54
|
+
cursor: 'default'
|
|
55
|
+
}
|
|
56
|
+
}, props.children));
|
|
57
|
+
};
|
|
58
|
+
var TooltipHeaderText = styled(function (props) {
|
|
59
|
+
return /*#__PURE__*/React.createElement(Typography, _extends({
|
|
60
|
+
variant: "subtitle1"
|
|
61
|
+
}, props));
|
|
62
|
+
})({
|
|
63
|
+
color: '#0095ff',
|
|
64
|
+
fontWeight: 700,
|
|
65
|
+
padding: '0 10px'
|
|
66
|
+
});
|
|
67
|
+
var HtmlTooltip = styled(function (_a) {
|
|
68
|
+
var className = _a.className,
|
|
69
|
+
props = __rest(_a, ["className"]);
|
|
70
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({}, props, {
|
|
71
|
+
classes: {
|
|
72
|
+
popper: className
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
})(function (_ref) {
|
|
76
|
+
var theme = _ref.theme;
|
|
77
|
+
return _defineProperty(_defineProperty({}, "& .".concat(tooltipClasses.tooltip), {
|
|
78
|
+
backgroundColor: '#fff',
|
|
79
|
+
color: '#3c3c3c',
|
|
80
|
+
maxWidth: 500,
|
|
81
|
+
minHeight: 120,
|
|
82
|
+
fontSize: theme.typography.pxToRem(12),
|
|
83
|
+
borderRadius: '8px',
|
|
84
|
+
boxShadow: 'rgba(0, 0, 0, 0.08) 0px 6px 30px'
|
|
85
|
+
}), "& .".concat(tooltipClasses.arrow), {
|
|
86
|
+
color: '#fff'
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export { HelpTooltipWrap, HelpTooltip as default };
|
|
91
|
+
//# sourceMappingURL=help-tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-tooltip.js","sources":["../../../src/components/help-tooltip.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren, ReactNode } from 'react'\r\nimport { Box, Divider, IconButton, Stack, Tooltip, Typography } from '@mui/material'\r\nimport { SxProps, Theme, TooltipProps, TypographyProps, styled, tooltipClasses } from '@mui/material'\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline'\r\n\r\ninterface IProps {\r\n title: string\r\n small?: boolean\r\n sxIcon?: SxProps<Theme>\r\n}\r\n\r\nconst HelpTooltip: FC<PropsWithChildren<IProps>> = (props) => (\r\n <HtmlTooltip\r\n arrow\r\n placement='bottom'\r\n title={\r\n <Stack sx={{ gap: '6px', py: '6px', minWidth: '200px', maxWidth: '400px ' }}>\r\n <TooltipHeaderText>{props.title}</TooltipHeaderText>\r\n <Divider />\r\n <Box sx={{ p: '6px 12px' }}>{props.children}</Box>\r\n </Stack>\r\n }\r\n >\r\n <Box sx={{ cursor: 'default', ...props.sxIcon }}>\r\n <IconButton size='small'>\r\n <HelpOutlineIcon fontSize={props.small ? 'small' : 'medium'} sx={{ color: 'rgb(25,103,210)' }} />\r\n </IconButton>\r\n </Box>\r\n </HtmlTooltip>\r\n)\r\n\r\nexport default HelpTooltip\r\n\r\ninterface IHelpTooltipWrapProps {\r\n content: ReactNode\r\n title: string\r\n children: React.ReactNode\r\n}\r\n\r\nexport const HelpTooltipWrap: FC<IHelpTooltipWrapProps> = (props) => (\r\n <HtmlTooltip\r\n arrow\r\n placement='bottom'\r\n title={\r\n <Stack sx={{ gap: '6px', py: '6px', minWidth: '200px', maxWidth: '400px ' }}>\r\n <TooltipHeaderText>{props.title}</TooltipHeaderText>\r\n <Divider />\r\n <Box sx={{ p: '6px 12px' }}>{props.content}</Box>\r\n </Stack>\r\n }\r\n >\r\n <Box sx={{ cursor: 'default' }}>{props.children}</Box>\r\n </HtmlTooltip>\r\n)\r\n\r\nconst TooltipHeaderText = styled((props: TypographyProps) => <Typography variant='subtitle1' {...props} />)({\r\n color: '#0095ff',\r\n fontWeight: 700,\r\n padding: '0 10px'\r\n})\r\n\r\nconst HtmlTooltip = styled(({ className, ...props }: TooltipProps) => <Tooltip {...props} classes={{ popper: className }} />)(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: '#fff',\r\n color: '#3c3c3c',\r\n maxWidth: 500,\r\n minHeight: 120,\r\n fontSize: theme.typography.pxToRem(12),\r\n borderRadius: '8px',\r\n boxShadow: 'rgba(0, 0, 0, 0.08) 0px 6px 30px'\r\n },\r\n [`& .${tooltipClasses.arrow}`]: {\r\n color: '#fff'\r\n }\r\n}))\r\n"],"names":["HelpTooltip","props","React","createElement","HtmlTooltip","arrow","placement","title","Stack","sx","gap","py","minWidth","maxWidth","TooltipHeaderText","Divider","Box","p","children","Object","assign","cursor","sxIcon","IconButton","size","HelpOutlineIcon","fontSize","small","color","HelpTooltipWrap","content","styled","Typography","_extends","variant","fontWeight","padding","_a","className","__rest","Tooltip","classes","popper","_ref","theme","_defineProperty","concat","tooltipClasses","tooltip","backgroundColor","minHeight","typography","pxToRem","borderRadius","boxShadow"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js';
|
|
3
|
+
import React, { useState, useEffect, Fragment } from 'react';
|
|
4
|
+
import { useDebounce } from '../hooks/index.js';
|
|
5
|
+
|
|
6
|
+
var ImageWithFallback = function ImageWithFallback(_a) {
|
|
7
|
+
var src = _a.src,
|
|
8
|
+
fallbackSrc = _a.fallbackSrc,
|
|
9
|
+
alt = _a.alt,
|
|
10
|
+
loading = _a.loading,
|
|
11
|
+
_a$debounceDelay = _a.debounceDelay,
|
|
12
|
+
debounceDelay = _a$debounceDelay === void 0 ? 0 : _a$debounceDelay,
|
|
13
|
+
props = __rest(_a, ["src", "fallbackSrc", "alt", "loading", "debounceDelay"]);
|
|
14
|
+
var debouncedSrc = useDebounce(src, debounceDelay);
|
|
15
|
+
var debouncedFallbackSrc = useDebounce(fallbackSrc, debounceDelay);
|
|
16
|
+
var effectiveSrc = debounceDelay > 0 ? debouncedSrc : src;
|
|
17
|
+
var effectiveFallbackSrc = debounceDelay > 0 ? debouncedFallbackSrc : fallbackSrc;
|
|
18
|
+
var _useState = useState(true),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
isLoading = _useState2[0],
|
|
21
|
+
setLoading = _useState2[1];
|
|
22
|
+
var _useState3 = useState(effectiveSrc !== null && effectiveSrc !== void 0 ? effectiveSrc : effectiveFallbackSrc),
|
|
23
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
24
|
+
imgSrc = _useState4[0],
|
|
25
|
+
setImgSrc = _useState4[1];
|
|
26
|
+
useEffect(function () {
|
|
27
|
+
setImgSrc(effectiveSrc !== null && effectiveSrc !== void 0 ? effectiveSrc : effectiveFallbackSrc);
|
|
28
|
+
setLoading(true);
|
|
29
|
+
}, [effectiveSrc, effectiveFallbackSrc]);
|
|
30
|
+
var loadingElement = isLoading && loading ? loading : /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
31
|
+
return /*#__PURE__*/React.createElement(Fragment, null, loadingElement, /*#__PURE__*/React.createElement("img", _extends({}, props, {
|
|
32
|
+
src: imgSrc,
|
|
33
|
+
alt: alt,
|
|
34
|
+
onLoadStart: function onLoadStart() {
|
|
35
|
+
return setLoading(true);
|
|
36
|
+
},
|
|
37
|
+
onLoad: function onLoad() {
|
|
38
|
+
return setLoading(false);
|
|
39
|
+
},
|
|
40
|
+
onError: function onError() {
|
|
41
|
+
setImgSrc(fallbackSrc);
|
|
42
|
+
setLoading(false);
|
|
43
|
+
}
|
|
44
|
+
})));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export { ImageWithFallback as default };
|
|
48
|
+
//# sourceMappingURL=image-with-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-with-fallback.js","sources":["../../../src/components/image-with-fallback.tsx"],"sourcesContent":["import React, { Fragment, ReactNode, useEffect, useState } from 'react'\r\nimport { useDebounce } from '../hooks'\r\n\r\nexport interface ImageWithFallbackPropsOwner {\r\n src?: string\r\n alt?: string\r\n fallbackSrc: string\r\n loading?: ReactNode\r\n debounceDelay?: number\r\n}\r\n\r\ntype ImgProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, keyof ImageWithFallbackPropsOwner>\r\n\r\nexport interface ImageWithFallbackProps extends ImgProps, ImageWithFallbackPropsOwner {}\r\n\r\nconst ImageWithFallback: React.FC<ImageWithFallbackProps> = ({ src, fallbackSrc, alt, loading, debounceDelay = 0, ...props }) => {\r\n const debouncedSrc = useDebounce(src, debounceDelay)\r\n const debouncedFallbackSrc = useDebounce(fallbackSrc, debounceDelay)\r\n\r\n const effectiveSrc = debounceDelay > 0 ? debouncedSrc : src\r\n const effectiveFallbackSrc = debounceDelay > 0 ? debouncedFallbackSrc : fallbackSrc\r\n\r\n const [isLoading, setLoading] = useState(true)\r\n const [imgSrc, setImgSrc] = useState(effectiveSrc ?? effectiveFallbackSrc)\r\n\r\n useEffect(() => {\r\n setImgSrc(effectiveSrc ?? effectiveFallbackSrc)\r\n setLoading(true)\r\n }, [effectiveSrc, effectiveFallbackSrc])\r\n\r\n const loadingElement = isLoading && loading ? loading : <></>\r\n\r\n return (\r\n <Fragment>\r\n {loadingElement}\r\n <img\r\n {...props}\r\n src={imgSrc}\r\n alt={alt}\r\n onLoadStart={() => setLoading(true)}\r\n onLoad={() => setLoading(false)}\r\n onError={() => {\r\n setImgSrc(fallbackSrc)\r\n setLoading(false)\r\n }}\r\n />\r\n </Fragment>\r\n )\r\n}\r\n\r\nexport default ImageWithFallback\r\n"],"names":["ImageWithFallback","_a","src","fallbackSrc","alt","loading","_a$debounceDelay","debounceDelay","props","__rest","debouncedSrc","useDebounce","debouncedFallbackSrc","effectiveSrc","effectiveFallbackSrc","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","_useState4","imgSrc","setImgSrc","useEffect","loadingElement","React","createElement","Fragment","_extends","onLoadStart","onLoad","onError"],"mappings":";;;;;AAeA,IAAMA,iBAAiB,GAAqC,SAAtDA,iBAAiBA,CAAsCC,EAA+D,EAAI;AAAnE,EAAA,IAAEC,GAAG,GAA0DD,EAAA,CAA7DC,GAAG;IAAEC,WAAW,GAA6CF,EAAA,CAAxDE,WAAW;IAAEC,GAAG,GAAwCH,EAAA,CAA3CG,GAAG;IAAEC,OAAO,GAA+BJ,EAAA,CAAtCI,OAAO;IAAAC,gBAAA,GAA+BL,EAAA,CAA7BM,aAAa;AAAbA,IAAAA,aAAa,GAAAD,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;AAAKE,IAAAA,KAAK,GAAAC,MAAA,CAAAR,EAAA,EAA7D,yDAA+D,CAAF;AACxH,EAAA,IAAMS,YAAY,GAAGC,WAAW,CAACT,GAAG,EAAEK,aAAa,CAAC;AACpD,EAAA,IAAMK,oBAAoB,GAAGD,WAAW,CAACR,WAAW,EAAEI,aAAa,CAAC;EAEpE,IAAMM,YAAY,GAAGN,aAAa,GAAG,CAAC,GAAGG,YAAY,GAAGR,GAAG;EAC3D,IAAMY,oBAAoB,GAAGP,aAAa,GAAG,CAAC,GAAGK,oBAAoB,GAAGT,WAAW;AAEnF,EAAA,IAAAY,SAAA,GAAgCC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAI,UAAA,GAA4BL,QAAQ,CAACH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZ,MAAA,GAAAA,YAAY,GAAIC,oBAAoB,CAAC;IAAAQ,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAnEE,IAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExBG,EAAAA,SAAS,CAAC,YAAK;AACbD,IAAAA,SAAS,CAACX,YAAY,KAAZ,IAAA,IAAAA,YAAY,cAAZA,YAAY,GAAIC,oBAAoB,CAAC;IAC/CM,UAAU,CAAC,IAAI,CAAC;AAClB,GAAC,EAAE,CAACP,YAAY,EAAEC,oBAAoB,CAAC,CAAC;AAExC,EAAA,IAAMY,cAAc,GAAGP,SAAS,IAAId,OAAO,GAAGA,OAAO,gBAAGsB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,OAAK;AAE7D,EAAA,oBACEF,KAAA,CAAAC,aAAA,CAACC,QAAQ,EACNH,IAAAA,EAAAA,cAAc,eACfC,KAAA,CAAAC,aAAA,CAAAE,KAAAA,EAAAA,QAAA,KACMtB,KAAK,EAAA;AACTN,IAAAA,GAAG,EAAEqB,MAAO;AACZnB,IAAAA,GAAG,EAAEA,GAAI;IACT2B,WAAW,EAAE,SAAbA,WAAWA,GAAA;MAAA,OAAQX,UAAU,CAAC,IAAI,CAAC;KAAC;IACpCY,MAAM,EAAE,SAARA,MAAMA,GAAA;MAAA,OAAQZ,UAAU,CAAC,KAAK,CAAC;KAAC;AAChCa,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACZT,SAAS,CAACrB,WAAW,CAAC;MACtBiB,UAAU,CAAC,KAAK,CAAC;AACnB;AAAE,GAAA,CAEN,CAAU,CAAC;AAEf;;;;"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { Component } from 'react';
|
|
3
|
+
import { styled, Box } from '@mui/material';
|
|
4
|
+
import ReactQuill from 'react-quill';
|
|
5
|
+
import 'react-quill/dist/quill.snow.css';
|
|
6
|
+
|
|
7
|
+
var textEditorClasses = {
|
|
8
|
+
root: 'DinoTextEditor-root',
|
|
9
|
+
fullscreen: 'DinoTextEditor-fullscreen'
|
|
10
|
+
};
|
|
11
|
+
var EditorToolbar = {};
|
|
12
|
+
EditorToolbar.formats = ['header', 'bold', 'italic', 'underline', 'strike', 'blockquote', 'list', 'bullet', 'indent', 'link', 'image', 'align', 'color', 'background'];
|
|
13
|
+
EditorToolbar.modules = {
|
|
14
|
+
toolbar: [[{
|
|
15
|
+
header: [1, 2, 3, 4, 5, 6, false]
|
|
16
|
+
}], ['bold', 'italic', 'underline', 'strike', 'blockquote'], [{
|
|
17
|
+
align: ''
|
|
18
|
+
}, {
|
|
19
|
+
align: 'center'
|
|
20
|
+
}, {
|
|
21
|
+
align: 'right'
|
|
22
|
+
}, {
|
|
23
|
+
align: 'justify'
|
|
24
|
+
}], [{
|
|
25
|
+
list: 'ordered'
|
|
26
|
+
}, {
|
|
27
|
+
list: 'bullet'
|
|
28
|
+
}, {
|
|
29
|
+
indent: '-1'
|
|
30
|
+
}, {
|
|
31
|
+
indent: '+1'
|
|
32
|
+
}], [{
|
|
33
|
+
color: []
|
|
34
|
+
}, {
|
|
35
|
+
background: []
|
|
36
|
+
}], ['link', 'image'], ['clean']]
|
|
37
|
+
};
|
|
38
|
+
var TextEditor = /*#__PURE__*/function (_Component) {
|
|
39
|
+
function TextEditor(props) {
|
|
40
|
+
var _this;
|
|
41
|
+
_classCallCheck(this, TextEditor);
|
|
42
|
+
var _a;
|
|
43
|
+
_this = _callSuper(this, TextEditor, [props]);
|
|
44
|
+
_this.handleChange = function (value) {
|
|
45
|
+
var str = value;
|
|
46
|
+
if (value === '<p><br></p>') str = '';
|
|
47
|
+
_this.setState({
|
|
48
|
+
value: str
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
_this.id = 0;
|
|
52
|
+
_this.state = {
|
|
53
|
+
value: (_a = props.defautValue) !== null && _a !== void 0 ? _a : ''
|
|
54
|
+
};
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
_inherits(TextEditor, _Component);
|
|
58
|
+
return _createClass(TextEditor, [{
|
|
59
|
+
key: "render",
|
|
60
|
+
value: function render() {
|
|
61
|
+
var classes = [textEditorClasses.root];
|
|
62
|
+
if (this.props.error) classes.push('error');
|
|
63
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
64
|
+
id: this.props.id,
|
|
65
|
+
sx: this.props.sx,
|
|
66
|
+
className: classes.join(' ')
|
|
67
|
+
}, !this.props.readOnly && /*#__PURE__*/React.createElement("input", {
|
|
68
|
+
key: ++this.id,
|
|
69
|
+
name: this.props.name,
|
|
70
|
+
defaultValue: this.state.value,
|
|
71
|
+
hidden: true
|
|
72
|
+
}), /*#__PURE__*/React.createElement(ReactQuill, {
|
|
73
|
+
readOnly: this.props.readOnly,
|
|
74
|
+
placeholder: "Enter the message",
|
|
75
|
+
value: this.state.value,
|
|
76
|
+
modules: EditorToolbar.modules,
|
|
77
|
+
formats: EditorToolbar.formats,
|
|
78
|
+
onChange: this.handleChange,
|
|
79
|
+
onBlur: this.props.onBlur
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
}]);
|
|
83
|
+
}(Component);
|
|
84
|
+
var borderColor = '#d32f2f';
|
|
85
|
+
var Wrapper = styled(Box)({
|
|
86
|
+
margin: 0,
|
|
87
|
+
minHeight: '450px',
|
|
88
|
+
display: 'flex',
|
|
89
|
+
'& .quill': {
|
|
90
|
+
flex: 1
|
|
91
|
+
},
|
|
92
|
+
'& .ql-container': {
|
|
93
|
+
height: 'calc(100% - 42px)',
|
|
94
|
+
borderBottomLeftRadius: '6px',
|
|
95
|
+
borderBottomRightRadius: '6px'
|
|
96
|
+
},
|
|
97
|
+
'& .ql-toolbar': {
|
|
98
|
+
borderTopLeftRadius: '6px',
|
|
99
|
+
borderTopRightRadius: '6px'
|
|
100
|
+
},
|
|
101
|
+
'&.error .ql-toolbar': {
|
|
102
|
+
borderTopColor: borderColor,
|
|
103
|
+
borderLeftColor: borderColor,
|
|
104
|
+
borderRightColor: borderColor
|
|
105
|
+
},
|
|
106
|
+
'&.error .ql-container': {
|
|
107
|
+
borderBottomColor: borderColor,
|
|
108
|
+
borderLeftColor: borderColor,
|
|
109
|
+
borderRightColor: borderColor
|
|
110
|
+
},
|
|
111
|
+
'&.error .ql-editor.ql-blank::before': {
|
|
112
|
+
color: borderColor
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
export { TextEditor as default, textEditorClasses };
|
|
117
|
+
//# sourceMappingURL=text-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-editor.js","sources":["../../../src/components/text-editor.tsx"],"sourcesContent":["// /* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport React, { Component } from 'react'\r\nimport { Box, styled, SxProps, Theme } from '@mui/material'\r\n/**\r\n * yarn add react-quill@2.0.0\r\n */\r\nimport ReactQuill from 'react-quill'\r\nimport 'react-quill/dist/quill.snow.css'\r\n\r\nexport const textEditorClasses = {\r\n root: 'DinoTextEditor-root',\r\n fullscreen: 'DinoTextEditor-fullscreen'\r\n}\r\n\r\nconst EditorToolbar: any = {}\r\n\r\nEditorToolbar.formats = [\r\n 'header',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'blockquote',\r\n 'list',\r\n 'bullet',\r\n 'indent',\r\n 'link',\r\n 'image',\r\n 'align',\r\n 'color',\r\n 'background'\r\n]\r\n\r\nEditorToolbar.modules = {\r\n toolbar: [\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [{ align: '' }, { align: 'center' }, { align: 'right' }, { align: 'justify' }],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { indent: '-1' }, { indent: '+1' }],\r\n [{ color: [] }, { background: [] }],\r\n ['link', 'image'],\r\n ['clean']\r\n ]\r\n}\r\n\r\ninterface IProps {\r\n id?: string\r\n name: string\r\n sx?: SxProps<Theme>\r\n readOnly?: boolean\r\n defautValue?: string\r\n error?: boolean\r\n onBlur?: () => void\r\n}\r\n\r\ninterface IState {\r\n value: string\r\n}\r\n\r\nclass TextEditor extends Component<IProps, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = { value: props.defautValue ?? '' }\r\n }\r\n handleChange = (value: string) => {\r\n let str = value\r\n if (value === '<p><br></p>') str = ''\r\n this.setState({ value: str })\r\n }\r\n\r\n id = 0\r\n render() {\r\n const classes = [textEditorClasses.root]\r\n if (this.props.error) classes.push('error')\r\n return (\r\n <Wrapper id={this.props.id} sx={this.props.sx} className={classes.join(' ')}>\r\n {!this.props.readOnly && <input key={++this.id} name={this.props.name} defaultValue={this.state.value} hidden />}\r\n <ReactQuill\r\n readOnly={this.props.readOnly}\r\n placeholder='Enter the message'\r\n value={this.state.value}\r\n modules={EditorToolbar.modules}\r\n formats={EditorToolbar.formats}\r\n onChange={this.handleChange}\r\n onBlur={this.props.onBlur}\r\n />\r\n </Wrapper>\r\n )\r\n }\r\n}\r\n\r\nexport default TextEditor\r\n\r\nexport { default as TextEditorPreview } from './text-editor.preview'\r\n\r\nconst borderColor = '#d32f2f'\r\n\r\nconst Wrapper = styled(Box)({\r\n margin: 0,\r\n minHeight: '450px',\r\n display: 'flex',\r\n '& .quill': { flex: 1 },\r\n '& .ql-container': {\r\n height: 'calc(100% - 42px)',\r\n borderBottomLeftRadius: '6px',\r\n borderBottomRightRadius: '6px'\r\n },\r\n '& .ql-toolbar': {\r\n borderTopLeftRadius: '6px',\r\n borderTopRightRadius: '6px'\r\n },\r\n '&.error .ql-toolbar': {\r\n borderTopColor: borderColor,\r\n borderLeftColor: borderColor,\r\n borderRightColor: borderColor\r\n },\r\n '&.error .ql-container': {\r\n borderBottomColor: borderColor,\r\n borderLeftColor: borderColor,\r\n borderRightColor: borderColor\r\n },\r\n '&.error .ql-editor.ql-blank::before': {\r\n color: borderColor\r\n }\r\n})\r\n"],"names":["textEditorClasses","root","fullscreen","EditorToolbar","formats","modules","toolbar","header","align","list","indent","color","background","TextEditor","_Component","props","_this","_classCallCheck","_callSuper","handleChange","value","str","setState","id","state","_a","defautValue","_inherits","_createClass","key","render","classes","error","push","React","createElement","Wrapper","sx","className","join","readOnly","name","defaultValue","hidden","ReactQuill","placeholder","onChange","onBlur","Component","borderColor","styled","Box","margin","minHeight","display","flex","height","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius","borderTopColor","borderLeftColor","borderRightColor","borderBottomColor"],"mappings":"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"}
|