react-asc 23.7.0 → 23.7.1

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,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) => React.ReactPortal;
7
- export {};
6
+ export declare const Backdrop: (props: IBackdropProps) => JSX.Element;
@@ -9,4 +9,4 @@ export interface IMenuBodyProps {
9
9
  shadow?: boolean;
10
10
  onClickBackdrop?: () => void;
11
11
  }
12
- export declare const MenuBody: (props: IMenuBodyProps) => React.ReactPortal;
12
+ export declare const MenuBody: (props: IMenuBodyProps) => 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;
package/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useRef, useEffect, useState, createContext, useContext, Fragment, Component, createRef, useMemo, 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
- const styles = Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
329
- return styles;
340
+ return Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
330
341
  };
331
- return (createPortal(React.createElement("div", Object.assign({ className: getCssClasses(), onClick: handleClick, style: getStyles() }, rest)), target));
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
- createPortal(React.createElement(React.Fragment, null,
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() })), document.body)));
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}";
@@ -1535,18 +1547,6 @@ const DateSelect = (props) => {
1535
1547
  // return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)
1536
1548
  // };
1537
1549
 
1538
- const Portal = ({ children, target = document.body, className }) => {
1539
- const containerEl = useMemo(() => document.createElement('div'), []);
1540
- useEffect(() => {
1541
- className && className.split(' ').forEach(cssClass => containerEl.classList.add(cssClass));
1542
- target.appendChild(containerEl);
1543
- return () => {
1544
- target.removeChild(containerEl);
1545
- };
1546
- }, []);
1547
- return createPortal(children, containerEl);
1548
- };
1549
-
1550
1550
  var css_248z$z = ".Drawer-module_drawer__kdQCk {\n height: 100%;\n z-index: 1101;\n bottom: 0;\n position: fixed;\n background: white;\n min-width: 320px;\n overflow-y: auto;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_permanent__c-y8y {\n position: inherit;\n z-index: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_left__loQVO {\n order: 0;\n left: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_right__sJ3mZ {\n order: 2;\n right: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_shadow__Myo3n {\n box-shadow: var(--shadow);\n}\n\n.Drawer-module_drawerOpen__07ptP {\n overflow: hidden;\n}";
1551
1551
  var styles$z = {"drawer":"Drawer-module_drawer__kdQCk","permanent":"Drawer-module_permanent__c-y8y","left":"Drawer-module_left__loQVO","right":"Drawer-module_right__sJ3mZ","shadow":"Drawer-module_shadow__Myo3n","drawerOpen":"Drawer-module_drawerOpen__07ptP"};
1552
1552
  styleInject(css_248z$z);
@@ -1562,7 +1562,7 @@ const Drawer = (props) => {
1562
1562
  const handleClickBackdrop = () => {
1563
1563
  onClickBackdrop && onClickBackdrop();
1564
1564
  };
1565
- return (React.createElement(Portal, { className: 'drawer-container', target: target },
1565
+ return (React.createElement(Portal, { className: 'drawer-root', target: target },
1566
1566
  React.createElement(DrawerContent, Object.assign({ className: className, position: position, permanent: permanent, shadow: shadow }, rest), children),
1567
1567
  !permanent && React.createElement(Backdrop, { onClick: handleClickBackdrop })));
1568
1568
  };
@@ -1628,9 +1628,9 @@ const MenuBody = (props) => {
1628
1628
  const handleClickBackdrop = () => {
1629
1629
  onClickBackdrop && onClickBackdrop();
1630
1630
  };
1631
- return (createPortal(React.createElement(React.Fragment, null,
1631
+ return (React.createElement(Portal, { className: 'menu-root' },
1632
1632
  React.createElement("div", { ref: menuBodyRef, className: getCssClasses() }, children),
1633
- React.createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })), document.body));
1633
+ React.createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })));
1634
1634
  };
1635
1635
 
1636
1636
  var css_248z$x = ".Menu-module_menu__p8QL- {\n display: flex;\n}";
@@ -1858,7 +1858,7 @@ var styles$l = {"modal":"Modal-module_modal__HMxWV","modal-dialog":"Modal-module
1858
1858
  styleInject(css_248z$l);
1859
1859
 
1860
1860
  const Modal = (props) => {
1861
- 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;
1862
1862
  const getCssClass = () => {
1863
1863
  const cssClasses = [];
1864
1864
  cssClasses.push(styles$l.modalDialog);
@@ -1875,17 +1875,19 @@ const Modal = (props) => {
1875
1875
  };
1876
1876
  }, []);
1877
1877
  const handleClickBackdrop = () => {
1878
+ console.warn('backdrop clicked');
1878
1879
  onBackdropClick && onBackdropClick();
1879
1880
  };
1880
1881
  return (React.createElement(React.Fragment, null,
1881
- React.createElement("div", { className: styles$l.modal },
1882
- React.createElement("div", { className: getCssClass() },
1883
- React.createElement("div", { className: styles$l.modalContent },
1884
- header &&
1885
- React.createElement(ModalHeader, { isDismissable: isDismissable, onClose: () => onHeaderCloseClick && onHeaderCloseClick() }, header),
1886
- React.createElement(ModalBody, null, children),
1887
- footer &&
1888
- React.createElement(ModalFooter, null, footer)))),
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))))),
1889
1891
  React.createElement(Backdrop, { onClick: handleClickBackdrop })));
1890
1892
  };
1891
1893
 
@@ -2045,7 +2047,7 @@ const Tooltip = (props) => {
2045
2047
  React.createElement("div", { id: "arrow", "data-popper-arrow": true }))));
2046
2048
  };
2047
2049
 
2048
- 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}";
2049
2051
  var styles$j = {"progressBarContainer":"ProgressBar-module_progressBarContainer__vtbBw","progressBar":"ProgressBar-module_progressBar__hr8I8","indeterminate":"ProgressBar-module_indeterminate__WcQdD","indeterminateAnimation":"ProgressBar-module_indeterminateAnimation__SlBFt"};
2050
2052
  styleInject(css_248z$j);
2051
2053
 
@@ -2566,8 +2568,8 @@ const SkeletonImage = (props) => {
2566
2568
  React.createElement("div", { className: styles$6.img })));
2567
2569
  };
2568
2570
 
2569
- var css_248z$5 = ".Table-module_table__DHKNv {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n.Table-module_table__DHKNv thead {\n vertical-align: bottom;\n}\n.Table-module_table__DHKNv > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom-width: 1px;\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n}\n.Table-module_table__DHKNv > :not(:first-child) {\n border-top: 2px solid currentColor;\n}\n\n.Table-module_bordered__1Kp1p > :not(caption) > * > * {\n border-width: 0 1px;\n}\n.Table-module_bordered__1Kp1p > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.Table-module_striped__jmxgE > tbody > tr:nth-of-type(odd) > * {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.Table-module_hover__P6r3y > tbody > tr:hover > * {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.Table-module_tableResponsive__ykttB {\n overflow-x: auto;\n}";
2570
- var styles$5 = {"table":"Table-module_table__DHKNv","bordered":"Table-module_bordered__1Kp1p","striped":"Table-module_striped__jmxgE","hover":"Table-module_hover__P6r3y","tableResponsive":"Table-module_tableResponsive__ykttB"};
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"};
2571
2573
  styleInject(css_248z$5);
2572
2574
 
2573
2575
  const Table = (props) => {
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
- const styles = Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
337
- return styles;
348
+ return Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);
338
349
  };
339
- return (reactDom.createPortal(React__default["default"].createElement("div", Object.assign({ className: getCssClasses(), onClick: handleClick, style: getStyles() }, rest)), target));
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
- reactDom.createPortal(React__default["default"].createElement(React__default["default"].Fragment, null,
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() })), document.body)));
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}";
@@ -1543,18 +1555,6 @@ const DateSelect = (props) => {
1543
1555
  // return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)
1544
1556
  // };
1545
1557
 
1546
- const Portal = ({ children, target = document.body, className }) => {
1547
- const containerEl = React.useMemo(() => document.createElement('div'), []);
1548
- React.useEffect(() => {
1549
- className && className.split(' ').forEach(cssClass => containerEl.classList.add(cssClass));
1550
- target.appendChild(containerEl);
1551
- return () => {
1552
- target.removeChild(containerEl);
1553
- };
1554
- }, []);
1555
- return reactDom.createPortal(children, containerEl);
1556
- };
1557
-
1558
1558
  var css_248z$z = ".Drawer-module_drawer__kdQCk {\n height: 100%;\n z-index: 1101;\n bottom: 0;\n position: fixed;\n background: white;\n min-width: 320px;\n overflow-y: auto;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_permanent__c-y8y {\n position: inherit;\n z-index: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_left__loQVO {\n order: 0;\n left: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_right__sJ3mZ {\n order: 2;\n right: 0;\n}\n.Drawer-module_drawer__kdQCk.Drawer-module_shadow__Myo3n {\n box-shadow: var(--shadow);\n}\n\n.Drawer-module_drawerOpen__07ptP {\n overflow: hidden;\n}";
1559
1559
  var styles$z = {"drawer":"Drawer-module_drawer__kdQCk","permanent":"Drawer-module_permanent__c-y8y","left":"Drawer-module_left__loQVO","right":"Drawer-module_right__sJ3mZ","shadow":"Drawer-module_shadow__Myo3n","drawerOpen":"Drawer-module_drawerOpen__07ptP"};
1560
1560
  styleInject(css_248z$z);
@@ -1570,7 +1570,7 @@ const Drawer = (props) => {
1570
1570
  const handleClickBackdrop = () => {
1571
1571
  onClickBackdrop && onClickBackdrop();
1572
1572
  };
1573
- return (React__default["default"].createElement(Portal, { className: 'drawer-container', target: target },
1573
+ return (React__default["default"].createElement(Portal, { className: 'drawer-root', target: target },
1574
1574
  React__default["default"].createElement(DrawerContent, Object.assign({ className: className, position: position, permanent: permanent, shadow: shadow }, rest), children),
1575
1575
  !permanent && React__default["default"].createElement(Backdrop, { onClick: handleClickBackdrop })));
1576
1576
  };
@@ -1636,9 +1636,9 @@ const MenuBody = (props) => {
1636
1636
  const handleClickBackdrop = () => {
1637
1637
  onClickBackdrop && onClickBackdrop();
1638
1638
  };
1639
- return (reactDom.createPortal(React__default["default"].createElement(React__default["default"].Fragment, null,
1639
+ return (React__default["default"].createElement(Portal, { className: 'menu-root' },
1640
1640
  React__default["default"].createElement("div", { ref: menuBodyRef, className: getCssClasses() }, children),
1641
- React__default["default"].createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })), document.body));
1641
+ React__default["default"].createElement(Backdrop, { isTransparent: true, onClick: handleClickBackdrop })));
1642
1642
  };
1643
1643
 
1644
1644
  var css_248z$x = ".Menu-module_menu__p8QL- {\n display: flex;\n}";
@@ -1866,7 +1866,7 @@ var styles$l = {"modal":"Modal-module_modal__HMxWV","modal-dialog":"Modal-module
1866
1866
  styleInject(css_248z$l);
1867
1867
 
1868
1868
  const Modal = (props) => {
1869
- 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;
1870
1870
  const getCssClass = () => {
1871
1871
  const cssClasses = [];
1872
1872
  cssClasses.push(styles$l.modalDialog);
@@ -1883,17 +1883,19 @@ const Modal = (props) => {
1883
1883
  };
1884
1884
  }, []);
1885
1885
  const handleClickBackdrop = () => {
1886
+ console.warn('backdrop clicked');
1886
1887
  onBackdropClick && onBackdropClick();
1887
1888
  };
1888
1889
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1889
- React__default["default"].createElement("div", { className: styles$l.modal },
1890
- React__default["default"].createElement("div", { className: getCssClass() },
1891
- React__default["default"].createElement("div", { className: styles$l.modalContent },
1892
- header &&
1893
- React__default["default"].createElement(ModalHeader, { isDismissable: isDismissable, onClose: () => onHeaderCloseClick && onHeaderCloseClick() }, header),
1894
- React__default["default"].createElement(ModalBody, null, children),
1895
- footer &&
1896
- React__default["default"].createElement(ModalFooter, null, footer)))),
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))))),
1897
1899
  React__default["default"].createElement(Backdrop, { onClick: handleClickBackdrop })));
1898
1900
  };
1899
1901
 
@@ -2053,7 +2055,7 @@ const Tooltip = (props) => {
2053
2055
  React__default["default"].createElement("div", { id: "arrow", "data-popper-arrow": true }))));
2054
2056
  };
2055
2057
 
2056
- 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}";
2057
2059
  var styles$j = {"progressBarContainer":"ProgressBar-module_progressBarContainer__vtbBw","progressBar":"ProgressBar-module_progressBar__hr8I8","indeterminate":"ProgressBar-module_indeterminate__WcQdD","indeterminateAnimation":"ProgressBar-module_indeterminateAnimation__SlBFt"};
2058
2060
  styleInject(css_248z$j);
2059
2061
 
@@ -2574,8 +2576,8 @@ const SkeletonImage = (props) => {
2574
2576
  React__default["default"].createElement("div", { className: styles$6.img })));
2575
2577
  };
2576
2578
 
2577
- var css_248z$5 = ".Table-module_table__DHKNv {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n.Table-module_table__DHKNv thead {\n vertical-align: bottom;\n}\n.Table-module_table__DHKNv > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom-width: 1px;\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n}\n.Table-module_table__DHKNv > :not(:first-child) {\n border-top: 2px solid currentColor;\n}\n\n.Table-module_bordered__1Kp1p > :not(caption) > * > * {\n border-width: 0 1px;\n}\n.Table-module_bordered__1Kp1p > :not(caption) > * {\n border-width: 1px 0;\n}\n\n.Table-module_striped__jmxgE > tbody > tr:nth-of-type(odd) > * {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.Table-module_hover__P6r3y > tbody > tr:hover > * {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.Table-module_tableResponsive__ykttB {\n overflow-x: auto;\n}";
2578
- var styles$5 = {"table":"Table-module_table__DHKNv","bordered":"Table-module_bordered__1Kp1p","striped":"Table-module_striped__jmxgE","hover":"Table-module_hover__P6r3y","tableResponsive":"Table-module_tableResponsive__ykttB"};
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"};
2579
2581
  styleInject(css_248z$5);
2580
2582
 
2581
2583
  const Table = (props) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-asc",
3
- "version": "23.7.0",
3
+ "version": "23.7.1",
4
4
  "description": "handcrafted react components",
5
5
  "main": "index.js",
6
6
  "module": "index.es.js",
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;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- interface IMenuBackdropProps {
3
- onClick?: () => void;
4
- }
5
- export declare const MenuBackdrop: ({ onClick }: IMenuBackdropProps) => React.ReactPortal;
6
- export {};