@datability/8ui 0.1.5

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.
Files changed (122) hide show
  1. package/README.md +178 -0
  2. package/dist/components/Blackdrop/index.d.ts +5 -0
  3. package/dist/components/Blackdrop/index.js +11 -0
  4. package/dist/components/Blackdrop/index.js.map +1 -0
  5. package/dist/components/Blackdrop/index.scss +16 -0
  6. package/dist/components/Blackdrop/index.type.d.ts +5 -0
  7. package/dist/components/Blackdrop/index.type.js +2 -0
  8. package/dist/components/Blackdrop/index.type.js.map +1 -0
  9. package/dist/components/Button/index.d.ts +5 -0
  10. package/dist/components/Button/index.js +14 -0
  11. package/dist/components/Button/index.js.map +1 -0
  12. package/dist/components/Button/index.scss +22 -0
  13. package/dist/components/Button/index.type.d.ts +11 -0
  14. package/dist/components/Button/index.type.js +2 -0
  15. package/dist/components/Button/index.type.js.map +1 -0
  16. package/dist/components/Chip/index.d.ts +5 -0
  17. package/dist/components/Chip/index.js +14 -0
  18. package/dist/components/Chip/index.js.map +1 -0
  19. package/dist/components/Chip/index.scss +32 -0
  20. package/dist/components/Chip/index.type.d.ts +9 -0
  21. package/dist/components/Chip/index.type.js +2 -0
  22. package/dist/components/Chip/index.type.js.map +1 -0
  23. package/dist/components/Divider/index.d.ts +4 -0
  24. package/dist/components/Divider/index.js +10 -0
  25. package/dist/components/Divider/index.js.map +1 -0
  26. package/dist/components/Divider/index.scss +4 -0
  27. package/dist/components/Input/InputAutoComplete/index.d.ts +5 -0
  28. package/dist/components/Input/InputAutoComplete/index.js +62 -0
  29. package/dist/components/Input/InputAutoComplete/index.js.map +1 -0
  30. package/dist/components/Input/InputAutoComplete/index.scss +53 -0
  31. package/dist/components/Input/InputAutoComplete/index.type.d.ts +11 -0
  32. package/dist/components/Input/InputAutoComplete/index.type.js +2 -0
  33. package/dist/components/Input/InputAutoComplete/index.type.js.map +1 -0
  34. package/dist/components/Input/InputBase/index.d.ts +5 -0
  35. package/dist/components/Input/InputBase/index.js +23 -0
  36. package/dist/components/Input/InputBase/index.js.map +1 -0
  37. package/dist/components/Input/InputBase/index.scss +14 -0
  38. package/dist/components/Input/InputBase/index.type.d.ts +9 -0
  39. package/dist/components/Input/InputBase/index.type.js +2 -0
  40. package/dist/components/Input/InputBase/index.type.js.map +1 -0
  41. package/dist/components/Input/InputBasic/index.d.ts +5 -0
  42. package/dist/components/Input/InputBasic/index.js +16 -0
  43. package/dist/components/Input/InputBasic/index.js.map +1 -0
  44. package/dist/components/Input/InputBasic/index.scss +9 -0
  45. package/dist/components/Input/InputBasic/index.type.d.ts +9 -0
  46. package/dist/components/Input/InputBasic/index.type.js +2 -0
  47. package/dist/components/Input/InputBasic/index.type.js.map +1 -0
  48. package/dist/components/Input/InputCheckbox/index.d.ts +5 -0
  49. package/dist/components/Input/InputCheckbox/index.js +19 -0
  50. package/dist/components/Input/InputCheckbox/index.js.map +1 -0
  51. package/dist/components/Input/InputCheckbox/index.scss +30 -0
  52. package/dist/components/Input/InputCheckbox/index.type.d.ts +11 -0
  53. package/dist/components/Input/InputCheckbox/index.type.js +2 -0
  54. package/dist/components/Input/InputCheckbox/index.type.js.map +1 -0
  55. package/dist/components/Input/InputDateRangePicker/index.d.ts +6 -0
  56. package/dist/components/Input/InputDateRangePicker/index.js +22 -0
  57. package/dist/components/Input/InputDateRangePicker/index.js.map +1 -0
  58. package/dist/components/Input/InputDateRangePicker/index.scss +31 -0
  59. package/dist/components/Input/InputDateRangePicker/index.type.d.ts +8 -0
  60. package/dist/components/Input/InputDateRangePicker/index.type.js +2 -0
  61. package/dist/components/Input/InputDateRangePicker/index.type.js.map +1 -0
  62. package/dist/components/Input/InputNumber/index.d.ts +5 -0
  63. package/dist/components/Input/InputNumber/index.js +49 -0
  64. package/dist/components/Input/InputNumber/index.js.map +1 -0
  65. package/dist/components/Input/InputNumber/index.scss +9 -0
  66. package/dist/components/Input/InputNumber/index.type.d.ts +9 -0
  67. package/dist/components/Input/InputNumber/index.type.js +2 -0
  68. package/dist/components/Input/InputNumber/index.type.js.map +1 -0
  69. package/dist/components/Input/InputPassword/index.d.ts +5 -0
  70. package/dist/components/Input/InputPassword/index.js +21 -0
  71. package/dist/components/Input/InputPassword/index.js.map +1 -0
  72. package/dist/components/Input/InputPassword/index.scss +22 -0
  73. package/dist/components/Input/InputPassword/index.type.d.ts +8 -0
  74. package/dist/components/Input/InputPassword/index.type.js +2 -0
  75. package/dist/components/Input/InputPassword/index.type.js.map +1 -0
  76. package/dist/components/Input/InputRadio/index.d.ts +5 -0
  77. package/dist/components/Input/InputRadio/index.js +19 -0
  78. package/dist/components/Input/InputRadio/index.js.map +1 -0
  79. package/dist/components/Input/InputRadio/index.scss +30 -0
  80. package/dist/components/Input/InputRadio/index.type.d.ts +11 -0
  81. package/dist/components/Input/InputRadio/index.type.js +2 -0
  82. package/dist/components/Input/InputRadio/index.type.js.map +1 -0
  83. package/dist/components/Input/InputSelect/index.d.ts +5 -0
  84. package/dist/components/Input/InputSelect/index.js +40 -0
  85. package/dist/components/Input/InputSelect/index.js.map +1 -0
  86. package/dist/components/Input/InputSelect/index.scss +69 -0
  87. package/dist/components/Input/InputSelect/index.type.d.ts +14 -0
  88. package/dist/components/Input/InputSelect/index.type.js +2 -0
  89. package/dist/components/Input/InputSelect/index.type.js.map +1 -0
  90. package/dist/components/Input/InputTextarea/index.d.ts +5 -0
  91. package/dist/components/Input/InputTextarea/index.js +16 -0
  92. package/dist/components/Input/InputTextarea/index.js.map +1 -0
  93. package/dist/components/Input/InputTextarea/index.scss +10 -0
  94. package/dist/components/Input/InputTextarea/index.type.d.ts +10 -0
  95. package/dist/components/Input/InputTextarea/index.type.js +2 -0
  96. package/dist/components/Input/InputTextarea/index.type.js.map +1 -0
  97. package/dist/components/Input/extend.scss +19 -0
  98. package/dist/components/Menu/index.d.ts +5 -0
  99. package/dist/components/Menu/index.js +145 -0
  100. package/dist/components/Menu/index.js.map +1 -0
  101. package/dist/components/Menu/index.scss +19 -0
  102. package/dist/components/Menu/index.type.d.ts +10 -0
  103. package/dist/components/Menu/index.type.js +2 -0
  104. package/dist/components/Menu/index.type.js.map +1 -0
  105. package/dist/components/Modal/index.d.ts +5 -0
  106. package/dist/components/Modal/index.js +81 -0
  107. package/dist/components/Modal/index.js.map +1 -0
  108. package/dist/components/Modal/index.scss +33 -0
  109. package/dist/components/Modal/index.type.d.ts +8 -0
  110. package/dist/components/Modal/index.type.js +2 -0
  111. package/dist/components/Modal/index.type.js.map +1 -0
  112. package/dist/components/assets/closed.svg +4 -0
  113. package/dist/components/assets/expandArrow.svg +3 -0
  114. package/dist/components/assets/visibility.svg +5 -0
  115. package/dist/components/assets/visibilityOff.svg +5 -0
  116. package/dist/components/context.d.ts +10 -0
  117. package/dist/components/context.js +16 -0
  118. package/dist/components/context.js.map +1 -0
  119. package/dist/components/index.d.ts +35 -0
  120. package/dist/components/index.js +18 -0
  121. package/dist/components/index.js.map +1 -0
  122. package/package.json +48 -0
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import type { PropsInputTextarea } from './index.type';
4
+ declare const InputTextarea: React.FC<PropsInputTextarea>;
5
+ export default InputTextarea;
@@ -0,0 +1,16 @@
1
+ // Lib
2
+ import React from 'react';
3
+ import { getIn, useFormikContext } from 'formik';
4
+ // Images
5
+ // Include in project
6
+ import './index.scss';
7
+ import InputBase from '../InputBase';
8
+ var InputTextarea = function (_a) {
9
+ var name = _a.name, label = _a.label, placeholder = _a.placeholder, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.require, require = _c === void 0 ? false : _c, _d = _a.fullWidth, fullWidth = _d === void 0 ? false : _d, _e = _a.rows, rows = _e === void 0 ? 2 : _e, _f = _a.cols, cols = _f === void 0 ? 50 : _f;
10
+ var _g = useFormikContext(), values = _g.values, touched = _g.touched, errors = _g.errors, handleChange = _g.handleChange;
11
+ var isInvalid = getIn(touched, name) && Boolean(getIn(errors, name));
12
+ return (React.createElement(InputBase, { name: name, label: label, require: require, fullWidth: fullWidth, isInvalid: isInvalid },
13
+ React.createElement("textarea", { className: "DBui-inputTextarea", placeholder: placeholder, disabled: disabled, value: getIn(values, name), onChange: handleChange, name: name, rows: rows, cols: cols, "aria-invalid": isInvalid })));
14
+ };
15
+ export default InputTextarea;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Input/InputTextarea/index.tsx"],"names":[],"mappings":"AAAA,MAAM;AACN,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAEhD,SAAS;AAET,qBAAqB;AACrB,OAAO,cAAc,CAAA;AACrB,OAAO,SAAS,MAAM,cAAc,CAAA;AAGpC,IAAM,aAAa,GAAiC,UAAC,EASpD;QARC,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EACR,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA;IAEH,IAAA,KAA4C,gBAAgB,EAAE,EAA5D,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAuB,CAAA;IACpE,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAEtE,OAAO,CACL,oBAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC/F,kCACE,SAAS,EAAC,oBAAoB,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,kBACI,SAAS,GACvB,CACQ,CACb,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,10 @@
1
+ @import '../extend.scss';
2
+
3
+ .DBui-inputTextarea {
4
+ @extend .DBui-input;
5
+ resize: none;
6
+
7
+ &:disabled {
8
+ @extend .DBui-disabled;
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ export type PropsInputTextarea = {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ require?: boolean;
7
+ fullWidth?: boolean;
8
+ rows?: number;
9
+ cols?: number;
10
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.type.js","sourceRoot":"","sources":["../../../../src/components/Input/InputTextarea/index.type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ // Disable
2
+ .DBui-disabled {
3
+ cursor: not-allowed;
4
+ background-color: #FAFAFA;
5
+ color: #000000;
6
+ }
7
+
8
+ .DBui-input {
9
+ width: 100%;
10
+ padding: 0.3em 0.5em;
11
+ border-radius: 0.3em;
12
+ border: 1px solid #E3E3E8;
13
+ background-color: #FFFFFF;
14
+ color: #000000;
15
+
16
+ &[aria-invalid='true'] {
17
+ border: 1px solid #EB5757;
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import type { PropsMenu } from './index.type';
4
+ declare const Menu: React.FC<PropsMenu>;
5
+ export default Menu;
@@ -0,0 +1,145 @@
1
+ // Lib
2
+ import React, { useContext, useEffect, useRef, useState } from 'react';
3
+ // Include in project
4
+ import './index.scss';
5
+ import { createPortal } from 'react-dom';
6
+ import { DBuiContext } from '../context';
7
+ var Menu = function (_a) {
8
+ var children = _a.children, trigger = _a.trigger, _b = _a.isAutoCloseWhenClickOutsideMenuItem, isAutoCloseWhenClickOutsideMenuItem = _b === void 0 ? true : _b, disabled = _a.disabled, _c = _a.maxHeight, maxHeight = _c === void 0 ? 200 : _c;
9
+ var _d = useContext(DBuiContext), openMenuCount = _d.openMenuCount, openModalCount = _d.openModalCount, setOpenMenuCount = _d.setOpenMenuCount;
10
+ var setMenuIncress = function () { return setOpenMenuCount === null || setOpenMenuCount === void 0 ? void 0 : setOpenMenuCount(function (prev) { return prev + 1; }); };
11
+ var setMenuDecress = function () { return setOpenMenuCount === null || setOpenMenuCount === void 0 ? void 0 : setOpenMenuCount(function (prev) { return prev - 1; }); };
12
+ var setMenuZero = function () { return setOpenMenuCount === null || setOpenMenuCount === void 0 ? void 0 : setOpenMenuCount(0); };
13
+ var _e = useState(false), isOpen = _e[0], setIsOpen = _e[1];
14
+ var _f = useState({ top: 0, left: 0 }), menuStyle = _f[0], setMenuStyle = _f[1];
15
+ var menuRef = useRef(null);
16
+ var menuItemRef = useRef(null);
17
+ var triggerRef = useRef(null);
18
+ var handleToggle = function () {
19
+ if (disabled)
20
+ return;
21
+ setIsOpen(function (prevIsOpen) {
22
+ if (prevIsOpen) {
23
+ if (openMenuCount <= 0) {
24
+ setMenuZero();
25
+ if (openModalCount <= 0) {
26
+ document.body.style.overflow = 'visible';
27
+ }
28
+ }
29
+ else {
30
+ setMenuDecress();
31
+ }
32
+ calculateMenuPosition();
33
+ }
34
+ else {
35
+ document.body.style.overflow = 'hidden';
36
+ calculateMenuPosition();
37
+ }
38
+ return !prevIsOpen;
39
+ });
40
+ };
41
+ // Close the menu when clicking outside
42
+ useEffect(function () {
43
+ // Update the global counter and adjust the overflow style
44
+ if (isOpen) {
45
+ setMenuIncress();
46
+ document.body.style.overflow = 'hidden';
47
+ }
48
+ else {
49
+ if (openMenuCount <= 0) {
50
+ setMenuZero();
51
+ if (openModalCount <= 0) {
52
+ document.body.style.overflow = 'visible';
53
+ }
54
+ }
55
+ else {
56
+ setMenuDecress();
57
+ }
58
+ }
59
+ var handleClickOutside = function (event) {
60
+ var _a, _b;
61
+ if (isAutoCloseWhenClickOutsideMenuItem) {
62
+ if (menuRef.current && !menuRef.current.contains(event.target)) {
63
+ setIsOpen(false);
64
+ }
65
+ }
66
+ else {
67
+ if (menuRef.current &&
68
+ !menuRef.current.contains(event.target) &&
69
+ !((_b = (_a = menuItemRef.current) === null || _a === void 0 ? void 0 : _a.contains) === null || _b === void 0 ? void 0 : _b.call(_a, event.target))) {
70
+ setIsOpen(false);
71
+ }
72
+ }
73
+ };
74
+ var handleKeydown = function (event) {
75
+ // Check if the pressed key is the Escape key
76
+ if (event.key === 'Escape' || event.keyCode === 27) {
77
+ setIsOpen(false);
78
+ }
79
+ };
80
+ document.addEventListener('click', handleClickOutside);
81
+ document.addEventListener('keydown', handleKeydown);
82
+ return function () {
83
+ document.removeEventListener('click', handleClickOutside);
84
+ document.removeEventListener('keydown', handleKeydown);
85
+ // Adjust the overflow style based on the global counter
86
+ if (openMenuCount === 0 && openModalCount === 0) {
87
+ document.body.style.overflow = 'visible';
88
+ }
89
+ };
90
+ }, [isOpen]);
91
+ var calculateMenuPosition = function () {
92
+ if (triggerRef.current && menuItemRef.current) {
93
+ var triggerRect = triggerRef.current.getBoundingClientRect();
94
+ var menuItemRect = menuItemRef.current.getBoundingClientRect();
95
+ var viewportHeight = window.innerHeight;
96
+ var viewportWidth = window.innerWidth;
97
+ // Calculate available space above and below the trigger
98
+ var spaceAbove = triggerRect.top;
99
+ var spaceBelow = viewportHeight - triggerRect.bottom;
100
+ // Calculate the height of the menu
101
+ var menuMaxHeight = maxHeight;
102
+ var actualMenuHeight = Math.min(menuMaxHeight, menuItemRect.height);
103
+ var top_1 = 0;
104
+ var left = 0;
105
+ // Choose to position the menu above or below based on available space
106
+ if (spaceBelow >= actualMenuHeight) {
107
+ // Enough space below the trigger
108
+ top_1 = triggerRect.bottom + window.scrollY;
109
+ }
110
+ else if (spaceAbove >= actualMenuHeight) {
111
+ // Enough space above the trigger
112
+ top_1 = triggerRect.top + window.scrollY - actualMenuHeight;
113
+ }
114
+ else {
115
+ // Not enough space above or below; you might want to add more logic here for complex cases
116
+ top_1 = triggerRect.bottom + window.scrollY; // Default to below
117
+ }
118
+ // Ensure the menu stays within the bounds of the screen
119
+ left = Math.min(Math.max(triggerRect.left + window.scrollX, 0), viewportWidth - menuRef.current.offsetWidth);
120
+ // Set the calculated position in state
121
+ setMenuStyle({ top: top_1, left: left, maxHeight: "".concat(maxHeight, "px") });
122
+ }
123
+ };
124
+ // Effect to handle window resize and click outside
125
+ useEffect(function () {
126
+ calculateMenuPosition();
127
+ // Event listener for window resize
128
+ var handleResize = function () {
129
+ if (isOpen) {
130
+ calculateMenuPosition();
131
+ }
132
+ };
133
+ // Add the event listener
134
+ window.addEventListener('resize', handleResize);
135
+ // Clean up the event listener when component unmounts
136
+ return function () {
137
+ window.removeEventListener('resize', handleResize);
138
+ };
139
+ }, [isOpen]);
140
+ return (React.createElement("div", { ref: menuRef },
141
+ React.createElement("div", { onClick: handleToggle, className: "cursor", ref: triggerRef }, trigger({ isOpen: isOpen })),
142
+ createPortal(React.createElement("div", { className: "DBui-wrapperMenuItem", "aria-hidden": !(isOpen && !disabled), style: menuStyle, ref: menuItemRef }, children), document.getElementById('root'))));
143
+ };
144
+ export default Menu;
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Menu/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ .DBui-wrapperMenuItem {
2
+ position: absolute;
3
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px,
4
+ rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;
5
+ border-radius: 0.3em;
6
+ display: block;
7
+ background-color: #FFFFFF;
8
+ color: #000000;
9
+ z-index: var(--z-index-menu);
10
+ max-width: 300px;
11
+ min-width: 100px;
12
+ width: fit-content;
13
+ overflow-y: scroll;
14
+ overflow-x: hidden;
15
+
16
+ &[aria-hidden='true'] {
17
+ visibility: hidden;
18
+ }
19
+ }
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export type PropsMenu = {
3
+ trigger: (props: {
4
+ isOpen: boolean;
5
+ }) => JSX.Element;
6
+ children: JSX.Element | JSX.Element[];
7
+ isAutoCloseWhenClickOutsideMenuItem?: boolean;
8
+ disabled?: boolean;
9
+ maxHeight?: number;
10
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.type.js","sourceRoot":"","sources":["../../../src/components/Menu/index.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ import type { PropsModal } from './index.type';
4
+ declare const Modal: React.FC<PropsModal>;
5
+ export default Modal;
@@ -0,0 +1,81 @@
1
+ // Lib
2
+ import React, { useContext, useEffect, useRef } from 'react';
3
+ //Images
4
+ import closedSVG from '../assets/closed.svg';
5
+ // Include in project
6
+ import './index.scss';
7
+ import Blackdrop from '../Blackdrop';
8
+ import { DBuiContext } from '../context';
9
+ var sizeStyle = {
10
+ sm: '25%',
11
+ md: '40%',
12
+ lg: '75%'
13
+ };
14
+ var Modal = function (_a) {
15
+ var size = _a.size, children = _a.children, open = _a.open, onClose = _a.onClose, id = _a.id;
16
+ var _b = useContext(DBuiContext), openMenuCount = _b.openMenuCount, openModalCount = _b.openModalCount, setOpenModalCount = _b.setOpenModalCount;
17
+ var setModalIncress = function () { return setOpenModalCount === null || setOpenModalCount === void 0 ? void 0 : setOpenModalCount(function (prev) { return prev + 1; }); };
18
+ var setModalDecress = function () { return setOpenModalCount === null || setOpenModalCount === void 0 ? void 0 : setOpenModalCount(function (prev) { return prev - 1; }); };
19
+ var setModalZero = function () { return setOpenModalCount === null || setOpenModalCount === void 0 ? void 0 : setOpenModalCount(0); };
20
+ var modalRef = useRef(null);
21
+ var styleWidth = (function () {
22
+ if (size !== 'xl') {
23
+ return {
24
+ width: sizeStyle[size]
25
+ };
26
+ }
27
+ else
28
+ return {
29
+ width: '95vw',
30
+ height: '90vh'
31
+ };
32
+ })();
33
+ // Close the menu when clicking outside
34
+ useEffect(function () {
35
+ // Update the global counter and adjust the overflow style
36
+ if (open) {
37
+ setModalIncress();
38
+ document.body.style.overflow = 'hidden';
39
+ }
40
+ else {
41
+ if (openModalCount <= 0) {
42
+ setModalZero();
43
+ if (openMenuCount <= 0) {
44
+ document.body.style.overflow = 'visible';
45
+ }
46
+ }
47
+ else {
48
+ setModalDecress();
49
+ }
50
+ }
51
+ var handleKeydown = function (event) {
52
+ // Get all elements with the class 'DBui-modalBase'
53
+ var modalElements = document.querySelectorAll('.DBui-modalBase');
54
+ // Convert NodeList to an array to use filter method
55
+ var modalArray = Array.from(modalElements);
56
+ // Filter the array based on aria-hidden attribute
57
+ var showModals = modalArray.filter(function (modal) {
58
+ return modal.getAttribute('aria-hidden') === 'false';
59
+ });
60
+ var topLayerShowModal = showModals[showModals.length - 1];
61
+ // Check if the pressed key is the Escape key
62
+ if ((event.key === 'Escape' || event.keyCode === 27) && (topLayerShowModal === null || topLayerShowModal === void 0 ? void 0 : topLayerShowModal.getAttribute('id')) === id) {
63
+ onClose();
64
+ }
65
+ };
66
+ document.addEventListener('keydown', handleKeydown);
67
+ return function () {
68
+ document.removeEventListener('keydown', handleKeydown);
69
+ // Adjust the overflow style based on the global counter
70
+ if (openModalCount === 0 && openMenuCount === 0) {
71
+ document.body.style.overflow = 'visible';
72
+ }
73
+ };
74
+ }, [open]);
75
+ return (React.createElement(Blackdrop, { open: open },
76
+ React.createElement("div", { className: "DBui-modalBase DBui-modalContent", "aria-hidden": !open, style: styleWidth, ref: modalRef, id: id },
77
+ React.createElement("img", { src: closedSVG, alt: "", className: "DBui-close", onClick: onClose }),
78
+ React.createElement("div", null, children))));
79
+ };
80
+ export default Modal;
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ .DBui-modalContent {
2
+ top: 50%;
3
+ left: 50%;
4
+ transform: translate(-50%, -50%);
5
+ position: absolute;
6
+ border-radius: 1em;
7
+ background-color: #FFFFFF;
8
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 11px 15px -7px, rgba(0, 0, 0, 0.14) 0px 24px 38px 3px, rgba(0, 0, 0, 0.12) 0px 9px 46px 8px;
9
+ min-width: 430px;
10
+ min-height: 150px;
11
+ overflow-x: hidden;
12
+ overflow-y: scroll;
13
+ display: flex;
14
+ flex-direction: column;
15
+
16
+ &::-webkit-scrollbar {
17
+ display: none;
18
+ }
19
+
20
+ .DBui-close {
21
+ position: absolute;
22
+ top: 10px;
23
+ right: 10px;
24
+ width: 30px;
25
+ height: 30px;
26
+ z-index: var(--z-index-normale);
27
+ cursor: pointer;
28
+
29
+ &:hover {
30
+ opacity: 0.5;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export type PropsModal = {
3
+ size: 'sm' | 'md' | 'lg' | 'xl';
4
+ children: JSX.Element | JSX.Element[];
5
+ open: boolean;
6
+ onClose: () => void;
7
+ id: string;
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.type.js","sourceRoot":"","sources":["../../../src/components/Modal/index.type.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18 6L6 18" stroke="#B1B1B1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M6 6L18 18" stroke="#B1B1B1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.21967 8.46967C4.51256 8.17678 4.98744 8.17678 5.28033 8.46967L12 15.1893L18.7197 8.46967C19.0126 8.17678 19.4874 8.17678 19.7803 8.46967C20.0732 8.76256 20.0732 9.23744 19.7803 9.53033L12.5303 16.7803C12.2374 17.0732 11.7626 17.0732 11.4697 16.7803L4.21967 9.53033C3.92678 9.23744 3.92678 8.76256 4.21967 8.46967Z" fill="#B1B1B1"/>
3
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g opacity="0.2">
3
+ <path d="M18.355 9.75953C18.3291 9.7009 17.7004 8.30633 16.3029 6.90879C14.4407 5.04664 12.0887 4.0625 9.49999 4.0625C6.91124 4.0625 4.55925 5.04664 2.6971 6.90879C1.29956 8.30633 0.667962 9.70313 0.644954 9.75953C0.611194 9.83547 0.59375 9.91764 0.59375 10.0007C0.59375 10.0838 0.611194 10.166 0.644954 10.242C0.67093 10.3006 1.29956 11.6944 2.6971 13.092C4.55925 14.9534 6.91124 15.9375 9.49999 15.9375C12.0887 15.9375 14.4407 14.9534 16.3029 13.092C17.7004 11.6944 18.3291 10.3006 18.355 10.242C18.3888 10.166 18.4062 10.0838 18.4062 10.0007C18.4062 9.91764 18.3888 9.83547 18.355 9.75953ZM9.49999 12.9688C8.91283 12.9688 8.33885 12.7946 7.85064 12.4684C7.36244 12.1422 6.98192 11.6786 6.75723 11.1361C6.53253 10.5936 6.47374 9.99671 6.58829 9.42083C6.70284 8.84494 6.98558 8.31596 7.40077 7.90078C7.81596 7.48559 8.34494 7.20284 8.92082 7.08829C9.4967 6.97374 10.0936 7.03253 10.6361 7.25723C11.1786 7.48193 11.6422 7.86244 11.9684 8.35065C12.2946 8.83886 12.4687 9.41284 12.4687 10C12.4687 10.7874 12.156 11.5425 11.5992 12.0992C11.0425 12.656 10.2874 12.9688 9.49999 12.9688Z" fill="#1B1C1E"/>
4
+ </g>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg width="19" height="20" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g opacity="0.2">
3
+ <path d="M4.00187 3.07082C3.94973 3.01204 3.88644 2.9642 3.81567 2.93006C3.7449 2.89592 3.66806 2.87617 3.5896 2.87195C3.51114 2.86773 3.43263 2.87912 3.35861 2.90547C3.28458 2.93182 3.21653 2.97259 3.15838 3.02544C3.10023 3.07828 3.05315 3.14214 3.01987 3.21331C2.98658 3.28448 2.96775 3.36156 2.96447 3.44006C2.96119 3.51856 2.97353 3.59693 3.00076 3.67064C3.02799 3.74434 3.06958 3.8119 3.12312 3.86941L4.55109 5.44062C1.85546 7.09496 0.696165 9.64511 0.644954 9.76089C0.611194 9.83683 0.59375 9.919 0.59375 10.0021C0.59375 10.0852 0.611194 10.1674 0.644954 10.2433C0.67093 10.3019 1.29956 11.6958 2.6971 13.0933C4.55925 14.9547 6.91124 15.9389 9.49999 15.9389C10.8305 15.9464 12.1475 15.6725 13.3646 15.1351L14.9974 16.9319C15.0495 16.9907 15.1128 17.0385 15.1836 17.0727C15.2543 17.1068 15.3312 17.1266 15.4096 17.1308C15.4881 17.135 15.5666 17.1236 15.6406 17.0973C15.7147 17.0709 15.7827 17.0301 15.8409 16.9773C15.899 16.9244 15.9461 16.8606 15.9794 16.7894C16.0127 16.7182 16.0315 16.6412 16.0348 16.5627C16.0381 16.4842 16.0257 16.4058 15.9985 16.3321C15.9713 16.2584 15.9297 16.1908 15.8761 16.1333L4.00187 3.07082ZM10.6073 12.1025C10.1416 12.3475 9.6077 12.4309 9.08944 12.3396C8.57118 12.2483 8.09793 11.9874 7.74399 11.598C7.39006 11.2085 7.17549 10.7126 7.13398 10.188C7.09246 9.66336 7.22636 9.13982 7.51464 8.69957L10.6073 12.1025ZM18.355 10.2433C18.3239 10.3131 17.572 11.9778 15.8791 13.4941C15.7624 13.5988 15.6091 13.6531 15.4525 13.6452C15.296 13.6373 15.1489 13.5677 15.0434 13.4518L7.52577 5.18234C7.45386 5.10342 7.40455 5.00657 7.38305 4.90199C7.36155 4.79741 7.36864 4.68896 7.40359 4.58807C7.43853 4.48718 7.50004 4.39759 7.58162 4.32871C7.66321 4.25984 7.76186 4.21424 7.86718 4.19671C8.40687 4.1076 8.953 4.06317 9.49999 4.06386C12.0887 4.06386 14.4407 5.048 16.3029 6.91015C17.7004 8.30769 18.3291 9.70226 18.355 9.76089C18.3888 9.83683 18.4062 9.919 18.4062 10.0021C18.4062 10.0852 18.3888 10.1674 18.355 10.2433Z" fill="#1B1C1E"/>
4
+ </g>
5
+ </svg>
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type TContext = {
3
+ openModalCount: number;
4
+ openMenuCount: number;
5
+ setOpenModalCount?: React.Dispatch<React.SetStateAction<number>>;
6
+ setOpenMenuCount?: React.Dispatch<React.SetStateAction<number>>;
7
+ };
8
+ export declare const DBuiContext: React.Context<TContext>;
9
+ export declare const DBuiProvider: (props: any) => React.JSX.Element;
10
+ export {};
@@ -0,0 +1,16 @@
1
+ import React, { createContext, useState } from 'react';
2
+ export var DBuiContext = createContext({
3
+ openModalCount: 0,
4
+ openMenuCount: 0
5
+ });
6
+ export var DBuiProvider = function (props) {
7
+ var _a = useState(0), openModalCount = _a[0], setOpenModalCount = _a[1];
8
+ var _b = useState(0), openMenuCount = _b[0], setOpenMenuCount = _b[1];
9
+ return (React.createElement(DBuiContext.Provider, { value: {
10
+ openModalCount: openModalCount,
11
+ openMenuCount: openMenuCount,
12
+ setOpenModalCount: setOpenModalCount,
13
+ setOpenMenuCount: setOpenMenuCount
14
+ } }, props.children));
15
+ };
16
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/components/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAStD,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAAW;IACjD,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;CACjB,CAAC,CAAA;AACF,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAU;IAC/B,IAAA,KAAsC,QAAQ,CAAC,CAAC,CAAC,EAAhD,cAAc,QAAA,EAAE,iBAAiB,QAAe,CAAA;IACjD,IAAA,KAAoC,QAAQ,CAAC,CAAC,CAAC,EAA9C,aAAa,QAAA,EAAE,gBAAgB,QAAe,CAAA;IAErD,OAAO,CACL,oBAAC,WAAW,CAAC,QAAQ,IACnB,KAAK,EAAE;YACL,cAAc,gBAAA;YACd,aAAa,eAAA;YACb,iBAAiB,mBAAA;YACjB,gBAAgB,kBAAA;SACjB,IAEA,KAAK,CAAC,QAAQ,CACM,CACxB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,35 @@
1
+ export { default as Button } from './Button';
2
+ export type { PropsButton } from './Button/index.type';
3
+ export { default as Blackdrop } from './Blackdrop';
4
+ export type { PropsBlackdrop } from './Blackdrop/index.type';
5
+ export { default as Chip } from './Chip';
6
+ export type { PropsChip } from './Chip/index.type';
7
+ export { default as Divider } from './Divider';
8
+ export { default as Menu } from './Menu';
9
+ export type { PropsMenu } from './Menu/index.type';
10
+ export { default as Modal } from './Modal';
11
+ export type { PropsModal } from './Modal/index.type';
12
+ export { default as Input } from './Input/InputBasic';
13
+ export type { PropsInputBasic as PropsInput } from './Input/InputBasic/index.type';
14
+ export { default as InputNumber } from './Input/InputNumber';
15
+ export type { PropsInputNumber } from './Input/InputNumber/index.type';
16
+ export { default as InputDateRangePicker } from './Input/InputDateRangePicker';
17
+ export type { PropsInputDateRangePicker } from './Input/InputDateRangePicker/index.type';
18
+ export { default as InputPassword } from './Input/InputPassword';
19
+ export type { PropsInputPassword } from './Input/InputPassword/index.type';
20
+ export { default as InputRadio } from './Input/InputRadio';
21
+ export type { PropsInputRadio } from './Input/InputRadio/index.type';
22
+ export { default as InputCheckbox } from './Input/InputCheckbox';
23
+ export type { PropsInputCheckbox } from './Input/InputCheckbox/index.type';
24
+ export { default as InputTextarea } from './Input/InputTextarea';
25
+ export type { PropsInputTextarea } from './Input/InputTextarea/index.type';
26
+ export { default as InputSelect } from './Input/InputSelect';
27
+ export type { PropsInputSelect } from './Input/InputSelect/index.type';
28
+ export { default as InputAutoComplete } from './Input/InputAutoComplete';
29
+ export type { PropsInputAutoComplete } from './Input/InputAutoComplete/index.type';
30
+ export type TValueOption = string | number;
31
+ export type TOption = {
32
+ label: string;
33
+ value: TValueOption;
34
+ };
35
+ export { DBuiContext, DBuiProvider } from './context';
@@ -0,0 +1,18 @@
1
+ export { default as Button } from './Button';
2
+ export { default as Blackdrop } from './Blackdrop'; // Need variable --z-index-backdrop
3
+ export { default as Chip } from './Chip';
4
+ export { default as Divider } from './Divider';
5
+ export { default as Menu } from './Menu'; // Need variable --z-index-menu
6
+ export { default as Modal } from './Modal'; // Need variable --z-index-normale
7
+ export { default as Input } from './Input/InputBasic';
8
+ export { default as InputNumber } from './Input/InputNumber';
9
+ export { default as InputDateRangePicker } from './Input/InputDateRangePicker';
10
+ export { default as InputPassword } from './Input/InputPassword';
11
+ export { default as InputRadio } from './Input/InputRadio';
12
+ export { default as InputCheckbox } from './Input/InputCheckbox';
13
+ export { default as InputTextarea } from './Input/InputTextarea';
14
+ export { default as InputSelect } from './Input/InputSelect';
15
+ export { default as InputAutoComplete } from './Input/InputAutoComplete';
16
+ // Context
17
+ export { DBuiContext, DBuiProvider } from './context';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAG5C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA,CAAC,mCAAmC;AAGtF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AAGxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA,CAAC,+BAA+B;AAGxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA,CAAC,kCAAkC;AAG7E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAUxE,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@datability/8ui",
3
+ "version": "0.1.5",
4
+ "description": "",
5
+ "main": "dist/components/index.js",
6
+ "types": "dist/components/index.d.ts",
7
+ "author": "Datability",
8
+ "license": "ISC",
9
+ "keywords": [],
10
+ "scripts": {
11
+ "start": "react-scripts start",
12
+ "cp-svg": "copyfiles -u 1 src/components/**/*.svg dist/",
13
+ "cp-scss": "copyfiles -u 1 src/components/**/*.scss dist/",
14
+ "cp-scss-2": "copyfiles -u 1 src/components/**/**/*.scss dist/",
15
+ "build": "rm -rf dist/ && tsc && npm run cp-scss && npm run cp-scss-2 && npm run cp-svg"
16
+ },
17
+ "files": [
18
+ "/dist"
19
+ ],
20
+ "dependencies": {
21
+ "copyfiles": "^2.4.1",
22
+ "formik": "^2.4.6",
23
+ "prettier": "^3.2.5",
24
+ "react-datepicker": "^6.9.0",
25
+ "react-scripts": "^5.0.1",
26
+ "sass": "^1.77.0",
27
+ "sass-loader": "^14.2.1"
28
+ },
29
+ "devDependencies": {
30
+ "@types/react": "^18.3.1",
31
+ "@types/react-datepicker": "^6.2.0",
32
+ "@types/react-dom": "^18.3.0",
33
+ "react": "^18.3.1",
34
+ "react-dom": "^18.3.1"
35
+ },
36
+ "browserslist": {
37
+ "production": [
38
+ ">0.2%",
39
+ "not dead",
40
+ "not op_mini all"
41
+ ],
42
+ "development": [
43
+ "last 1 chrome version",
44
+ "last 1 firefox version",
45
+ "last 1 safari version"
46
+ ]
47
+ }
48
+ }