react-asc 23.6.1 → 23.7.2
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/components/Backdrop/Backdrop.d.ts +2 -3
- package/components/Drawer/Drawer.d.ts +1 -1
- package/components/Menu/MenuBody.d.ts +1 -1
- package/components/Modal/Modal.d.ts +2 -1
- package/components/Portal/Portal.d.ts +7 -0
- package/components/Portal/index.d.ts +1 -0
- package/components/index.d.ts +1 -0
- package/index.es.js +38 -24
- package/index.js +37 -22
- package/package.json +1 -1
- package/react-asc.scss +4 -13
- package/readme.md +2 -0
- package/components/Menu/MenuBackdrop.d.ts +0 -6
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
interface IBackdropProps extends React.ComponentProps<'div'> {
|
|
2
|
+
export interface IBackdropProps extends React.ComponentProps<'div'> {
|
|
3
3
|
target?: HTMLElement;
|
|
4
4
|
isTransparent?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare const Backdrop: (props: IBackdropProps) =>
|
|
7
|
-
export {};
|
|
6
|
+
export declare const Backdrop: (props: IBackdropProps) => JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
2
|
import { SIZE } from '../component.enums';
|
|
3
3
|
export interface IModalProps {
|
|
4
|
+
target?: HTMLElement;
|
|
4
5
|
className?: string;
|
|
5
6
|
children?: ReactNode;
|
|
6
|
-
header?: string;
|
|
7
|
+
header?: string | ReactElement;
|
|
7
8
|
footer?: string | ReactElement;
|
|
8
9
|
onHeaderCloseClick?: () => void;
|
|
9
10
|
onBackdropClick?: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Portal';
|
package/components/index.d.ts
CHANGED
package/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useEffect, useState, createContext, useContext, Fragment, Component, createRef, cloneElement } from 'react';
|
|
1
|
+
import React, { useRef, useEffect, useState, useMemo, createContext, useContext, Fragment, Component, createRef, cloneElement } from 'react';
|
|
2
2
|
import { createPortal, render, unmountComponentAtNode } from 'react-dom';
|
|
3
3
|
import { createPopper } from '@popperjs/core';
|
|
4
4
|
|
|
@@ -308,6 +308,18 @@ const useOnDestroy = (callBack) => {
|
|
|
308
308
|
}, []);
|
|
309
309
|
};
|
|
310
310
|
|
|
311
|
+
const Portal = ({ children, target = document.body, className }) => {
|
|
312
|
+
const containerEl = useMemo(() => document.createElement('div'), []);
|
|
313
|
+
useEffect(() => {
|
|
314
|
+
className && className.split(' ').forEach(cssClass => containerEl.classList.add(cssClass));
|
|
315
|
+
target.appendChild(containerEl);
|
|
316
|
+
return () => {
|
|
317
|
+
target.removeChild(containerEl);
|
|
318
|
+
};
|
|
319
|
+
}, []);
|
|
320
|
+
return createPortal(children, containerEl);
|
|
321
|
+
};
|
|
322
|
+
|
|
311
323
|
var css_248z$10 = ".Backdrop-module_backdrop__IRMoL {\n height: 100%;\n width: 100%;\n position: absolute;\n opacity: 0.5;\n z-index: 1040;\n top: 0;\n left: 0;\n background-color: #000;\n}\n.Backdrop-module_backdrop__IRMoL.Backdrop-module_isTransparent__F5nA5 {\n opacity: 0;\n}";
|
|
312
324
|
var styles$10 = {"backdrop":"Backdrop-module_backdrop__IRMoL","isTransparent":"Backdrop-module_isTransparent__F5nA5"};
|
|
313
325
|
styleInject(css_248z$10);
|
|
@@ -325,10 +337,10 @@ const Backdrop = (props) => {
|
|
|
325
337
|
return cssClasses.filter(css => css).join(' ');
|
|
326
338
|
};
|
|
327
339
|
const getStyles = () => {
|
|
328
|
-
|
|
329
|
-
return styles;
|
|
340
|
+
return Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
|
|
330
341
|
};
|
|
331
|
-
return (
|
|
342
|
+
return (React.createElement(Portal, { className: 'backdrop-root', target: target },
|
|
343
|
+
React.createElement("div", Object.assign({ className: getCssClasses(), onClick: handleClick, style: getStyles() }, rest))));
|
|
332
344
|
};
|
|
333
345
|
|
|
334
346
|
var css_248z$$ = ".List-module_list__gpZ41 {\n width: 100%;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n margin-top: 0;\n background-color: var(--white);\n}";
|
|
@@ -1116,13 +1128,13 @@ const Select = (props) => {
|
|
|
1116
1128
|
React.createElement(Icon, { className: "ml-2" },
|
|
1117
1129
|
React.createElement(ChevronDownSolidIcon, null))),
|
|
1118
1130
|
isShow &&
|
|
1119
|
-
|
|
1131
|
+
React.createElement(Portal, { className: 'backdrop-root' },
|
|
1120
1132
|
React.createElement("div", { className: styles$D.selectMenu, style: { left: (_a = selectConainter.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().x, top: (_b = selectConainter.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().y, width: (_c = selectConainter.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect().width } },
|
|
1121
1133
|
React.createElement(List, null, options && options.map((option, index) => React.createElement(ListItem, { id: `list-item-${index}`, key: option.value, onClick: () => handleOnClick(option), active: isActive(option) },
|
|
1122
1134
|
multiple &&
|
|
1123
1135
|
React.createElement(Checkbox, { checked: isActive(option), onChange: () => handleOnClick(option) }),
|
|
1124
1136
|
React.createElement(ListItemText, { primary: option.label ? option.label : option.value }))))),
|
|
1125
|
-
React.createElement(Backdrop, { style: { zIndex: 1111 }, isTransparent: true, onClick: () => hide() }))
|
|
1137
|
+
React.createElement(Backdrop, { style: { zIndex: 1111 }, isTransparent: true, onClick: () => hide() }))));
|
|
1126
1138
|
};
|
|
1127
1139
|
|
|
1128
1140
|
var css_248z$C = ".Textarea-module_textarea__L5zqa {\n min-height: calc(10em + 0.75rem + 2px);\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n background-clip: padding-box;\n border: 2px solid var(--input-border-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: var(--borderRadius);\n resize: vertical;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n appearance: none;\n border-radius: 0.25rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.0745098039);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n border: 1px solid #ced4da;\n}\n.Textarea-module_textarea__L5zqa:focus:not(.Textarea-module_textarea__L5zqa.Textarea-module_disabled__OqqOF) {\n outline: none !important;\n border-color: var(--primary);\n}\n.Textarea-module_textarea__L5zqa.Textarea-module_isInvalid__JI01W {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.2509803922);\n}";
|
|
@@ -1550,9 +1562,9 @@ const Drawer = (props) => {
|
|
|
1550
1562
|
const handleClickBackdrop = () => {
|
|
1551
1563
|
onClickBackdrop && onClickBackdrop();
|
|
1552
1564
|
};
|
|
1553
|
-
return
|
|
1565
|
+
return (React.createElement(Portal, { className: 'drawer-root', target: target },
|
|
1554
1566
|
React.createElement(DrawerContent, Object.assign({ className: className, position: position, permanent: permanent, shadow: shadow }, rest), children),
|
|
1555
|
-
!permanent && React.createElement(Backdrop, { onClick: handleClickBackdrop }))
|
|
1567
|
+
!permanent && React.createElement(Backdrop, { onClick: handleClickBackdrop })));
|
|
1556
1568
|
};
|
|
1557
1569
|
const DrawerContent = (props) => {
|
|
1558
1570
|
const { children, className, position = 'left', permanent = false, shadow } = props, rest = __rest(props, ["children", "className", "position", "permanent", "shadow"]);
|
|
@@ -1616,9 +1628,9 @@ const MenuBody = (props) => {
|
|
|
1616
1628
|
const handleClickBackdrop = () => {
|
|
1617
1629
|
onClickBackdrop && onClickBackdrop();
|
|
1618
1630
|
};
|
|
1619
|
-
return (
|
|
1631
|
+
return (React.createElement(Portal, { className: 'menu-root' },
|
|
1620
1632
|
React.createElement("div", { ref: menuBodyRef, className: getCssClasses() }, children),
|
|
1621
|
-
React.createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop }))
|
|
1633
|
+
React.createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })));
|
|
1622
1634
|
};
|
|
1623
1635
|
|
|
1624
1636
|
var css_248z$x = ".Menu-module_menu__p8QL- {\n display: flex;\n}";
|
|
@@ -1846,7 +1858,7 @@ var styles$l = {"modal":"Modal-module_modal__HMxWV","modal-dialog":"Modal-module
|
|
|
1846
1858
|
styleInject(css_248z$l);
|
|
1847
1859
|
|
|
1848
1860
|
const Modal = (props) => {
|
|
1849
|
-
const { className, size, fullScreen, children, header, footer, onHeaderCloseClick, onBackdropClick, isDismissable = false } = props;
|
|
1861
|
+
const { target = document.body, className, size, fullScreen, children, header, footer, onHeaderCloseClick, onBackdropClick, isDismissable = false } = props;
|
|
1850
1862
|
const getCssClass = () => {
|
|
1851
1863
|
const cssClasses = [];
|
|
1852
1864
|
cssClasses.push(styles$l.modalDialog);
|
|
@@ -1863,17 +1875,19 @@ const Modal = (props) => {
|
|
|
1863
1875
|
};
|
|
1864
1876
|
}, []);
|
|
1865
1877
|
const handleClickBackdrop = () => {
|
|
1878
|
+
console.warn('backdrop clicked');
|
|
1866
1879
|
onBackdropClick && onBackdropClick();
|
|
1867
1880
|
};
|
|
1868
1881
|
return (React.createElement(React.Fragment, null,
|
|
1869
|
-
React.createElement(
|
|
1870
|
-
React.createElement("div", { className:
|
|
1871
|
-
React.createElement("div", { className:
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1882
|
+
React.createElement(Portal, { className: 'modal-root', target: target },
|
|
1883
|
+
React.createElement("div", { className: styles$l.modal },
|
|
1884
|
+
React.createElement("div", { className: getCssClass() },
|
|
1885
|
+
React.createElement("div", { className: styles$l.modalContent },
|
|
1886
|
+
header &&
|
|
1887
|
+
React.createElement(ModalHeader, { isDismissable: isDismissable, onClose: () => onHeaderCloseClick && onHeaderCloseClick() }, header),
|
|
1888
|
+
React.createElement(ModalBody, null, children),
|
|
1889
|
+
footer &&
|
|
1890
|
+
React.createElement(ModalFooter, null, footer))))),
|
|
1877
1891
|
React.createElement(Backdrop, { onClick: handleClickBackdrop })));
|
|
1878
1892
|
};
|
|
1879
1893
|
|
|
@@ -2033,7 +2047,7 @@ const Tooltip = (props) => {
|
|
|
2033
2047
|
React.createElement("div", { id: "arrow", "data-popper-arrow": true }))));
|
|
2034
2048
|
};
|
|
2035
2049
|
|
|
2036
|
-
var css_248z$j = ".ProgressBar-module_progressBarContainer__vtbBw {\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n background-color: var(--progress-bg);\n}\n\n.ProgressBar-module_progressBar__hr8I8 {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--progress-bar-color);\n text-align: center;\n white-space: nowrap;\n transition: var(--progress-bar-transition);\n background-color: var(--progress-bar-bg);\n}\n.ProgressBar-module_progressBar__hr8I8.ProgressBar-module_indeterminate__WcQdD {\n width: 100%;\n height: 100%;\n animation: ProgressBar-module_indeterminateAnimation__SlBFt 1s infinite linear;\n transform-origin: 0% 50%;\n}\n\n@keyframes ProgressBar-module_indeterminateAnimation__SlBFt {\n 0% {\n transform: translateX(0) scaleX(0);\n }\n 40% {\n transform: translateX(0) scaleX(0.4);\n }\n 100% {\n transform: translateX(100%) scaleX(0.5);\n }\n}";
|
|
2050
|
+
var css_248z$j = ":root {\n --progress-height: 0.5rem;\n --progress-bg: #e9ecef;\n --progress-box-shadow: var(--shadow);\n --progress-bar-color: #fff;\n --progress-bar-bg: var(--primary);\n --progress-bar-transition: width 0.6s ease;\n}\n\n.ProgressBar-module_progressBarContainer__vtbBw {\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n background-color: var(--progress-bg);\n}\n\n.ProgressBar-module_progressBar__hr8I8 {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--progress-bar-color);\n text-align: center;\n white-space: nowrap;\n transition: var(--progress-bar-transition);\n background-color: var(--progress-bar-bg);\n}\n.ProgressBar-module_progressBar__hr8I8.ProgressBar-module_indeterminate__WcQdD {\n width: 100%;\n height: 100%;\n animation: ProgressBar-module_indeterminateAnimation__SlBFt 1s infinite linear;\n transform-origin: 0% 50%;\n}\n\n@keyframes ProgressBar-module_indeterminateAnimation__SlBFt {\n 0% {\n transform: translateX(0) scaleX(0);\n }\n 40% {\n transform: translateX(0) scaleX(0.4);\n }\n 100% {\n transform: translateX(100%) scaleX(0.5);\n }\n}";
|
|
2037
2051
|
var styles$j = {"progressBarContainer":"ProgressBar-module_progressBarContainer__vtbBw","progressBar":"ProgressBar-module_progressBar__hr8I8","indeterminate":"ProgressBar-module_indeterminate__WcQdD","indeterminateAnimation":"ProgressBar-module_indeterminateAnimation__SlBFt"};
|
|
2038
2052
|
styleInject(css_248z$j);
|
|
2039
2053
|
|
|
@@ -2072,7 +2086,7 @@ const ProgressBar = (props) => {
|
|
|
2072
2086
|
}
|
|
2073
2087
|
return `${width}%`;
|
|
2074
2088
|
};
|
|
2075
|
-
return (React.createElement(Tooltip, { text: model === null || model === void 0 ? void 0 : model.toString() },
|
|
2089
|
+
return (React.createElement(Tooltip, { text: !indeterminate ? model === null || model === void 0 ? void 0 : model.toString() : '' },
|
|
2076
2090
|
React.createElement("div", Object.assign({ className: getCssClasses() }, rest),
|
|
2077
2091
|
React.createElement("div", { className: getCssClassesBar(), style: { 'width': getStyle() }, role: "progressbar" }))));
|
|
2078
2092
|
};
|
|
@@ -2554,8 +2568,8 @@ const SkeletonImage = (props) => {
|
|
|
2554
2568
|
React.createElement("div", { className: styles$6.img })));
|
|
2555
2569
|
};
|
|
2556
2570
|
|
|
2557
|
-
var css_248z$5 = "
|
|
2558
|
-
var styles$5 = {"
|
|
2571
|
+
var css_248z$5 = ":root {\n --table-bg: transparent;\n --table-accent-bg: transparent;\n --table-striped-color: #212529;\n --table-striped-bg: rgba(0, 0, 0, 0.05);\n --table-active-color: #212529;\n --table-active-bg: rgba(0, 0, 0, 0.1);\n --table-hover-color: #212529;\n --table-hover-bg: rgba(0, 0, 0, 0.075);\n}\n\n.Table-module_tableResponsive__ykttB {\n overflow-x: auto;\n}\n\n.Table-module_table__DHKNv {\n display: table;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0px;\n min-width: 650px;\n}\n.Table-module_table__DHKNv thead {\n display: table-header-group;\n}\n.Table-module_table__DHKNv tbody {\n display: table-row-group;\n}\n.Table-module_table__DHKNv tr {\n color: inherit;\n display: table-row;\n vertical-align: middle;\n outline: 0px;\n}\n.Table-module_table__DHKNv th {\n font-size: 0.875rem;\n line-height: 1.5rem;\n letter-spacing: 0.01071em;\n display: table-cell;\n vertical-align: inherit;\n border-bottom: 1px solid rgb(224, 224, 224);\n text-align: left;\n padding: 16px;\n color: rgba(0, 0, 0, 0.87);\n border-collapse: collapse;\n border-spacing: 0px;\n}\n.Table-module_table__DHKNv td {\n font-size: 0.875rem;\n line-height: 1.43;\n letter-spacing: 0.01071em;\n display: table-cell;\n vertical-align: inherit;\n border-bottom: 1px solid rgb(224, 224, 224);\n padding: 16px;\n color: rgba(0, 0, 0, 0.87);\n flex-direction: row-reverse;\n}\n\n.Table-module_hover__P6r3y > tbody > tr:hover > * {\n background-color: var(--table-hover-bg);\n color: var(--table-hover-color);\n}";
|
|
2572
|
+
var styles$5 = {"tableResponsive":"Table-module_tableResponsive__ykttB","table":"Table-module_table__DHKNv","hover":"Table-module_hover__P6r3y"};
|
|
2559
2573
|
styleInject(css_248z$5);
|
|
2560
2574
|
|
|
2561
2575
|
const Table = (props) => {
|
|
@@ -2878,4 +2892,4 @@ const TreeItem = (props) => {
|
|
|
2878
2892
|
children && _isExpanded ? React.createElement("ul", null, children) : null));
|
|
2879
2893
|
};
|
|
2880
2894
|
|
|
2881
|
-
export { Alert, AppBar, AppBarTitle, AutoComplete, Backdrop, Badge, Breadcrumb, BreadcrumbItem, Button, ButtonContext, ButtonGroup, COLOR, Card, CardBody, CardFooter, CardImage, CardSubtitle, CardText, CardTitle, CaretDownSolidIcon, CheckSolidIcon, CheckSquareRegularIcon, Checkbox, ChevronDownSolidIcon, ChevronLeftSolidIcon, ChevronRightSolidIcon, ChevronUpSolidIcon, Chip, CircleSolidIcon, Column, ConditionalWrapper, CssTransition, DATEMODE, DateSelect, DaySelect, Drawer, EmailValidator, ExpansionPanel, ExpansionPanelContent, ExpansionPanelHeader, FileInput, FloatingActionButton, Form, FormControl, FormError, FormGroup, FormHint, FormInput, FormLabel, GlobalModal, HomeSolidIcon, HourSelect, Icon, IconButton, IsEmptyValidator, IsEqualValidator, Link, List, ListItem, ListItemAction, ListItemAvatar, ListItemIcon, ListItemText, LoadingIndicator, LoadingIndicatorContainer, MODALBUTTONTYPE, MODALTYPE, MaxValidator, Menu, MenuBody, MenuDivider, MenuItem, MenuToggle, MilliSecondSelect, MinValidator, MinuteSelect, Modal, ModalBody, ModalFooter, ModalHeader, MonthSelect, NumberSelect, POSITION, PlusSolidIcon, ProgressBar, Row, SIZE, STATUS, SecondSelect, Select, Sidebar, SkeletonAvatar, SkeletonFooter, SkeletonImage, SkeletonText, Snackbar, SpeedDial, SpeedDialAction, SpeedDialIcon, SpinnerSolidIcon, SquareRegularIcon, Step, Stepper, StepperActions, TIMEMODE, Tab, TabPanel, Table, TableBody, TableCell, TableHead, TableRow, Tabs, Textarea, TimeSelect, TimesCircleSolidIcon, TimesSolidIcon, Tooltip, TreeItem, TreeView, Typography, VARIANT, YearSelect, loadingIndicatorService, modalService, snackbarService, useButtonContext, useConstructor, useCssClasses, useDebounce, useHover, useMobileDetect, useOnDestroy, useWindowSize };
|
|
2895
|
+
export { Alert, AppBar, AppBarTitle, AutoComplete, Backdrop, Badge, Breadcrumb, BreadcrumbItem, Button, ButtonContext, ButtonGroup, COLOR, Card, CardBody, CardFooter, CardImage, CardSubtitle, CardText, CardTitle, CaretDownSolidIcon, CheckSolidIcon, CheckSquareRegularIcon, Checkbox, ChevronDownSolidIcon, ChevronLeftSolidIcon, ChevronRightSolidIcon, ChevronUpSolidIcon, Chip, CircleSolidIcon, Column, ConditionalWrapper, CssTransition, DATEMODE, DateSelect, DaySelect, Drawer, EmailValidator, ExpansionPanel, ExpansionPanelContent, ExpansionPanelHeader, FileInput, FloatingActionButton, Form, FormControl, FormError, FormGroup, FormHint, FormInput, FormLabel, GlobalModal, HomeSolidIcon, HourSelect, Icon, IconButton, IsEmptyValidator, IsEqualValidator, Link, List, ListItem, ListItemAction, ListItemAvatar, ListItemIcon, ListItemText, LoadingIndicator, LoadingIndicatorContainer, MODALBUTTONTYPE, MODALTYPE, MaxValidator, Menu, MenuBody, MenuDivider, MenuItem, MenuToggle, MilliSecondSelect, MinValidator, MinuteSelect, Modal, ModalBody, ModalFooter, ModalHeader, MonthSelect, NumberSelect, POSITION, PlusSolidIcon, Portal, ProgressBar, Row, SIZE, STATUS, SecondSelect, Select, Sidebar, SkeletonAvatar, SkeletonFooter, SkeletonImage, SkeletonText, Snackbar, SpeedDial, SpeedDialAction, SpeedDialIcon, SpinnerSolidIcon, SquareRegularIcon, Step, Stepper, StepperActions, TIMEMODE, Tab, TabPanel, Table, TableBody, TableCell, TableHead, TableRow, Tabs, Textarea, TimeSelect, TimesCircleSolidIcon, TimesSolidIcon, Tooltip, TreeItem, TreeView, Typography, VARIANT, YearSelect, loadingIndicatorService, modalService, snackbarService, useButtonContext, useConstructor, useCssClasses, useDebounce, useHover, useMobileDetect, useOnDestroy, useWindowSize };
|
package/index.js
CHANGED
|
@@ -316,6 +316,18 @@ const useOnDestroy = (callBack) => {
|
|
|
316
316
|
}, []);
|
|
317
317
|
};
|
|
318
318
|
|
|
319
|
+
const Portal = ({ children, target = document.body, className }) => {
|
|
320
|
+
const containerEl = React.useMemo(() => document.createElement('div'), []);
|
|
321
|
+
React.useEffect(() => {
|
|
322
|
+
className && className.split(' ').forEach(cssClass => containerEl.classList.add(cssClass));
|
|
323
|
+
target.appendChild(containerEl);
|
|
324
|
+
return () => {
|
|
325
|
+
target.removeChild(containerEl);
|
|
326
|
+
};
|
|
327
|
+
}, []);
|
|
328
|
+
return reactDom.createPortal(children, containerEl);
|
|
329
|
+
};
|
|
330
|
+
|
|
319
331
|
var css_248z$10 = ".Backdrop-module_backdrop__IRMoL {\n height: 100%;\n width: 100%;\n position: absolute;\n opacity: 0.5;\n z-index: 1040;\n top: 0;\n left: 0;\n background-color: #000;\n}\n.Backdrop-module_backdrop__IRMoL.Backdrop-module_isTransparent__F5nA5 {\n opacity: 0;\n}";
|
|
320
332
|
var styles$10 = {"backdrop":"Backdrop-module_backdrop__IRMoL","isTransparent":"Backdrop-module_isTransparent__F5nA5"};
|
|
321
333
|
styleInject(css_248z$10);
|
|
@@ -333,10 +345,10 @@ const Backdrop = (props) => {
|
|
|
333
345
|
return cssClasses.filter(css => css).join(' ');
|
|
334
346
|
};
|
|
335
347
|
const getStyles = () => {
|
|
336
|
-
|
|
337
|
-
return styles;
|
|
348
|
+
return Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
|
|
338
349
|
};
|
|
339
|
-
return (
|
|
350
|
+
return (React__default["default"].createElement(Portal, { className: 'backdrop-root', target: target },
|
|
351
|
+
React__default["default"].createElement("div", Object.assign({ className: getCssClasses(), onClick: handleClick, style: getStyles() }, rest))));
|
|
340
352
|
};
|
|
341
353
|
|
|
342
354
|
var css_248z$$ = ".List-module_list__gpZ41 {\n width: 100%;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n margin-top: 0;\n background-color: var(--white);\n}";
|
|
@@ -1124,13 +1136,13 @@ const Select = (props) => {
|
|
|
1124
1136
|
React__default["default"].createElement(Icon, { className: "ml-2" },
|
|
1125
1137
|
React__default["default"].createElement(ChevronDownSolidIcon, null))),
|
|
1126
1138
|
isShow &&
|
|
1127
|
-
|
|
1139
|
+
React__default["default"].createElement(Portal, { className: 'backdrop-root' },
|
|
1128
1140
|
React__default["default"].createElement("div", { className: styles$D.selectMenu, style: { left: (_a = selectConainter.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().x, top: (_b = selectConainter.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().y, width: (_c = selectConainter.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect().width } },
|
|
1129
1141
|
React__default["default"].createElement(List, null, options && options.map((option, index) => React__default["default"].createElement(ListItem, { id: `list-item-${index}`, key: option.value, onClick: () => handleOnClick(option), active: isActive(option) },
|
|
1130
1142
|
multiple &&
|
|
1131
1143
|
React__default["default"].createElement(Checkbox, { checked: isActive(option), onChange: () => handleOnClick(option) }),
|
|
1132
1144
|
React__default["default"].createElement(ListItemText, { primary: option.label ? option.label : option.value }))))),
|
|
1133
|
-
React__default["default"].createElement(Backdrop, { style: { zIndex: 1111 }, isTransparent: true, onClick: () => hide() }))
|
|
1145
|
+
React__default["default"].createElement(Backdrop, { style: { zIndex: 1111 }, isTransparent: true, onClick: () => hide() }))));
|
|
1134
1146
|
};
|
|
1135
1147
|
|
|
1136
1148
|
var css_248z$C = ".Textarea-module_textarea__L5zqa {\n min-height: calc(10em + 0.75rem + 2px);\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n background-clip: padding-box;\n border: 2px solid var(--input-border-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: var(--borderRadius);\n resize: vertical;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n appearance: none;\n border-radius: 0.25rem;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.0745098039);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n border: 1px solid #ced4da;\n}\n.Textarea-module_textarea__L5zqa:focus:not(.Textarea-module_textarea__L5zqa.Textarea-module_disabled__OqqOF) {\n outline: none !important;\n border-color: var(--primary);\n}\n.Textarea-module_textarea__L5zqa.Textarea-module_isInvalid__JI01W {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.2509803922);\n}";
|
|
@@ -1558,9 +1570,9 @@ const Drawer = (props) => {
|
|
|
1558
1570
|
const handleClickBackdrop = () => {
|
|
1559
1571
|
onClickBackdrop && onClickBackdrop();
|
|
1560
1572
|
};
|
|
1561
|
-
return
|
|
1573
|
+
return (React__default["default"].createElement(Portal, { className: 'drawer-root', target: target },
|
|
1562
1574
|
React__default["default"].createElement(DrawerContent, Object.assign({ className: className, position: position, permanent: permanent, shadow: shadow }, rest), children),
|
|
1563
|
-
!permanent && React__default["default"].createElement(Backdrop, { onClick: handleClickBackdrop }))
|
|
1575
|
+
!permanent && React__default["default"].createElement(Backdrop, { onClick: handleClickBackdrop })));
|
|
1564
1576
|
};
|
|
1565
1577
|
const DrawerContent = (props) => {
|
|
1566
1578
|
const { children, className, position = 'left', permanent = false, shadow } = props, rest = __rest(props, ["children", "className", "position", "permanent", "shadow"]);
|
|
@@ -1624,9 +1636,9 @@ const MenuBody = (props) => {
|
|
|
1624
1636
|
const handleClickBackdrop = () => {
|
|
1625
1637
|
onClickBackdrop && onClickBackdrop();
|
|
1626
1638
|
};
|
|
1627
|
-
return (
|
|
1639
|
+
return (React__default["default"].createElement(Portal, { className: 'menu-root' },
|
|
1628
1640
|
React__default["default"].createElement("div", { ref: menuBodyRef, className: getCssClasses() }, children),
|
|
1629
|
-
React__default["default"].createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop }))
|
|
1641
|
+
React__default["default"].createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })));
|
|
1630
1642
|
};
|
|
1631
1643
|
|
|
1632
1644
|
var css_248z$x = ".Menu-module_menu__p8QL- {\n display: flex;\n}";
|
|
@@ -1854,7 +1866,7 @@ var styles$l = {"modal":"Modal-module_modal__HMxWV","modal-dialog":"Modal-module
|
|
|
1854
1866
|
styleInject(css_248z$l);
|
|
1855
1867
|
|
|
1856
1868
|
const Modal = (props) => {
|
|
1857
|
-
const { className, size, fullScreen, children, header, footer, onHeaderCloseClick, onBackdropClick, isDismissable = false } = props;
|
|
1869
|
+
const { target = document.body, className, size, fullScreen, children, header, footer, onHeaderCloseClick, onBackdropClick, isDismissable = false } = props;
|
|
1858
1870
|
const getCssClass = () => {
|
|
1859
1871
|
const cssClasses = [];
|
|
1860
1872
|
cssClasses.push(styles$l.modalDialog);
|
|
@@ -1871,17 +1883,19 @@ const Modal = (props) => {
|
|
|
1871
1883
|
};
|
|
1872
1884
|
}, []);
|
|
1873
1885
|
const handleClickBackdrop = () => {
|
|
1886
|
+
console.warn('backdrop clicked');
|
|
1874
1887
|
onBackdropClick && onBackdropClick();
|
|
1875
1888
|
};
|
|
1876
1889
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1877
|
-
React__default["default"].createElement(
|
|
1878
|
-
React__default["default"].createElement("div", { className:
|
|
1879
|
-
React__default["default"].createElement("div", { className:
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1890
|
+
React__default["default"].createElement(Portal, { className: 'modal-root', target: target },
|
|
1891
|
+
React__default["default"].createElement("div", { className: styles$l.modal },
|
|
1892
|
+
React__default["default"].createElement("div", { className: getCssClass() },
|
|
1893
|
+
React__default["default"].createElement("div", { className: styles$l.modalContent },
|
|
1894
|
+
header &&
|
|
1895
|
+
React__default["default"].createElement(ModalHeader, { isDismissable: isDismissable, onClose: () => onHeaderCloseClick && onHeaderCloseClick() }, header),
|
|
1896
|
+
React__default["default"].createElement(ModalBody, null, children),
|
|
1897
|
+
footer &&
|
|
1898
|
+
React__default["default"].createElement(ModalFooter, null, footer))))),
|
|
1885
1899
|
React__default["default"].createElement(Backdrop, { onClick: handleClickBackdrop })));
|
|
1886
1900
|
};
|
|
1887
1901
|
|
|
@@ -2041,7 +2055,7 @@ const Tooltip = (props) => {
|
|
|
2041
2055
|
React__default["default"].createElement("div", { id: "arrow", "data-popper-arrow": true }))));
|
|
2042
2056
|
};
|
|
2043
2057
|
|
|
2044
|
-
var css_248z$j = ".ProgressBar-module_progressBarContainer__vtbBw {\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n background-color: var(--progress-bg);\n}\n\n.ProgressBar-module_progressBar__hr8I8 {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--progress-bar-color);\n text-align: center;\n white-space: nowrap;\n transition: var(--progress-bar-transition);\n background-color: var(--progress-bar-bg);\n}\n.ProgressBar-module_progressBar__hr8I8.ProgressBar-module_indeterminate__WcQdD {\n width: 100%;\n height: 100%;\n animation: ProgressBar-module_indeterminateAnimation__SlBFt 1s infinite linear;\n transform-origin: 0% 50%;\n}\n\n@keyframes ProgressBar-module_indeterminateAnimation__SlBFt {\n 0% {\n transform: translateX(0) scaleX(0);\n }\n 40% {\n transform: translateX(0) scaleX(0.4);\n }\n 100% {\n transform: translateX(100%) scaleX(0.5);\n }\n}";
|
|
2058
|
+
var css_248z$j = ":root {\n --progress-height: 0.5rem;\n --progress-bg: #e9ecef;\n --progress-box-shadow: var(--shadow);\n --progress-bar-color: #fff;\n --progress-bar-bg: var(--primary);\n --progress-bar-transition: width 0.6s ease;\n}\n\n.ProgressBar-module_progressBarContainer__vtbBw {\n display: flex;\n height: var(--progress-height);\n overflow: hidden;\n background-color: var(--progress-bg);\n}\n\n.ProgressBar-module_progressBar__hr8I8 {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--progress-bar-color);\n text-align: center;\n white-space: nowrap;\n transition: var(--progress-bar-transition);\n background-color: var(--progress-bar-bg);\n}\n.ProgressBar-module_progressBar__hr8I8.ProgressBar-module_indeterminate__WcQdD {\n width: 100%;\n height: 100%;\n animation: ProgressBar-module_indeterminateAnimation__SlBFt 1s infinite linear;\n transform-origin: 0% 50%;\n}\n\n@keyframes ProgressBar-module_indeterminateAnimation__SlBFt {\n 0% {\n transform: translateX(0) scaleX(0);\n }\n 40% {\n transform: translateX(0) scaleX(0.4);\n }\n 100% {\n transform: translateX(100%) scaleX(0.5);\n }\n}";
|
|
2045
2059
|
var styles$j = {"progressBarContainer":"ProgressBar-module_progressBarContainer__vtbBw","progressBar":"ProgressBar-module_progressBar__hr8I8","indeterminate":"ProgressBar-module_indeterminate__WcQdD","indeterminateAnimation":"ProgressBar-module_indeterminateAnimation__SlBFt"};
|
|
2046
2060
|
styleInject(css_248z$j);
|
|
2047
2061
|
|
|
@@ -2080,7 +2094,7 @@ const ProgressBar = (props) => {
|
|
|
2080
2094
|
}
|
|
2081
2095
|
return `${width}%`;
|
|
2082
2096
|
};
|
|
2083
|
-
return (React__default["default"].createElement(Tooltip, { text: model === null || model === void 0 ? void 0 : model.toString() },
|
|
2097
|
+
return (React__default["default"].createElement(Tooltip, { text: !indeterminate ? model === null || model === void 0 ? void 0 : model.toString() : '' },
|
|
2084
2098
|
React__default["default"].createElement("div", Object.assign({ className: getCssClasses() }, rest),
|
|
2085
2099
|
React__default["default"].createElement("div", { className: getCssClassesBar(), style: { 'width': getStyle() }, role: "progressbar" }))));
|
|
2086
2100
|
};
|
|
@@ -2562,8 +2576,8 @@ const SkeletonImage = (props) => {
|
|
|
2562
2576
|
React__default["default"].createElement("div", { className: styles$6.img })));
|
|
2563
2577
|
};
|
|
2564
2578
|
|
|
2565
|
-
var css_248z$5 = "
|
|
2566
|
-
var styles$5 = {"
|
|
2579
|
+
var css_248z$5 = ":root {\n --table-bg: transparent;\n --table-accent-bg: transparent;\n --table-striped-color: #212529;\n --table-striped-bg: rgba(0, 0, 0, 0.05);\n --table-active-color: #212529;\n --table-active-bg: rgba(0, 0, 0, 0.1);\n --table-hover-color: #212529;\n --table-hover-bg: rgba(0, 0, 0, 0.075);\n}\n\n.Table-module_tableResponsive__ykttB {\n overflow-x: auto;\n}\n\n.Table-module_table__DHKNv {\n display: table;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0px;\n min-width: 650px;\n}\n.Table-module_table__DHKNv thead {\n display: table-header-group;\n}\n.Table-module_table__DHKNv tbody {\n display: table-row-group;\n}\n.Table-module_table__DHKNv tr {\n color: inherit;\n display: table-row;\n vertical-align: middle;\n outline: 0px;\n}\n.Table-module_table__DHKNv th {\n font-size: 0.875rem;\n line-height: 1.5rem;\n letter-spacing: 0.01071em;\n display: table-cell;\n vertical-align: inherit;\n border-bottom: 1px solid rgb(224, 224, 224);\n text-align: left;\n padding: 16px;\n color: rgba(0, 0, 0, 0.87);\n border-collapse: collapse;\n border-spacing: 0px;\n}\n.Table-module_table__DHKNv td {\n font-size: 0.875rem;\n line-height: 1.43;\n letter-spacing: 0.01071em;\n display: table-cell;\n vertical-align: inherit;\n border-bottom: 1px solid rgb(224, 224, 224);\n padding: 16px;\n color: rgba(0, 0, 0, 0.87);\n flex-direction: row-reverse;\n}\n\n.Table-module_hover__P6r3y > tbody > tr:hover > * {\n background-color: var(--table-hover-bg);\n color: var(--table-hover-color);\n}";
|
|
2580
|
+
var styles$5 = {"tableResponsive":"Table-module_tableResponsive__ykttB","table":"Table-module_table__DHKNv","hover":"Table-module_hover__P6r3y"};
|
|
2567
2581
|
styleInject(css_248z$5);
|
|
2568
2582
|
|
|
2569
2583
|
const Table = (props) => {
|
|
@@ -2965,6 +2979,7 @@ exports.ModalHeader = ModalHeader;
|
|
|
2965
2979
|
exports.MonthSelect = MonthSelect;
|
|
2966
2980
|
exports.NumberSelect = NumberSelect;
|
|
2967
2981
|
exports.PlusSolidIcon = PlusSolidIcon;
|
|
2982
|
+
exports.Portal = Portal;
|
|
2968
2983
|
exports.ProgressBar = ProgressBar;
|
|
2969
2984
|
exports.Row = Row;
|
|
2970
2985
|
exports.STATUS = STATUS;
|
package/package.json
CHANGED
package/react-asc.scss
CHANGED
|
@@ -212,17 +212,6 @@
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
:root {
|
|
216
|
-
--progress-height: 0.5rem;
|
|
217
|
-
// --progress-font-size: 0.75rem;
|
|
218
|
-
--progress-bg: #e9ecef;
|
|
219
|
-
// --progress-border-radius: 0.375rem;
|
|
220
|
-
--progress-box-shadow: var(--shadow);
|
|
221
|
-
--progress-bar-color: #fff;
|
|
222
|
-
--progress-bar-bg: var(--primary);
|
|
223
|
-
--progress-bar-transition: width 0.6s ease;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
215
|
:root {
|
|
227
216
|
--borderRadius: 5px;
|
|
228
217
|
--0: 0px !important;
|
|
@@ -248,6 +237,10 @@
|
|
|
248
237
|
color: var(--muted);
|
|
249
238
|
}
|
|
250
239
|
|
|
240
|
+
.flex-1 {
|
|
241
|
+
flex: 1;
|
|
242
|
+
}
|
|
243
|
+
|
|
251
244
|
.d-flex {
|
|
252
245
|
display: flex !important;
|
|
253
246
|
}
|
|
@@ -288,8 +281,6 @@
|
|
|
288
281
|
height: 100%;
|
|
289
282
|
}
|
|
290
283
|
|
|
291
|
-
|
|
292
|
-
|
|
293
284
|
.text-center {
|
|
294
285
|
text-align: center;
|
|
295
286
|
}
|
package/readme.md
CHANGED