phx-react 1.3.563 → 1.3.565
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/dist/cjs/components/Combobox/Combobox.d.ts +12 -10
- package/dist/cjs/components/Combobox/Combobox.js +112 -68
- package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
- package/dist/cjs/components/PBFMainWrap/PbfMainWrap.d.ts +8 -0
- package/dist/cjs/components/PBFMainWrap/PbfMainWrap.js +254 -0
- package/dist/cjs/components/PBFMainWrap/PbfMainWrap.js.map +1 -0
- package/dist/cjs/components/PBFMainWrap/index.d.ts +1 -0
- package/dist/cjs/components/PBFMainWrap/index.js +5 -0
- package/dist/cjs/components/PBFMainWrap/index.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Combobox/Combobox.d.ts +12 -10
- package/dist/esm/components/Combobox/Combobox.js +112 -68
- package/dist/esm/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/components/PBFMainWrap/PbfMainWrap.d.ts +8 -0
- package/dist/esm/components/PBFMainWrap/PbfMainWrap.js +250 -0
- package/dist/esm/components/PBFMainWrap/PbfMainWrap.js.map +1 -0
- package/dist/esm/components/PBFMainWrap/index.d.ts +1 -0
- package/dist/esm/components/PBFMainWrap/index.js +2 -0
- package/dist/esm/components/PBFMainWrap/index.js.map +1 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
type TSelectItem = Array<{
|
|
3
|
+
id: number;
|
|
4
|
+
name: string;
|
|
5
|
+
}>;
|
|
2
6
|
export interface ComboboxProps {
|
|
3
7
|
className?: string;
|
|
4
8
|
label?: string;
|
|
5
9
|
id?: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
id: number;
|
|
9
|
-
name: string;
|
|
10
|
-
}>;
|
|
11
|
-
defaultValue?: Array<{
|
|
12
|
-
id: number;
|
|
13
|
-
name: string;
|
|
14
|
-
}>;
|
|
10
|
+
listOptions: TSelectItem;
|
|
11
|
+
defaultValue?: TSelectItem;
|
|
15
12
|
placeholder?: string;
|
|
16
13
|
onChange?: any;
|
|
17
14
|
error?: boolean;
|
|
15
|
+
selectFieldPosition?: 'top' | 'bottom';
|
|
16
|
+
selectAllBtn?: boolean;
|
|
17
|
+
optionHeight?: number;
|
|
18
|
+
disabled?: boolean;
|
|
18
19
|
}
|
|
19
|
-
export declare const PHXCombobox: ({
|
|
20
|
+
export declare const PHXCombobox: ({ className, defaultValue, disabled, error, id, label, listOptions, onChange, optionHeight, placeholder, selectAllBtn, selectFieldPosition, }: ComboboxProps) => React.JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -2,98 +2,142 @@
|
|
|
2
2
|
exports.__esModule = true;
|
|
3
3
|
exports.PHXCombobox = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var solid_1 = require("@heroicons/react/24/solid");
|
|
5
6
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
6
7
|
var Checkbox_1 = require("../Checkbox");
|
|
7
|
-
var react_hook_form_1 = require("react-hook-form");
|
|
8
|
-
var solid_1 = require("@heroicons/react/24/solid");
|
|
9
8
|
var PHXCombobox = function (_a) {
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
9
|
+
var className = _a.className, defaultValue = _a.defaultValue, _b = _a.disabled, disabled = _b === void 0 ? false : _b, error = _a.error, id = _a.id, label = _a.label, listOptions = _a.listOptions, onChange = _a.onChange, _c = _a.optionHeight, optionHeight = _c === void 0 ? 300 : _c, placeholder = _a.placeholder, _d = _a.selectAllBtn, selectAllBtn = _d === void 0 ? false : _d, _e = _a.selectFieldPosition, selectFieldPosition = _e === void 0 ? 'bottom' : _e;
|
|
10
|
+
var _f = (0, react_1.useState)(false), isFocused = _f[0], setIsFocused = _f[1];
|
|
11
|
+
var _g = (0, react_1.useState)(defaultValue || []), selectedItems = _g[0], setSelectedItems = _g[1];
|
|
12
|
+
var _h = (0, react_1.useState)(listOptions || []), options = _h[0], setOptions = _h[1];
|
|
13
|
+
var _j = (0, react_1.useState)(false), checkedAll = _j[0], setCheckedAll = _j[1];
|
|
14
|
+
var _k = (0, react_1.useState)(selectAllBtn), showSelectAllBtn = _k[0], setShowSelectAllBtn = _k[1];
|
|
14
15
|
var wrapperRef = (0, react_1.useRef)(null);
|
|
15
|
-
var
|
|
16
|
-
(0, react_1.useEffect)(function () {
|
|
16
|
+
var handleChange = function (data) {
|
|
17
17
|
if (onChange) {
|
|
18
|
-
onChange(
|
|
18
|
+
onChange(data);
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
}, [selectedItems]);
|
|
22
|
-
// ẩn hiện khi focus vào input
|
|
23
|
-
(0, react_1.useEffect)(function () {
|
|
24
|
-
var handleClickOutside = function (event) {
|
|
25
|
-
var _a;
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
if (wrapperRef.current && !((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
28
|
-
setIsFocused(false);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
32
|
-
return function () {
|
|
33
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
34
|
-
};
|
|
35
|
-
}, [wrapperRef]);
|
|
20
|
+
};
|
|
36
21
|
var handleItemClick = function (item) {
|
|
37
22
|
var isSelected = selectedItems.some(function (selectedItem) { return selectedItem.id === item.id; });
|
|
38
23
|
if (isSelected) {
|
|
39
|
-
|
|
24
|
+
var newSelectedItem = selectedItems.filter(function (selectedItem) { return selectedItem.id !== item.id; });
|
|
25
|
+
if (selectAllBtn && newSelectedItem.length === options.length) {
|
|
26
|
+
setCheckedAll(true);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
setCheckedAll(false);
|
|
30
|
+
}
|
|
31
|
+
setSelectedItems(newSelectedItem);
|
|
32
|
+
handleChange(newSelectedItem);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
handleChange(tslib_1.__spreadArray(tslib_1.__spreadArray([], selectedItems, true), [item], false));
|
|
36
|
+
if (selectAllBtn && tslib_1.__spreadArray(tslib_1.__spreadArray([], selectedItems, true), [item], false).length === options.length) {
|
|
37
|
+
setCheckedAll(true);
|
|
40
38
|
}
|
|
41
39
|
else {
|
|
42
|
-
|
|
40
|
+
setCheckedAll(false);
|
|
43
41
|
}
|
|
44
|
-
|
|
42
|
+
setSelectedItems(tslib_1.__spreadArray(tslib_1.__spreadArray([], selectedItems, true), [item], false));
|
|
45
43
|
};
|
|
46
44
|
var handleRemoveItem = function (item) {
|
|
47
45
|
var newSelectedItems = selectedItems.filter(function (selectedItem) { return selectedItem.id !== item.id; });
|
|
46
|
+
if (selectAllBtn) {
|
|
47
|
+
setCheckedAll(false);
|
|
48
|
+
}
|
|
48
49
|
setSelectedItems(newSelectedItems);
|
|
50
|
+
handleChange(newSelectedItems);
|
|
49
51
|
};
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
// tính toán chiều cao của input để chứa các item được chọn
|
|
53
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54
|
-
(0, react_1.useEffect)(function () {
|
|
55
|
-
// @ts-ignore
|
|
56
|
-
setHeight(heightRef.current.clientHeight);
|
|
57
|
-
});
|
|
58
|
-
var inputValueWatch = watch('main') || '';
|
|
59
|
-
(0, react_1.useEffect)(function () {
|
|
60
|
-
if (inputValueWatch === '') {
|
|
52
|
+
var handleChangeInput = function (value) {
|
|
53
|
+
if (value === '') {
|
|
61
54
|
setOptions(listOptions);
|
|
55
|
+
if (selectAllBtn && !showSelectAllBtn) {
|
|
56
|
+
setShowSelectAllBtn(true);
|
|
57
|
+
}
|
|
62
58
|
}
|
|
63
59
|
else {
|
|
64
60
|
var filteredOptions = listOptions.filter(function (option) {
|
|
65
|
-
return option.name.toLowerCase().includes(
|
|
61
|
+
return option.name.toLowerCase().includes(value.toLowerCase());
|
|
66
62
|
});
|
|
63
|
+
if (selectAllBtn && showSelectAllBtn) {
|
|
64
|
+
setShowSelectAllBtn(false);
|
|
65
|
+
}
|
|
67
66
|
setOptions(filteredOptions);
|
|
68
67
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
68
|
+
};
|
|
69
|
+
var handleCheckAll = function () {
|
|
70
|
+
if (!checkedAll) {
|
|
71
|
+
setSelectedItems(options);
|
|
72
|
+
handleChange(options);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
setSelectedItems([]);
|
|
76
|
+
handleChange([]);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
(0, react_1.useEffect)(function () {
|
|
80
|
+
var handleClickOutside = function (event) {
|
|
81
|
+
var _a;
|
|
82
|
+
if (wrapperRef.current && !((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
83
|
+
setIsFocused(false);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
87
|
+
return function () {
|
|
88
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
89
|
+
};
|
|
90
|
+
}, [wrapperRef]);
|
|
91
|
+
(0, react_1.useEffect)(function () {
|
|
92
|
+
setOptions(listOptions);
|
|
93
|
+
if ((listOptions === null || listOptions === void 0 ? void 0 : listOptions.length) === (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) && selectAllBtn) {
|
|
94
|
+
setCheckedAll(true);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
setCheckedAll(false);
|
|
98
|
+
}
|
|
99
|
+
}, [listOptions]);
|
|
100
|
+
(0, react_1.useEffect)(function () {
|
|
101
|
+
if (defaultValue) {
|
|
102
|
+
setSelectedItems(defaultValue);
|
|
103
|
+
}
|
|
104
|
+
}, [defaultValue]);
|
|
105
|
+
return (react_1["default"].createElement("div", { className: className, id: id },
|
|
106
|
+
label && react_1["default"].createElement("label", { className: 'mb-1 block text-xs font-normal text-gray-700' }, label),
|
|
107
|
+
react_1["default"].createElement("div", { ref: wrapperRef, className: 'relative w-full bg-gray-100' },
|
|
108
|
+
react_1["default"].createElement("div", { className: "".concat(error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', " \n ").concat(disabled ? 'bg-[#f9fafb]' : 'bg-white', "\n block w-full space-y-1 rounded-lg border border-gray-500 text-sm shadow-sm hover:bg-gray-50 focus:border-gray-500 focus:bg-gray-50 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent ") },
|
|
109
|
+
(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 && !checkedAll && (react_1["default"].createElement("div", { className: ' ml-2 mt-2 flex flex-wrap items-center gap-2 ' }, selectedItems.map(function (item) { return (react_1["default"].createElement("div", { key: item.id + 'p', className: 'flex items-center whitespace-nowrap rounded-xl bg-gray-200' },
|
|
110
|
+
react_1["default"].createElement("p", { className: 'pl-2 pr-[2px] text-xs text-gray-700' }, item.name),
|
|
111
|
+
react_1["default"].createElement("button", { className: 'rounded-xl p-[3px] hover:cursor-pointer hover:bg-gray-300', onClick: function () { return handleRemoveItem(item); }, type: 'button' },
|
|
112
|
+
react_1["default"].createElement(solid_1.XMarkIcon, { className: 'h-4 w-4' })))); }))),
|
|
113
|
+
react_1["default"].createElement("input", { className: ' w-full rounded-lg border-none border-transparent text-xs outline-none focus:border-none focus:border-transparent focus:ring-0', disabled: disabled, id: 'main', onChange: function (e) { return handleChangeInput(e.target.value); }, onFocus: function () { return setIsFocused(true); }, placeholder: selectedItems.length === options.length && selectedItems.length > 0 ? 'Tất cả' : placeholder })),
|
|
114
|
+
options.length > 0 ? (react_1["default"].createElement("div", {
|
|
115
|
+
// eslint-disable-next-line prettier/prettier
|
|
116
|
+
className: "absolute z-50 mt-2 w-full overflow-y-auto rounded-lg bg-white p-2 shadow-xl ".concat(!isFocused ? 'hidden' : ''), style: tslib_1.__assign({ height: optionHeight }, (selectFieldPosition === 'top' && {
|
|
117
|
+
top: -optionHeight - 10
|
|
118
|
+
})) },
|
|
119
|
+
showSelectAllBtn && (react_1["default"].createElement("div", { key: 'selectAllCheckBox', className: 'relative mb-1 rounded-lg px-2 py-[1.5px] hover:bg-gray-200' },
|
|
120
|
+
react_1["default"].createElement(Checkbox_1.PHXCheckbox, { checked: checkedAll, className: 'mb-1 rounded-lg px-2 py-[1.5px] hover:bg-gray-200', id: "checkbox_".concat(Math.floor(Math.random() * 1000000) + 1), onClick: function () {
|
|
121
|
+
setCheckedAll(!checkedAll);
|
|
122
|
+
handleCheckAll();
|
|
123
|
+
}, title: 'T\u1EA5t c\u1EA3' }),
|
|
124
|
+
react_1["default"].createElement("button", { className: 'absolute inset-0 cursor-pointer', onClick: function () {
|
|
125
|
+
setCheckedAll(!checkedAll);
|
|
126
|
+
handleCheckAll();
|
|
127
|
+
}, type: 'button' }))), options === null || options === void 0 ? void 0 :
|
|
128
|
+
options.map(function (item) {
|
|
129
|
+
var randomNum = Math.floor(Math.random() * 1000000) + 1;
|
|
130
|
+
return (react_1["default"].createElement("div", { key: item.id, className: 'relative mb-1 rounded-lg px-2 py-[1.5px] hover:bg-gray-200' },
|
|
131
|
+
react_1["default"].createElement(Checkbox_1.PHXCheckbox, { checked: selectedItems.some(function (selectedItem) { return selectedItem.id === item.id; }), className: 'mb-1 rounded-lg px-2 py-[1.5px] hover:bg-gray-200', id: "checkbox_".concat(randomNum), onClick: function () { return handleItemClick(item); }, title: item.name }),
|
|
132
|
+
react_1["default"].createElement("button", { className: 'absolute inset-0 cursor-pointer', onClick: function () { return handleItemClick(item); }, type: 'button' })));
|
|
133
|
+
}))) : (react_1["default"].createElement("div", {
|
|
134
|
+
// eslint-disable-next-line prettier/prettier
|
|
135
|
+
className: "absolute z-50 mt-2 w-full overflow-y-auto rounded-lg bg-white p-2 shadow-xl ".concat(!isFocused ? 'hidden' : ''), style: tslib_1.__assign({}, (selectFieldPosition === 'top' && { top: -90 })) },
|
|
136
|
+
react_1["default"].createElement("div", { className: 'mt-3 h-[50px] text-center' },
|
|
137
|
+
react_1["default"].createElement("div", null,
|
|
138
|
+
react_1["default"].createElement("svg", { className: 'mx-auto h-4 w-4 text-gray-700', fill: 'none', stroke: 'currentColor', viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg' },
|
|
139
|
+
react_1["default"].createElement("path", { d: 'M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: '2' })),
|
|
140
|
+
react_1["default"].createElement("h3", { className: 'mt-[2px] text-sm text-gray-700' }, "Kh\u00F4ng c\u00F3 d\u1EEF li\u1EC7u"))))))));
|
|
97
141
|
};
|
|
98
142
|
exports.PHXCombobox = PHXCombobox;
|
|
99
143
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../src/components/Combobox/Combobox.tsx"],"names":[],"mappings":";;;;AAAA,qDAA0D;AAC1D,wCAAyC;
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../../src/components/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface IPbfMainWrapProps {
|
|
3
|
+
children: any;
|
|
4
|
+
pathName?: any;
|
|
5
|
+
router?: any;
|
|
6
|
+
}
|
|
7
|
+
export declare const isLoggedCookie = "isLoggedIn";
|
|
8
|
+
export declare function PBFMainWrap({ children, pathName }: IPbfMainWrapProps): React.JSX.Element;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.PBFMainWrap = exports.isLoggedCookie = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
var client_1 = require("@apollo/client");
|
|
7
|
+
var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
8
|
+
var react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
9
|
+
var react_1 = require("@headlessui/react");
|
|
10
|
+
var solid_1 = require("@heroicons/react/20/solid");
|
|
11
|
+
var solid_2 = require("@heroicons/react/24/solid");
|
|
12
|
+
var js_cookie_1 = tslib_1.__importDefault(require("js-cookie"));
|
|
13
|
+
var link_1 = tslib_1.__importDefault(require("next/link"));
|
|
14
|
+
var react_2 = tslib_1.__importStar(require("react"));
|
|
15
|
+
var types_1 = require("../types");
|
|
16
|
+
var read_env_config_1 = require("../../read-env-config");
|
|
17
|
+
exports.isLoggedCookie = 'isLoggedIn';
|
|
18
|
+
function PBFMainWrap(_a) {
|
|
19
|
+
var _this = this;
|
|
20
|
+
var children = _a.children, pathName = _a.pathName;
|
|
21
|
+
var _b = (0, react_2.useState)(false), sidebarOpen = _b[0], setSidebarOpen = _b[1];
|
|
22
|
+
var _c = (0, react_2.useState)(false), isShowModalChoose = _c[0], setIsShowModalChoose = _c[1];
|
|
23
|
+
var _d = (0, react_2.useState)([]), menu = _d[0], setMenu = _d[1];
|
|
24
|
+
var cookie = js_cookie_1["default"].get(exports.isLoggedCookie) && JSON.parse(js_cookie_1["default"].get(exports.isLoggedCookie));
|
|
25
|
+
// console.log('cookie', cookie);
|
|
26
|
+
var userId = (cookie || {}).id;
|
|
27
|
+
var requireLoginValidation = function () {
|
|
28
|
+
var _a;
|
|
29
|
+
var currentURL = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href;
|
|
30
|
+
var url = currentURL.split('/');
|
|
31
|
+
var loginPush = "".concat(url[0], "//").concat(url[2], "/login");
|
|
32
|
+
window.location.replace(loginPush);
|
|
33
|
+
};
|
|
34
|
+
var getUserPermissionInfo = (0, client_1.gql)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n query MyQuery($userId: Int) {\n user(where: { id: { _eq: $userId }, deleted_at: { _is_null: true } }) {\n id\n user_code\n full_name\n gender\n company_id\n department_id\n position_id\n company {\n code\n name\n }\n department {\n code\n name\n }\n user_roles(where: { is_active: { _eq: true } }) {\n role {\n role_code\n name\n permission_roles(where: { is_active: { _eq: true } }) {\n is_active\n permission_id\n permission {\n code\n name\n level\n }\n }\n }\n is_active\n }\n position {\n code\n name\n }\n permission_users {\n is_active\n permission_id\n company_id\n permission {\n code\n level\n name\n }\n }\n }\n }\n "], ["\n query MyQuery($userId: Int) {\n user(where: { id: { _eq: $userId }, deleted_at: { _is_null: true } }) {\n id\n user_code\n full_name\n gender\n company_id\n department_id\n position_id\n company {\n code\n name\n }\n department {\n code\n name\n }\n user_roles(where: { is_active: { _eq: true } }) {\n role {\n role_code\n name\n permission_roles(where: { is_active: { _eq: true } }) {\n is_active\n permission_id\n permission {\n code\n name\n level\n }\n }\n }\n is_active\n }\n position {\n code\n name\n }\n permission_users {\n is_active\n permission_id\n company_id\n permission {\n code\n level\n name\n }\n }\n }\n }\n "])));
|
|
35
|
+
var userPermissionData = (0, client_1.useQuery)(getUserPermissionInfo, {
|
|
36
|
+
variables: { userId: userId },
|
|
37
|
+
fetchPolicy: 'network-only'
|
|
38
|
+
}).data;
|
|
39
|
+
// console.log('userPermissionData', userPermissionData);
|
|
40
|
+
var _e = (userPermissionData === null || userPermissionData === void 0 ? void 0 : userPermissionData.user[0]) || {}, full_name = _e.full_name, permission_users = _e.permission_users, user_roles = _e.user_roles;
|
|
41
|
+
// console.log('permission_users', permission_users);
|
|
42
|
+
// danh sách role
|
|
43
|
+
var listRoleCode = user_roles === null || user_roles === void 0 ? void 0 : user_roles.map(function (item) {
|
|
44
|
+
var _a;
|
|
45
|
+
// console.log('role...', item.role);
|
|
46
|
+
var listPermission = (_a = item.role.permission_roles) === null || _a === void 0 ? void 0 : _a.map(function (permission) {
|
|
47
|
+
// console.log('permission', permission);
|
|
48
|
+
return permission.is_active ? permission.permission : {};
|
|
49
|
+
});
|
|
50
|
+
return item.is_active
|
|
51
|
+
? {
|
|
52
|
+
roleCode: item.role.role_code,
|
|
53
|
+
listPermission: listPermission
|
|
54
|
+
}
|
|
55
|
+
: {};
|
|
56
|
+
});
|
|
57
|
+
// console.log('listRoleCode', listRoleCode);
|
|
58
|
+
// gộp danh sách quyền từ role và quyền cá nhân
|
|
59
|
+
var mergeListPermissionCode = function () {
|
|
60
|
+
var _a;
|
|
61
|
+
// list quyền được cấp riêng
|
|
62
|
+
var listPermissionCodePersional = (permission_users === null || permission_users === void 0 ? void 0 : permission_users.map(function (item) { return item.permission.code; })) || [];
|
|
63
|
+
// console.log('listRoleCodePersional', listPermissionCodePersional);
|
|
64
|
+
// Danh sách các mã quyền của user
|
|
65
|
+
var listPermissionCodeByRole = ((_a = listRoleCode === null || listRoleCode === void 0 ? void 0 : listRoleCode.map(function (item) {
|
|
66
|
+
var _a;
|
|
67
|
+
var permissionCode = (_a = item.listPermission) === null || _a === void 0 ? void 0 : _a.map(function (per) { return per.code; });
|
|
68
|
+
return permissionCode;
|
|
69
|
+
})) === null || _a === void 0 ? void 0 : _a.flat()) || []; // convert mảng permission
|
|
70
|
+
// console.log('listPermissionCode', listPermissionCodeByRole);
|
|
71
|
+
// gộp danh sách quyền từ role và quyền cá nhân
|
|
72
|
+
var listPermissionCode = tslib_1.__spreadArray(tslib_1.__spreadArray([], listPermissionCodeByRole, true), listPermissionCodePersional, true);
|
|
73
|
+
// console.log('listPermissionCode', listPermissionCode);
|
|
74
|
+
return listPermissionCode;
|
|
75
|
+
};
|
|
76
|
+
var isSuperAdmin = listRoleCode === null || listRoleCode === void 0 ? void 0 : listRoleCode.some(function (item) { return item.roleCode === 'SUPER_ADMIN'; });
|
|
77
|
+
// console.log('isSuperAdmin', isSuperAdmin);
|
|
78
|
+
var publicEnvPbfMenu = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_ENV_PBF_MENU', process.env.NEXT_PUBLIC_ENV_PBF_MENU);
|
|
79
|
+
var phenikaaLogo = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_ENV_PBF_LOGO', process.env.NEXT_PUBLIC_ENV_PBF_LOGO);
|
|
80
|
+
var autoLogin = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
81
|
+
return tslib_1.__generator(this, function (_a) {
|
|
82
|
+
return [2 /*return*/];
|
|
83
|
+
});
|
|
84
|
+
}); };
|
|
85
|
+
(0, react_2.useEffect)(function () {
|
|
86
|
+
if (!cookie) {
|
|
87
|
+
// Require login if production mode
|
|
88
|
+
requireLoginValidation();
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
autoLogin();
|
|
92
|
+
}
|
|
93
|
+
}, [cookie, userPermissionData]);
|
|
94
|
+
var fetchDataMenu = function (url) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
95
|
+
var data, jsonMenu, listPermissionCode, permissionMenu;
|
|
96
|
+
var _a;
|
|
97
|
+
return tslib_1.__generator(this, function (_b) {
|
|
98
|
+
switch (_b.label) {
|
|
99
|
+
case 0: return [4 /*yield*/, fetch(url, {
|
|
100
|
+
headers: {
|
|
101
|
+
'Content-Type': 'application/json'
|
|
102
|
+
}
|
|
103
|
+
})];
|
|
104
|
+
case 1:
|
|
105
|
+
data = _b.sent();
|
|
106
|
+
return [4 /*yield*/, data.json()
|
|
107
|
+
// nếu là super admin lấy toàn bộ menu
|
|
108
|
+
];
|
|
109
|
+
case 2:
|
|
110
|
+
jsonMenu = _b.sent();
|
|
111
|
+
// nếu là super admin lấy toàn bộ menu
|
|
112
|
+
if (isSuperAdmin) {
|
|
113
|
+
setMenu(jsonMenu);
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
listPermissionCode = mergeListPermissionCode() // danh sách tất cả các quyền
|
|
117
|
+
;
|
|
118
|
+
permissionMenu = (_a = jsonMenu === null || jsonMenu === void 0 ? void 0 : jsonMenu.map(function (item) {
|
|
119
|
+
var _a;
|
|
120
|
+
var subMenu = (_a = item.children) === null || _a === void 0 ? void 0 : _a.filter(function (child) { return listPermissionCode === null || listPermissionCode === void 0 ? void 0 : listPermissionCode.includes(child.code); });
|
|
121
|
+
return tslib_1.__assign(tslib_1.__assign({}, item), { children: subMenu });
|
|
122
|
+
}) // lấy ra các menu con có quyền
|
|
123
|
+
) === null || _a === void 0 ? void 0 : _a.filter(function (x) { var _a; return (listPermissionCode === null || listPermissionCode === void 0 ? void 0 : listPermissionCode.includes(x === null || x === void 0 ? void 0 : x.code)) && ((_a = x.children) === null || _a === void 0 ? void 0 : _a.length) > 0; }) // filter menu cha ko có menu con nào có quyền
|
|
124
|
+
;
|
|
125
|
+
// console.log('permissionMenu', permissionMenu);
|
|
126
|
+
setMenu(permissionMenu || []);
|
|
127
|
+
return [2 /*return*/];
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}); };
|
|
131
|
+
(0, react_2.useEffect)(function () {
|
|
132
|
+
// Let load left menu data
|
|
133
|
+
if (!publicEnvPbfMenu) {
|
|
134
|
+
console.error('menu not found');
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (!userPermissionData)
|
|
138
|
+
return;
|
|
139
|
+
fetchDataMenu(publicEnvPbfMenu)["catch"](function (error) { return console.error(error); });
|
|
140
|
+
}, [userPermissionData]);
|
|
141
|
+
var _f = (0, react_2.useState)(true), isOpen = _f[0], setIsOpen = _f[1];
|
|
142
|
+
var openNav = function () {
|
|
143
|
+
setIsOpen(true);
|
|
144
|
+
};
|
|
145
|
+
var closeNav = function () {
|
|
146
|
+
setIsOpen(false);
|
|
147
|
+
};
|
|
148
|
+
var renderNavigation = function () { return (react_2["default"].createElement("nav", { className: 'flex flex-1 flex-col' },
|
|
149
|
+
react_2["default"].createElement("ul", { className: 'flex flex-1 flex-col gap-y-7', role: 'list' },
|
|
150
|
+
react_2["default"].createElement("li", null,
|
|
151
|
+
react_2["default"].createElement("ul", { className: '-mx-2 space-y-1', role: 'list' }, menu.map(function (item) {
|
|
152
|
+
var _a;
|
|
153
|
+
return (react_2["default"].createElement("li", { key: item.name, className: 'cursor-pointer' }, !item.children ? (react_2["default"].createElement("a", { className: (0, types_1.classNames)(item.href === pathName ? 'bg-white ' : 'hover:bg-white hover:bg-opacity-50 ', 'group flex items-center gap-x-3 rounded-md p-1 text-[0.84rem] font-medium leading-6 text-[#374151]'), href: item.href },
|
|
154
|
+
react_2["default"].createElement("span", { className: 'font-medium leading-5 text-[#374151]', dangerouslySetInnerHTML: {
|
|
155
|
+
__html: item.icon
|
|
156
|
+
} }),
|
|
157
|
+
isOpen ? item.name : '')) : (react_2["default"].createElement(react_1.Disclosure, { as: 'div', defaultOpen: (_a = item.children) === null || _a === void 0 ? void 0 : _a.some(function (child) { var _a; return (_a = child.listPath) === null || _a === void 0 ? void 0 : _a.some(function (path) { return pathName === null || pathName === void 0 ? void 0 : pathName.includes(path); }); }) }, function (_a) {
|
|
158
|
+
var _b, _c;
|
|
159
|
+
var open = _a.open;
|
|
160
|
+
return (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
161
|
+
react_2["default"].createElement("a", { className: (0, types_1.classNames)(((_b = item.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { var _a; return (_a = child.listPath) === null || _a === void 0 ? void 0 : _a.some(function (path) { return pathName === null || pathName === void 0 ? void 0 : pathName.includes(path); }); }))
|
|
162
|
+
? '' /* `${
|
|
163
|
+
!isOpen ? 'bg-white' : 'hover:bg-white hover:bg-opacity-50 '
|
|
164
|
+
}` */
|
|
165
|
+
: 'hover:bg-white hover:bg-opacity-50 ', 'flex w-full items-center gap-x-3 rounded-md p-1 text-left text-[0.84rem] font-medium leading-6 text-[#374151] transition-all duration-100'), href: item.href },
|
|
166
|
+
react_2["default"].createElement("span", { className: 'h-5 w-5 shrink-0 overflow-hidden', dangerouslySetInnerHTML: {
|
|
167
|
+
__html: item.icon
|
|
168
|
+
} }),
|
|
169
|
+
isOpen && (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
170
|
+
react_2["default"].createElement("p", { className: 'truncate' }, item.name),
|
|
171
|
+
react_2["default"].createElement(solid_1.ChevronRightIcon, { "aria-hidden": 'true', className: (0, types_1.classNames)(open ? 'rotate-90' : '', 'ml-auto h-4 w-4 shrink-0') })))),
|
|
172
|
+
((_c = item.children) === null || _c === void 0 ? void 0 : _c.some(function (child) { var _a; return (_a = child.listPath) === null || _a === void 0 ? void 0 : _a.some(function (path) { return pathName === null || pathName === void 0 ? void 0 : pathName.includes(path); }); })) &&
|
|
173
|
+
isOpen && (react_2["default"].createElement(react_1.Disclosure.Panel, { as: 'ul', className: 'mt-1 px-2' }, item.children.map(function (subItem, subItemIndex) {
|
|
174
|
+
var _a;
|
|
175
|
+
return (react_2["default"].createElement("li", { key: subItem.name },
|
|
176
|
+
react_2["default"].createElement(link_1["default"], { className: (0, types_1.classNames)(((_a = subItem.listPath) === null || _a === void 0 ? void 0 : _a.some(function (path) { return pathName === null || pathName === void 0 ? void 0 : pathName.includes(path); }))
|
|
177
|
+
? 'bg-white'
|
|
178
|
+
: 'hover:bg-white hover:bg-opacity-50 ', subItemIndex !== 0 && 'mt-1', 'block truncate rounded-md py-1 pl-9 pr-2 text-xs leading-6 text-[#374151]'), href: subItem.href }, subItem.name)));
|
|
179
|
+
})))));
|
|
180
|
+
}))));
|
|
181
|
+
}))),
|
|
182
|
+
react_2["default"].createElement("li", { className: '-mx-6 mt-auto hidden lg:block' },
|
|
183
|
+
react_2["default"].createElement("div", { className: "flex items-center gap-x-4 px-6 py-3 text-[0.84rem] font-medium leading-6 text-[#374151] ".concat(!isOpen && '-mx-4 justify-center') },
|
|
184
|
+
react_2["default"].createElement(react_1.Menu, { as: 'div', className: 'relative inline-block text-left' },
|
|
185
|
+
react_2["default"].createElement("div", null,
|
|
186
|
+
react_2["default"].createElement(react_1.Menu.Button, { className: '\n flex items-center rounded-full bg-gray-100 text-gray-600 hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:ring-offset-gray-100' },
|
|
187
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-1 text-gray-900' },
|
|
188
|
+
react_2["default"].createElement("img", { alt: '', className: "h-8 w-8 rounded-full bg-[#ebebeb] ".concat(!isOpen && '-mx-4'), src: 'https://i1.sndcdn.com/avatars-000518557020-ib8qs8-t500x500.jpg' })))),
|
|
189
|
+
react_2["default"].createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95' },
|
|
190
|
+
react_2["default"].createElement(react_1.Menu.Items, { className: 'absolute bottom-[40px] left-3 z-10 mt-1.5 max-h-96 w-[200px] min-w-[7.2rem] origin-top-right overflow-y-auto whitespace-nowrap rounded-lg bg-white shadow-[0rem_0.25rem_0.375rem_-0.125rem_rgba(26,26,26,.2)] focus:outline-none' },
|
|
191
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
192
|
+
react_2["default"].createElement("div", { className: 'flex items-center justify-between border-b border-gray-200 p-2' },
|
|
193
|
+
react_2["default"].createElement("p", null, "Cong ty"),
|
|
194
|
+
' ',
|
|
195
|
+
react_2["default"].createElement(solid_2.ArrowPathRoundedSquareIcon, { "aria-hidden": true, className: 'rounded-md hover:bg-gray-500 hover:text-white', onClick: function () { return setIsShowModalChoose(!isShowModalChoose); }, width: 25 }))),
|
|
196
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
197
|
+
react_2["default"].createElement("div", { className: 'p-2 text-xs hover:bg-gray-100' }, "Th\u00F4ng tin c\u00E1 nh\u00E2n")),
|
|
198
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
199
|
+
react_2["default"].createElement("div", { className: 'p-2 text-xs hover:bg-gray-100' }, "\u0110\u0103ng xu\u1EA5t"))))),
|
|
200
|
+
react_2["default"].createElement("span", { "aria-hidden": 'true', className: "truncate ".concat(!isOpen && 'hidden', " cursor-default") }, full_name)))))); };
|
|
201
|
+
return (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
202
|
+
react_2["default"].createElement("div", { className: 'h-screen overflow-y-auto bg-[#f1f1f1]' },
|
|
203
|
+
react_2["default"].createElement(react_1.Transition.Root, { as: react_2.Fragment, show: sidebarOpen },
|
|
204
|
+
react_2["default"].createElement(react_1.Dialog, { as: 'div', className: 'relative z-50 lg:hidden', onClose: setSidebarOpen },
|
|
205
|
+
react_2["default"].createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: 'transition-opacity ease-linear duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'transition-opacity ease-linear duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
|
|
206
|
+
react_2["default"].createElement("div", { className: 'fixed inset-0 bg-gray-900/80' })),
|
|
207
|
+
react_2["default"].createElement("div", { className: 'fixed inset-0 flex' },
|
|
208
|
+
react_2["default"].createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: 'transition ease-in-out duration-300 transform', enterFrom: '-translate-x-full', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-300 transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-full' },
|
|
209
|
+
react_2["default"].createElement(react_1.Dialog.Panel, { className: 'relative mr-16 flex w-full max-w-[15rem] flex-1' },
|
|
210
|
+
react_2["default"].createElement(react_1.Transition.Child, { as: react_2.Fragment, enter: 'ease-in-out duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'ease-in-out duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
|
|
211
|
+
react_2["default"].createElement("div", { className: 'absolute left-full top-0 flex w-16 justify-center pt-5' },
|
|
212
|
+
react_2["default"].createElement("button", { className: '-m-2.5 p-2.5', onClick: function () { return setSidebarOpen(false); }, type: 'button' },
|
|
213
|
+
react_2["default"].createElement("span", { className: 'sr-only' }, "Close sidebar"),
|
|
214
|
+
react_2["default"].createElement(solid_2.XMarkIcon, { "aria-hidden": 'true', className: 'h-6 w-6 text-[#374151]' })))),
|
|
215
|
+
react_2["default"].createElement("div", { className: 'flex grow flex-col gap-0 overflow-y-auto bg-[#ebebeb] px-6 pb-2' },
|
|
216
|
+
react_2["default"].createElement("a", { className: 'flex h-16 shrink-0 items-center', href: '/dashboard' },
|
|
217
|
+
react_2["default"].createElement("img", { alt: 'Your Company', className: 'h-[2rem] w-auto', src: phenikaaLogo })),
|
|
218
|
+
renderNavigation())))))),
|
|
219
|
+
react_2["default"].createElement("div", { className: 'sticky top-0 z-40 flex items-center justify-between gap-x-6 bg-[#ebebeb] px-4 py-4 shadow-sm sm:px-6 lg:hidden' },
|
|
220
|
+
react_2["default"].createElement("button", { className: '-m-2.5 p-2.5 text-[#374151] lg:hidden', onClick: function () { return setSidebarOpen(true); }, type: 'button' },
|
|
221
|
+
react_2["default"].createElement(solid_2.Bars3Icon, { "aria-hidden": 'true', className: 'h-6 w-6' })),
|
|
222
|
+
react_2["default"].createElement("div", null,
|
|
223
|
+
react_2["default"].createElement(react_1.Menu, { as: 'div', className: 'relative inline-block text-left' },
|
|
224
|
+
react_2["default"].createElement("div", null,
|
|
225
|
+
react_2["default"].createElement(react_1.Menu.Button, { className: '\n flex items-center rounded-full bg-gray-100 text-gray-600 hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:ring-offset-gray-100' },
|
|
226
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-1 text-gray-900' },
|
|
227
|
+
react_2["default"].createElement("img", { alt: '', className: "h-8 w-8 rounded-full bg-[#ebebeb] ".concat(!isOpen && '-mx-4'), src: 'https://i1.sndcdn.com/avatars-000518557020-ib8qs8-t500x500.jpg' })))),
|
|
228
|
+
react_2["default"].createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95' },
|
|
229
|
+
react_2["default"].createElement(react_1.Menu.Items, { className: 'absolute right-0 z-10 mt-1.5 max-h-96 w-[200px] min-w-[7.2rem] origin-top-right overflow-y-auto whitespace-nowrap rounded-lg bg-white shadow-[0rem_0.25rem_0.375rem_-0.125rem_rgba(26,26,26,.2)] focus:outline-none' },
|
|
230
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
231
|
+
react_2["default"].createElement("div", { className: 'flex items-center justify-between border-b border-gray-200 p-2' },
|
|
232
|
+
react_2["default"].createElement("p", null, "Cong ty"),
|
|
233
|
+
' ',
|
|
234
|
+
react_2["default"].createElement(solid_2.ArrowPathRoundedSquareIcon, { "aria-hidden": true, className: 'rounded-md hover:bg-gray-500 hover:text-white', onClick: function () { return setIsShowModalChoose(!isShowModalChoose); }, width: 25 }))),
|
|
235
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
236
|
+
react_2["default"].createElement("div", { className: 'p-2 text-xs hover:bg-gray-100' }, "Th\u00F4ng tin c\u00E1 nh\u00E2n")),
|
|
237
|
+
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
238
|
+
react_2["default"].createElement("div", { className: 'p-2 text-xs hover:bg-gray-100' }, "\u0110\u0103ng xu\u1EA5t"))))))),
|
|
239
|
+
react_2["default"].createElement("div", { className: "relative hidden grow flex-col gap-y-3 overflow-y-auto border-r border-gray-200 bg-[#ebebeb] px-6 lg:fixed lg:inset-y-0 lg:z-10 lg:flex ".concat(isOpen ? 'lg:w-[15rem]' : 'lg:w-[3.8rem] lg:overflow-hidden') },
|
|
240
|
+
react_2["default"].createElement("div", { className: "flex h-16 shrink-0 items-center ".concat(!isOpen && 'justify-center') }, isOpen ? (react_2["default"].createElement("a", { href: '/dashboard' },
|
|
241
|
+
react_2["default"].createElement("img", { alt: 'Your Company', className: 'mt-2 h-[2rem] w-auto', src: phenikaaLogo }))) : (react_2["default"].createElement("span", { className: '-m-4 h-7 w-7' },
|
|
242
|
+
react_2["default"].createElement("svg", { className: 'h-full w-full', fill: 'none', viewBox: '0 0 216 215', xmlns: 'http://www.w3.org/2000/svg' },
|
|
243
|
+
react_2["default"].createElement("path", { d: 'M63.2355 14.6823C76.3819 5.05173 92.6621 -0.222122 108.942 0.00717597C126.063 -0.0692568 142.955 5.96893 156.331 16.5931C168.254 25.9179 177.044 38.9114 181.935 53.2043C173.375 42.5038 162.904 33.179 150.522 26.9115C130.726 16.6695 107.108 14.0708 85.4774 19.7268C65.452 24.7714 47.6432 37.0006 35.0318 53.2808C40.2292 37.9942 50.089 24.1599 63.2355 14.6823Z', fill: '#F26522' }),
|
|
244
|
+
react_2["default"].createElement("path", { d: 'M7.82172 69.3317C13.5542 54.0451 22.9554 40.1344 34.8025 28.8987C27.0828 43.956 22.7261 60.7712 22.879 77.7393C22.6497 104.949 33.8088 132.006 52.917 151.268C66.9806 165.866 85.4009 176.108 105.197 180.465C125.528 185.051 147.235 183.369 166.649 175.726C183.006 169.306 197.451 158.682 208.84 145.382C197.528 175.115 172.458 199.42 142.114 209.204C127.057 214.019 110.929 216.312 95.2608 213.866C78.9042 211.879 63.0061 205.993 49.2483 196.974C31.363 185.204 17.2229 168.006 9.04464 148.21C-1.27378 123.37 -1.73237 94.5545 7.82172 69.3317Z', fill: 'white' }),
|
|
245
|
+
react_2["default"].createElement("path", { d: 'M182.623 29.3574C194.547 40.8988 203.948 55.0388 209.527 70.7075C216.636 90.6565 217.859 112.898 212.432 133.382C192.712 158.529 161.069 173.815 129.197 173.662C125.732 173.662 122.292 173.56 118.878 173.357C131.413 167.854 143.26 160.669 153.273 151.344C164.662 140.949 173.833 128.108 180.101 114.045C191.872 87.5992 192.942 56.4146 182.623 29.3574Z', fill: 'white' }))))),
|
|
246
|
+
renderNavigation()),
|
|
247
|
+
react_2["default"].createElement("button", { className: "absolute hidden ".concat(isOpen ? 'left-[15rem]' : 'left-[3rem]', " top-4 z-50 flex h-6 w-6 rounded-full bg-[#fe8d59] p-2 text-[#374151] "), onClick: isOpen ? closeNav : openNav, type: 'button' }, isOpen ? (react_2["default"].createElement(react_fontawesome_1.FontAwesomeIcon, { className: 'm-auto h-4 w-4', icon: free_solid_svg_icons_1.faCaretLeft })) : (react_2["default"].createElement(react_fontawesome_1.FontAwesomeIcon, { className: 'm-auto h-4 w-4', icon: free_solid_svg_icons_1.faCaretRight }))),
|
|
248
|
+
react_2["default"].createElement("div", { className: " flex-1 ".concat(isOpen ? 'lg:ml-[15rem]' : 'lg:ml-[4rem]') },
|
|
249
|
+
react_2["default"].createElement("main", { className: 'py-2 md:py-4' },
|
|
250
|
+
react_2["default"].createElement("div", { className: 'px-4 sm:px-8' }, children))))));
|
|
251
|
+
}
|
|
252
|
+
exports.PBFMainWrap = PBFMainWrap;
|
|
253
|
+
var templateObject_1;
|
|
254
|
+
//# sourceMappingURL=PbfMainWrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PbfMainWrap.js","sourceRoot":"","sources":["../../../../src/components/PBFMainWrap/PbfMainWrap.tsx"],"names":[],"mappings":"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"}
|