@nomos-ui/uanela-redux-next 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/apis/auth.api.d.ts +2 -0
- package/dist/apis/auth.api.d.ts.map +1 -0
- package/dist/apis/auth.api.js +108 -0
- package/dist/apis/auth.api.js.map +1 -0
- package/dist/components/api-provider.d.ts +51 -0
- package/dist/components/api-provider.d.ts.map +1 -0
- package/dist/components/api-provider.js +60 -0
- package/dist/components/api-provider.js.map +1 -0
- package/dist/components/data-manipulation/create-data-wrapper.d.ts +69 -0
- package/dist/components/data-manipulation/create-data-wrapper.d.ts.map +1 -0
- package/dist/components/data-manipulation/create-data-wrapper.js +65 -0
- package/dist/components/data-manipulation/create-data-wrapper.js.map +1 -0
- package/dist/components/data-manipulation/update-data-wrapper.d.ts +91 -0
- package/dist/components/data-manipulation/update-data-wrapper.d.ts.map +1 -0
- package/dist/components/data-manipulation/update-data-wrapper.js +85 -0
- package/dist/components/data-manipulation/update-data-wrapper.js.map +1 -0
- package/dist/components/modals/create.modal.d.ts +71 -0
- package/dist/components/modals/create.modal.d.ts.map +1 -0
- package/dist/components/modals/create.modal.js +51 -0
- package/dist/components/modals/create.modal.js.map +1 -0
- package/dist/components/modals/update.modal.d.ts +71 -0
- package/dist/components/modals/update.modal.d.ts.map +1 -0
- package/dist/components/modals/update.modal.js +51 -0
- package/dist/components/modals/update.modal.js.map +1 -0
- package/dist/components/pages/components/page-title-and-description.d.ts +6 -0
- package/dist/components/pages/components/page-title-and-description.d.ts.map +1 -0
- package/dist/components/pages/components/page-title-and-description.js +8 -0
- package/dist/components/pages/components/page-title-and-description.js.map +1 -0
- package/dist/components/pages/create-data-page/index.d.ts +25 -0
- package/dist/components/pages/create-data-page/index.d.ts.map +1 -0
- package/dist/components/pages/create-data-page/index.js +22 -0
- package/dist/components/pages/create-data-page/index.js.map +1 -0
- package/dist/components/pages/list-page/header-action-buttons.d.ts +7 -0
- package/dist/components/pages/list-page/header-action-buttons.d.ts.map +1 -0
- package/dist/components/pages/list-page/header-action-buttons.js +20 -0
- package/dist/components/pages/list-page/header-action-buttons.js.map +1 -0
- package/dist/components/pages/list-page/list-page.d.ts +19 -0
- package/dist/components/pages/list-page/list-page.d.ts.map +1 -0
- package/dist/components/pages/list-page/list-page.js +17 -0
- package/dist/components/pages/list-page/list-page.js.map +1 -0
- package/dist/components/pages/list-page/table/action-button.d.ts +12 -0
- package/dist/components/pages/list-page/table/action-button.d.ts.map +1 -0
- package/dist/components/pages/list-page/table/action-button.js +15 -0
- package/dist/components/pages/list-page/table/action-button.js.map +1 -0
- package/dist/components/pages/list-page/table/confirm-delete.modal.d.ts +6 -0
- package/dist/components/pages/list-page/table/confirm-delete.modal.d.ts.map +1 -0
- package/dist/components/pages/list-page/table/confirm-delete.modal.js +16 -0
- package/dist/components/pages/list-page/table/confirm-delete.modal.js.map +1 -0
- package/dist/components/pages/list-page/table/table-data.d.ts +27 -0
- package/dist/components/pages/list-page/table/table-data.d.ts.map +1 -0
- package/dist/components/pages/list-page/table/table-data.js +57 -0
- package/dist/components/pages/list-page/table/table-data.js.map +1 -0
- package/dist/components/pages/list-page/table/table.d.ts +43 -0
- package/dist/components/pages/list-page/table/table.d.ts.map +1 -0
- package/dist/components/pages/list-page/table/table.js +99 -0
- package/dist/components/pages/list-page/table/table.js.map +1 -0
- package/dist/components/pages/list-page/table/types/index.d.ts +54 -0
- package/dist/components/pages/list-page/table/types/index.d.ts.map +1 -0
- package/dist/components/pages/list-page/table/types/index.js +3 -0
- package/dist/components/pages/list-page/table/types/index.js.map +1 -0
- package/dist/components/pages/list-page/template.d.ts +31 -0
- package/dist/components/pages/list-page/template.d.ts.map +1 -0
- package/dist/components/pages/list-page/template.js +174 -0
- package/dist/components/pages/list-page/template.js.map +1 -0
- package/dist/components/pages/update-data-page/index.d.ts +25 -0
- package/dist/components/pages/update-data-page/index.d.ts.map +1 -0
- package/dist/components/pages/update-data-page/index.js +24 -0
- package/dist/components/pages/update-data-page/index.js.map +1 -0
- package/dist/components/query-boundary.d.ts +81 -0
- package/dist/components/query-boundary.d.ts.map +1 -0
- package/dist/components/query-boundary.js +121 -0
- package/dist/components/query-boundary.js.map +1 -0
- package/dist/components/server/server-query-boundary.d.ts +23 -0
- package/dist/components/server/server-query-boundary.d.ts.map +1 -0
- package/dist/components/server/server-query-boundary.js +36 -0
- package/dist/components/server/server-query-boundary.js.map +1 -0
- package/dist/exports/index.d.ts +11 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/index.js +55 -0
- package/dist/exports/index.js.map +1 -0
- package/dist/hooks/use-update-search-params.d.ts +5 -0
- package/dist/hooks/use-update-search-params.d.ts.map +1 -0
- package/dist/hooks/use-update-search-params.js +13 -0
- package/dist/hooks/use-update-search-params.js.map +1 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.default = CreateDataModal;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
11
|
+
const modals_1 = require("@nomos-ui/common/modals");
|
|
12
|
+
const create_data_wrapper_1 = __importDefault(require("../data-manipulation/create-data-wrapper"));
|
|
13
|
+
/**
|
|
14
|
+
* A generic modal component for creating data with form validation
|
|
15
|
+
* @template DataType The type of data being created
|
|
16
|
+
* @param props Component props combining CreateDataModalProps and partial ModalProps
|
|
17
|
+
* @returns A Modal component containing a form for data creation
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <CreateDataModal<UserData>
|
|
22
|
+
* name="user"
|
|
23
|
+
* title="Create New User"
|
|
24
|
+
* schema={userSchema}
|
|
25
|
+
* formProps={{ buttonLabel: "Create User" }}
|
|
26
|
+
* Form={UserForm}
|
|
27
|
+
* isOpen={isOpen}
|
|
28
|
+
* setIsOpen={setIsOpen}
|
|
29
|
+
* />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
function CreateDataModal({ name, title, description, keepIsLoading, requiredData, schema, formProps, topButtons, isOpen, setIsOpen, showConfirmButton, doAfterSuccessCreate = () => { }, contentProps, ...props }) {
|
|
33
|
+
/**
|
|
34
|
+
* Handles modal closure and executes post-creation callback
|
|
35
|
+
* @param data The created data
|
|
36
|
+
*/
|
|
37
|
+
const handleCloseModal = (0, react_1.useCallback)(function handleCloseModal(data) {
|
|
38
|
+
setIsOpen(false);
|
|
39
|
+
doAfterSuccessCreate(data);
|
|
40
|
+
}, [name]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(modals_1.Modal, { title: title, description: description, setIsOpen: setIsOpen, isOpen: isOpen, showConfirmButton: showConfirmButton, contentProps: {
|
|
42
|
+
...contentProps,
|
|
43
|
+
className: (0, tailwind_merge_1.twMerge)(contentProps?.className, "max-h-[80vh] md:max-h-[90vh] overflow-auto"),
|
|
44
|
+
}, children: (0, jsx_runtime_1.jsx)(create_data_wrapper_1.default, { ...props, name: name, doAfterSuccessCreate: handleCloseModal, formProps: {
|
|
45
|
+
...formProps,
|
|
46
|
+
keepIsLoading: keepIsLoading,
|
|
47
|
+
requiredData: requiredData,
|
|
48
|
+
schema: schema,
|
|
49
|
+
} }) }));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=create.modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.modal.js","sourceRoot":"","sources":["../../../src/components/modals/create.modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AA4Eb,kCAwDC;;AAlID,iCAA2C;AAE3C,mDAAyC;AACzC,oDAA4D;AAC5D,mGAAyE;AAmDzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAwB,eAAe,CAA4B,EACjE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC/B,YAAY,EACZ,GAAG,KAAK,EACwD;IAChE;;;OAGG;IACH,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,SAAS,gBAAgB,CAAC,IAAS;QACjC,SAAU,CAAC,KAAK,CAAC,CAAC;QAClB,oBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO,CACL,uBAAC,cAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,SAAS,EAAE,IAAA,wBAAO,EAChB,YAAY,EAAE,SAAS,EACvB,4CAA4C,CAC7C;SACF,YAED,uBAAC,6BAAiB,OACZ,KAAK,EACT,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,gBAAgB,EACtC,SAAS,EAAE;gBACT,GAAI,SAAiB;gBACrB,aAAa,EAAE,aAAa;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,MAAM,EAAE,MAAM;aACf,GACD,GACI,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ModalProps } from "@nomos-ui/common/modals";
|
|
4
|
+
/**
|
|
5
|
+
* Props for the UpdateDataModal component
|
|
6
|
+
* @template DataType The type of data being updated
|
|
7
|
+
*/
|
|
8
|
+
export type UpdateDataModalProps<DataType, FormProps = any> = {
|
|
9
|
+
/** Optional ID for the modal */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Name identifier for the form/modal - used to generate API mutation name if not provided */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Form component rendered inside the modal */
|
|
14
|
+
Form: (props: any) => React.JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* Redux API mutation name (e.g., 'useUpdateProductMutation')
|
|
17
|
+
* If not provided, will be generated as `useUpdate${pascalCase(name)}Mutation`
|
|
18
|
+
*/
|
|
19
|
+
updateMutation?: string;
|
|
20
|
+
/** Title displayed in the modal header */
|
|
21
|
+
title: string;
|
|
22
|
+
/** Optional description displayed under the title */
|
|
23
|
+
description?: string;
|
|
24
|
+
/**
|
|
25
|
+
* When true, maintains the form button loading state after submission
|
|
26
|
+
* Useful for extra processing after data update
|
|
27
|
+
*/
|
|
28
|
+
keepIsLoading?: boolean;
|
|
29
|
+
/** Additional data passed to the form */
|
|
30
|
+
requiredData?: Record<string, any>;
|
|
31
|
+
/** Whether to show alert after success */
|
|
32
|
+
showAlertAfterSuccessUpdate?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Callback executed after successful update
|
|
35
|
+
* Receives updated data
|
|
36
|
+
*/
|
|
37
|
+
doAfterSuccessUpdate?: (x: any) => Promise<any> | void;
|
|
38
|
+
/** Transform form data before sending to mutation */
|
|
39
|
+
cleanDataBeforeUpdate?: (data: any) => void;
|
|
40
|
+
/** Custom class applied to the modal container */
|
|
41
|
+
className?: string;
|
|
42
|
+
/** Zod schema for form validation */
|
|
43
|
+
schema: z.ZodObject<any>;
|
|
44
|
+
/** Buttons displayed next to the modal title */
|
|
45
|
+
topButtons?: React.ReactNode;
|
|
46
|
+
/** Additional props forwarded to the form */
|
|
47
|
+
formProps?: FormProps;
|
|
48
|
+
/** Props that apply to Radix Dialog content wrapper */
|
|
49
|
+
contentProps?: ModalProps;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* A generic modal component for updating data with form validation.
|
|
53
|
+
*
|
|
54
|
+
* @template DataType The type of data being updated
|
|
55
|
+
* @param props Component props combining UpdateDataModalProps and partial ModalProps
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <UpdateDataModal<UserData>
|
|
60
|
+
* name="user"
|
|
61
|
+
* title="Edit User"
|
|
62
|
+
* schema={userSchema}
|
|
63
|
+
* Form={UserForm}
|
|
64
|
+
* isOpen={isOpen}
|
|
65
|
+
* setIsOpen={setIsOpen}
|
|
66
|
+
* formProps={{ buttonLabel: "Save Changes" }}
|
|
67
|
+
* />
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export default function UpdateDataModal<DataType, FormProps = any>({ name, title, description, keepIsLoading, requiredData, schema, formProps, topButtons, isOpen, setIsOpen, showConfirmButton, doAfterSuccessUpdate, contentProps, ...props }: UpdateDataModalProps<DataType, FormProps> & Partial<ModalProps>): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
//# sourceMappingURL=update.modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.modal.d.ts","sourceRoot":"","sources":["../../../src/components/modals/update.modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAS,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,EAAE,SAAS,GAAG,GAAG,IAAI;IAC5D,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,0CAA0C;IAC1C,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACvD,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uDAAuD;IACvD,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,EACjE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,oBAA+B,EAC/B,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,2CAyCjE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.default = UpdateDataModal;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
11
|
+
const modals_1 = require("@nomos-ui/common/modals");
|
|
12
|
+
const update_data_wrapper_1 = __importDefault(require("../data-manipulation/update-data-wrapper"));
|
|
13
|
+
/**
|
|
14
|
+
* A generic modal component for updating data with form validation.
|
|
15
|
+
*
|
|
16
|
+
* @template DataType The type of data being updated
|
|
17
|
+
* @param props Component props combining UpdateDataModalProps and partial ModalProps
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <UpdateDataModal<UserData>
|
|
22
|
+
* name="user"
|
|
23
|
+
* title="Edit User"
|
|
24
|
+
* schema={userSchema}
|
|
25
|
+
* Form={UserForm}
|
|
26
|
+
* isOpen={isOpen}
|
|
27
|
+
* setIsOpen={setIsOpen}
|
|
28
|
+
* formProps={{ buttonLabel: "Save Changes" }}
|
|
29
|
+
* />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
function UpdateDataModal({ name, title, description, keepIsLoading, requiredData, schema, formProps, topButtons, isOpen, setIsOpen, showConfirmButton, doAfterSuccessUpdate = () => { }, contentProps, ...props }) {
|
|
33
|
+
/**
|
|
34
|
+
* Handles modal closure and runs post-success callback.
|
|
35
|
+
* @param data Updated data
|
|
36
|
+
*/
|
|
37
|
+
const handleCloseModal = (0, react_1.useCallback)(function handleCloseModal(data) {
|
|
38
|
+
setIsOpen(false);
|
|
39
|
+
doAfterSuccessUpdate(data);
|
|
40
|
+
}, [name]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(modals_1.Modal, { title: title, description: description, setIsOpen: setIsOpen, isOpen: isOpen, showConfirmButton: showConfirmButton, contentProps: {
|
|
42
|
+
...contentProps,
|
|
43
|
+
className: (0, tailwind_merge_1.twMerge)(contentProps?.className, "max-h-[80vh] md:max-h-[90vh] overflow-auto"),
|
|
44
|
+
}, children: (0, jsx_runtime_1.jsx)(update_data_wrapper_1.default, { ...props, name: name, doAfterSuccessUpdate: handleCloseModal, formProps: {
|
|
45
|
+
...formProps,
|
|
46
|
+
keepIsLoading,
|
|
47
|
+
requiredData,
|
|
48
|
+
schema,
|
|
49
|
+
} }) }));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=update.modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.modal.js","sourceRoot":"","sources":["../../../src/components/modals/update.modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AA2Eb,kCAwDC;;AAjID,iCAA2C;AAE3C,mDAAyC;AACzC,oDAA4D;AAC5D,mGAAyE;AAkDzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAwB,eAAe,CAA4B,EACjE,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,oBAAoB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC/B,YAAY,EACZ,GAAG,KAAK,EACwD;IAChE;;;OAGG;IACH,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,SAAS,gBAAgB,CAAC,IAAS;QACjC,SAAU,CAAC,KAAK,CAAC,CAAC;QAClB,oBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO,CACL,uBAAC,cAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE;YACZ,GAAG,YAAY;YACf,SAAS,EAAE,IAAA,wBAAO,EAChB,YAAY,EAAE,SAAS,EACvB,4CAA4C,CAC7C;SACF,YAED,uBAAC,6BAAiB,OACZ,KAAK,EACT,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,gBAAgB,EACtC,SAAS,EAAE;gBACT,GAAI,SAAiB;gBACrB,aAAa;gBACb,YAAY;gBACZ,MAAM;aACP,GACD,GACI,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-title-and-description.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/components/page-title-and-description.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,KAAK,EACL,WAAW,GACZ,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,YAAY,CASf"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = PageTitleAndDescription;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
function PageTitleAndDescription({ title, description, }) {
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { className: "font-bold md:text-2xl text-xl text-zinc-800 line-clamp-1", children: title }), (0, jsx_runtime_1.jsx)("p", { className: "text-zinc-600 line-clamp-1", children: description })] }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=page-title-and-description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-title-and-description.js","sourceRoot":"","sources":["../../../../src/components/pages/components/page-title-and-description.tsx"],"names":[],"mappings":";;AAEA,0CAeC;;AAfD,SAAwB,uBAAuB,CAAC,EAC9C,KAAK,EACL,WAAW,GAIZ;IACC,OAAO,CACL,4CACE,+BAAI,SAAS,EAAC,0DAA0D,YACrE,KAAK,GACH,EACL,8BAAG,SAAS,EAAC,4BAA4B,YAAE,WAAW,GAAK,IACvD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
type CreateDataPageProps<DataType> = {
|
|
4
|
+
id?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
Form: (props: any) => React.JSX.Element;
|
|
7
|
+
createMutation?: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
keepIsLoading?: boolean;
|
|
11
|
+
requiredData?: Record<string, any>;
|
|
12
|
+
showAlertAfterSuccessCreate?: boolean;
|
|
13
|
+
doAfterSuccessCreate?: (x: any) => Promise<any> | void;
|
|
14
|
+
cleanDataBeforeCreate?: (data: any) => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
schema: z.ZodObject<any>;
|
|
17
|
+
topButtons?: any;
|
|
18
|
+
formProps: {
|
|
19
|
+
buttonLabel: string;
|
|
20
|
+
className?: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export default function CreateDataPage<DataType>({ name, title, description, keepIsLoading, requiredData, schema, formProps, topButtons, ...props }: CreateDataPageProps<DataType>): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/create-data-page/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,KAAK,mBAAmB,CAAC,QAAQ,IAAI;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,QAAQ,EAAE,EAC/C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACT,EAAE,mBAAmB,CAAC,QAAQ,CAAC,2CAwC/B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = CreateDataPage;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const navigation_1 = require("next/navigation");
|
|
9
|
+
const create_data_wrapper_1 = __importDefault(require("../../data-manipulation/create-data-wrapper"));
|
|
10
|
+
const page_title_and_description_1 = __importDefault(require("../components/page-title-and-description"));
|
|
11
|
+
function CreateDataPage({ name, title, description, keepIsLoading, requiredData, schema, formProps, topButtons, ...props }) {
|
|
12
|
+
const pathname = (0, navigation_1.usePathname)();
|
|
13
|
+
const listHref = pathname.split("/");
|
|
14
|
+
listHref.pop();
|
|
15
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "grid md:gap-4 gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex justify-between items-center", children: (0, jsx_runtime_1.jsx)(page_title_and_description_1.default, { title: title, description: description }) }), (0, jsx_runtime_1.jsx)("div", { className: "bg-background rounded-lg lg:h-[calc(100vh-154px)] h-[calc(100vh-140px)] md:p-4 p-2 border-input border ", children: (0, jsx_runtime_1.jsx)("div", { className: "main-container-content", children: (0, jsx_runtime_1.jsx)(create_data_wrapper_1.default, { ...props, name: name, formProps: {
|
|
16
|
+
...formProps,
|
|
17
|
+
keepIsLoading: keepIsLoading,
|
|
18
|
+
requiredData: requiredData,
|
|
19
|
+
schema: schema,
|
|
20
|
+
} }) }) })] }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pages/create-data-page/index.tsx"],"names":[],"mappings":";;;;;AA2BA,iCAkDC;;AA3ED,gDAA8C;AAC9C,sGAA4E;AAC5E,0GAA+E;AAuB/E,SAAwB,cAAc,CAAW,EAC/C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACsB;IAC9B,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAEf,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAClC,gCAAK,SAAS,EAAC,mCAAmC,YAChD,uBAAC,oCAAuB,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAI,GAc/D,EACN,gCAAK,SAAS,EAAC,yGAAyG,YACtH,gCAAK,SAAS,EAAC,wBAAwB,YACrC,uBAAC,6BAAiB,OACZ,KAAK,EACT,IAAI,EAAE,IAAI,EACV,SAAS,EAAE;4BACT,GAAG,SAAS;4BACZ,aAAa,EAAE,aAAa;4BAC5B,YAAY,EAAE,YAAY;4BAC1B,MAAM,EAAE,MAAM;yBACf,GACD,GACE,GACF,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ListPageProps } from "./list-page";
|
|
2
|
+
import { ListPageTemplateProps } from "./template";
|
|
3
|
+
import { BaseData } from "./table/table";
|
|
4
|
+
type HeaderActionButtonsProps<T extends BaseData> = Partial<ListPageTemplateProps<T>>;
|
|
5
|
+
export default function HeaderActionButtons<T extends BaseData>({ topButtons, onClickCreate, }: HeaderActionButtonsProps<T> & Partial<ListPageProps<T>>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=header-action-buttons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-action-buttons.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/list-page/header-action-buttons.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,KAAK,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,OAAO,CACzD,qBAAqB,CAAC,CAAC,CAAC,CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,EAC9D,UAAU,EACV,aAAa,GACd,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,2CAwBzD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.default = HeaderActionButtons;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const navigation_1 = require("next/navigation");
|
|
8
|
+
const common_1 = require("@nomos-ui/common");
|
|
9
|
+
function HeaderActionButtons({ topButtons, onClickCreate, }) {
|
|
10
|
+
const pathname = (0, navigation_1.usePathname)();
|
|
11
|
+
const router = (0, navigation_1.useRouter)();
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: " flex items-center justify-between small-sm:mb-2 overflow-auto ", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsxs)(common_1.Button, { onClick: (e) => {
|
|
13
|
+
if (!onClickCreate)
|
|
14
|
+
router.push(`${pathname}/create`);
|
|
15
|
+
else
|
|
16
|
+
onClickCreate(e);
|
|
17
|
+
}, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.PlusIcon, { size: 16 }), (0, jsx_runtime_1.jsx)("span", { className: "hidden sm:inline", children: "Adicionar " })] }), topButtons &&
|
|
18
|
+
topButtons.map((button, i) => ((0, jsx_runtime_1.jsx)("div", { children: button }, i)))] }) }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=header-action-buttons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-action-buttons.js","sourceRoot":"","sources":["../../../../src/components/pages/list-page/header-action-buttons.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAcb,sCA2BC;;AAvCD,+CAAwC;AACxC,gDAAyD;AAEzD,6CAA0C;AAS1C,SAAwB,mBAAmB,CAAqB,EAC9D,UAAU,EACV,aAAa,GAC2C;IACxD,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAE3B,OAAO,CACL,gCAAK,SAAS,EAAC,iEAAiE,YAC9E,iCAAK,SAAS,EAAC,yBAAyB,aACtC,wBAAC,eAAM,IACL,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACb,IAAI,CAAC,aAAa;4BAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;;4BACjD,aAAa,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,aAED,uBAAC,uBAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACtB,iCAAM,SAAS,EAAC,kBAAkB,2BAAkB,IAC7C,EAER,UAAU;oBACT,UAAU,CAAC,GAAG,CAAC,CAAC,MAAuB,EAAE,CAAS,EAAE,EAAE,CAAC,CACrD,0CAAc,MAAM,IAAV,CAAC,CAAgB,CAC5B,CAAC,IACA,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ListPageTemplateProps } from "./template";
|
|
3
|
+
import { TableField } from "./table/types";
|
|
4
|
+
import { BaseData } from "./table/table";
|
|
5
|
+
export type ListPageProps<T extends BaseData> = {
|
|
6
|
+
/** Name of the tag the queried in camelCase and singular. */
|
|
7
|
+
name: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
fields: TableField<T>[];
|
|
11
|
+
params?: Record<string, any>;
|
|
12
|
+
templateProps?: {
|
|
13
|
+
tableContainerProps: React.ComponentProps<"div">;
|
|
14
|
+
} & React.ComponentProps<"div">;
|
|
15
|
+
} & React.ComponentProps<"div">;
|
|
16
|
+
export default function ListPage<T extends {
|
|
17
|
+
id: string;
|
|
18
|
+
}>({ name, title, description, CreateDataModal, UpdateDataModal, fields, onDeleteSuccess, cleanDataForTemplate, params, className, templateProps, ...props }: ListPageProps<T> & ListPageTemplateProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=list-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-page.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/list-page/list-page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAyB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAc,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9C,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE;QACd,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAClD,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;CACjC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EACzD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,MAAM,EACN,eAA0B,EAC1B,oBAAoB,EACpB,MAAW,EACX,SAAS,EACT,aAAa,EACb,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,2CA+B7C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = ListPage;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const template_1 = __importDefault(require("./template"));
|
|
9
|
+
const page_title_and_description_1 = __importDefault(require("../components/page-title-and-description"));
|
|
10
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
11
|
+
function ListPage({ name, title, description, CreateDataModal, UpdateDataModal, fields, onDeleteSuccess = () => { }, cleanDataForTemplate, params = {}, className, templateProps, ...props }) {
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_merge_1.twMerge)("flex flex-col gap-4", className), ...props, children: [(title || description) && ((0, jsx_runtime_1.jsx)(page_title_and_description_1.default, { title: title, description: description })), (0, jsx_runtime_1.jsx)(template_1.default, { name: name, fields: fields, onDeleteSuccess: onDeleteSuccess, cleanDataForTemplate: cleanDataForTemplate, CreateDataModal: CreateDataModal, UpdateDataModal: UpdateDataModal, params: params, ...templateProps, className: (0, tailwind_merge_1.twMerge)("h-[calc(100%-68px)] bg-background border border-input p-2 sm:p-4 rounded-lg", templateProps?.className), tableContainerProps: {
|
|
13
|
+
...templateProps?.tableContainerProps,
|
|
14
|
+
className: (0, tailwind_merge_1.twMerge)("flex flex-col overflow-y-auto rounded-md md:h-[calc(100%-82px)] h-full overflow-auto md:overflow-x-auto", templateProps?.tableContainerProps?.className),
|
|
15
|
+
} })] }) }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=list-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-page.js","sourceRoot":"","sources":["../../../../src/components/pages/list-page/list-page.tsx"],"names":[],"mappings":";;;;;AAmBA,2BA4CC;;AA9DD,0DAAqE;AAErE,0GAA+E;AAC/E,mDAAyC;AAezC,SAAwB,QAAQ,CAA2B,EACzD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,MAAM,EACN,eAAe,GAAG,GAAG,EAAE,GAAE,CAAC,EAC1B,oBAAoB,EACpB,MAAM,GAAG,EAAE,EACX,SAAS,EACT,aAAa,EACb,GAAG,KAAK,EACoC;IAC5C,OAAO,CACL,2DACE,iCAAK,SAAS,EAAE,IAAA,wBAAO,EAAC,qBAAqB,EAAE,SAAS,CAAC,KAAM,KAAK,aACjE,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CACzB,uBAAC,oCAAuB,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAI,CACpE,EACD,uBAAC,kBAAgB,IACf,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,KACV,aAAa,EACjB,SAAS,EAAE,IAAA,wBAAO,EAChB,6EAA6E,EAC7E,aAAa,EAAE,SAAS,CACzB,EACD,mBAAmB,EAAE;wBACnB,GAAG,aAAa,EAAE,mBAAmB;wBACrC,SAAS,EAAE,IAAA,wBAAO,EAChB,yGAAyG,EACzG,aAAa,EAAE,mBAAmB,EAAE,SAAS,CAC9C;qBACF,GACD,IACE,GACL,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { BaseData } from "./table";
|
|
3
|
+
import { LucideProps } from "lucide-react";
|
|
4
|
+
export type ActionButtonProps<T extends BaseData> = {
|
|
5
|
+
item: T;
|
|
6
|
+
Icon: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
onClick?: (item?: T, e?: React.MouseEvent<HTMLButtonElement>) => void;
|
|
9
|
+
className?: string;
|
|
10
|
+
} & Omit<React.ComponentProps<"button">, "onClick">;
|
|
11
|
+
export default function ActionButton<T extends BaseData>({ item, Icon, children, onClick, className, ...props }: ActionButtonProps<T>): ReactElement;
|
|
12
|
+
//# sourceMappingURL=action-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,IAAI;IAClD,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,KAAK,CAAC,yBAAyB,CACnC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAC9D,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,EACvD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,YAAY,CAmBrC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = ActionButton;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
6
|
+
function ActionButton({ item, Icon, children, onClick, className, ...props }) {
|
|
7
|
+
return ((0, jsx_runtime_1.jsxs)("button", { ...props, className: (0, tailwind_merge_1.twMerge)("bg-transparent hover:bg-zinc-100/80 text-zinc-700 justify-start flex items-center p-1.5 px-4 gap-4 w-[200px]", className), ...(onClick && {
|
|
8
|
+
onClick: (e) => {
|
|
9
|
+
e.preventDefault();
|
|
10
|
+
if (onClick)
|
|
11
|
+
onClick(item, e);
|
|
12
|
+
},
|
|
13
|
+
}), children: [(0, jsx_runtime_1.jsx)(Icon, { size: 16 }), (0, jsx_runtime_1.jsx)("span", { children: children })] }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=action-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.js","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/action-button.tsx"],"names":[],"mappings":";;AAeA,+BA0BC;;AAtCD,mDAAyC;AAYzC,SAAwB,YAAY,CAAqB,EACvD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACa;IACrB,OAAO,CACL,uCACM,KAAK,EACT,SAAS,EAAE,IAAA,wBAAO,EAChB,8GAA8G,EAC9G,SAAS,CACV,KACG,CAAC,OAAO,IAAI;YACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAS,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,aAEF,uBAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,EAClB,2CAAO,QAAQ,GAAQ,IAChB,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { ModalProps } from "@nomos-ui/common/modals";
|
|
3
|
+
export default function ConfirmDeleteModal({ setIsOpen, onChoose, ...props }: Omit<ModalProps, "children"> & {
|
|
4
|
+
onChoose: (choice: boolean) => void;
|
|
5
|
+
}): ReactElement;
|
|
6
|
+
//# sourceMappingURL=confirm-delete.modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-delete.modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/confirm-delete.modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAS,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,GAAG,YAAY,CA8Bf"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = ConfirmDeleteModal;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const common_1 = require("@nomos-ui/common");
|
|
6
|
+
const modals_1 = require("@nomos-ui/common/modals");
|
|
7
|
+
function ConfirmDeleteModal({ setIsOpen, onChoose, ...props }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(modals_1.Modal, { title: "Tem Certeza?", description: "Tem Certeza Que Pretende Deletar?", ...props, contentProps: { className: "top-[30%]" }, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 md:flex-row flex-col items-center justify-center md:justify-end mt-8", children: [(0, jsx_runtime_1.jsx)(common_1.Button, { onClick: () => {
|
|
9
|
+
onChoose(false);
|
|
10
|
+
setIsOpen?.(false);
|
|
11
|
+
}, variant: "outline", children: "Cancelar" }), (0, jsx_runtime_1.jsx)(common_1.Button, { onClick: () => {
|
|
12
|
+
onChoose(true);
|
|
13
|
+
setIsOpen?.(false);
|
|
14
|
+
}, variant: "destructive", children: "Confimar" })] }) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=confirm-delete.modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-delete.modal.js","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/confirm-delete.modal.tsx"],"names":[],"mappings":";;AAIA,qCAoCC;;AAvCD,6CAA0C;AAC1C,oDAA4D;AAE5D,SAAwB,kBAAkB,CAAC,EACzC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAGT;IACC,OAAO,CACL,uBAAC,cAAK,IACJ,KAAK,EAAE,cAAc,EACrB,WAAW,EAAC,mCAAmC,KAC3C,KAAK,EACT,YAAY,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,YAExC,iCAAK,SAAS,EAAC,iFAAiF,aAC9F,uBAAC,eAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAChB,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC,EACD,OAAO,EAAC,SAAS,yBAGV,EACT,uBAAC,eAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACf,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC,EACD,OAAO,EAAC,aAAa,yBAGd,IACL,GACA,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BaseData } from "./table";
|
|
3
|
+
import { TableField } from "./types";
|
|
4
|
+
export default function TableData<T extends BaseData>({ className, availableFields, field, item, renderItem, selectedOptions, index, ...props }: {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
availableFields: TableField<T>[];
|
|
7
|
+
field: TableField<T>;
|
|
8
|
+
item: T;
|
|
9
|
+
renderItem?: (value: React.ReactNode) => React.ReactNode;
|
|
10
|
+
selectedOptions: any[];
|
|
11
|
+
index: number;
|
|
12
|
+
} & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Sets a value at a nested path in an object using dot or bracket notation
|
|
15
|
+
* @param path - Path with dots or brackets (e.g., "brand.name" or "brand[name]")
|
|
16
|
+
* @param value - Value to set at the path
|
|
17
|
+
* @returns Object with nested structure
|
|
18
|
+
*/
|
|
19
|
+
export declare function setNestedValue(path: string, value: any): Record<string, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Gets a value from a nested path in an object using dot or bracket notation
|
|
22
|
+
* @param obj - The object to get the value from
|
|
23
|
+
* @param path - Path with dots or brackets (e.g., "brand.name" or "brand[name]")
|
|
24
|
+
* @returns The value at the path, or undefined if not found
|
|
25
|
+
*/
|
|
26
|
+
export declare function getNestedValue(obj: Record<string, any>, path: string): any;
|
|
27
|
+
//# sourceMappingURL=table-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-data.d.ts","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/table-data.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,EACpD,SAAS,EACT,eAAe,EACf,KAAK,EACL,IAAI,EACJ,UAAoC,EACpC,eAAe,EACf,KAAK,EACL,GAAG,KAAK,EACT,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IACzD,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,uDA2CvC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAU5E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAG1E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = TableData;
|
|
4
|
+
exports.setNestedValue = setNestedValue;
|
|
5
|
+
exports.getNestedValue = getNestedValue;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
8
|
+
function TableData({ className, availableFields, field, item, renderItem = (value) => (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: value }), selectedOptions, index, ...props }) {
|
|
9
|
+
let value = getNestedValue(item, field.name);
|
|
10
|
+
if (field.type === "DATE" && value)
|
|
11
|
+
value = new Date(value).toUTCString();
|
|
12
|
+
if ((selectedOptions?.includes(field.name) && availableFields?.[0]?.label) ||
|
|
13
|
+
index === 0)
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-has-transformer": !!field.props?.transform, ...props, ...field.props, onClick: (e) => (field.dataProps?.onClick || field.props?.onClick)?.(item, field, e), onMouseEnter: (e) => (field.dataProps?.onMouseEnter || field.props?.onMouseEnter)?.(item, field, e), onMouseLeave: (e) => (field.dataProps?.onMouseLeave || field.props?.onMouseLeave)?.(item, field, e), className: (0, tailwind_merge_1.twMerge)("text-left w-40 p-2 data-[has-transformer=true]:py-0 truncate flex-shrink-0", className), children: field.props?.transform
|
|
15
|
+
? renderItem(field?.props?.transform(item))
|
|
16
|
+
: renderItem(value !== null && value !== undefined ? String(value) : "-") }));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Sets a value at a nested path in an object using dot or bracket notation
|
|
20
|
+
* @param path - Path with dots or brackets (e.g., "brand.name" or "brand[name]")
|
|
21
|
+
* @param value - Value to set at the path
|
|
22
|
+
* @returns Object with nested structure
|
|
23
|
+
*/
|
|
24
|
+
function setNestedValue(path, value) {
|
|
25
|
+
const keys = parsePath(path);
|
|
26
|
+
if (keys.length === 1)
|
|
27
|
+
return { [keys[0]]: value };
|
|
28
|
+
return keys.reduceRight((acc, key, index) => {
|
|
29
|
+
if (index === keys.length - 1)
|
|
30
|
+
return { [key]: value };
|
|
31
|
+
return { [key]: acc };
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Gets a value from a nested path in an object using dot or bracket notation
|
|
36
|
+
* @param obj - The object to get the value from
|
|
37
|
+
* @param path - Path with dots or brackets (e.g., "brand.name" or "brand[name]")
|
|
38
|
+
* @returns The value at the path, or undefined if not found
|
|
39
|
+
*/
|
|
40
|
+
function getNestedValue(obj, path) {
|
|
41
|
+
const keys = parsePath(path);
|
|
42
|
+
return keys.reduce((acc, key) => acc?.[key], obj);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Parses a path string into an array of keys
|
|
46
|
+
* Handles both dot notation (brand.name) and bracket notation (brand[name])
|
|
47
|
+
* @param path - Path string to parse
|
|
48
|
+
* @returns Array of keys
|
|
49
|
+
*/
|
|
50
|
+
function parsePath(path) {
|
|
51
|
+
// Replace brackets with dots and remove the brackets
|
|
52
|
+
// e.g., "brand[name]" -> "brand.name", "brand[0]" -> "brand.0"
|
|
53
|
+
const normalized = path.replace(/\[([^\]]+)\]/g, ".$1");
|
|
54
|
+
// Split by dots and filter out empty strings
|
|
55
|
+
return normalized.split(".").filter((key) => key.length > 0);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=table-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-data.js","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/table-data.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TypedMutationTrigger, TypedUseMutationResult } from "@reduxjs/toolkit/query/react";
|
|
2
|
+
import { ActionButtonProps } from "./action-button";
|
|
3
|
+
import { ListPageTemplateProps } from "../template";
|
|
4
|
+
import { SuccessComponentProps } from "../../../query-boundary";
|
|
5
|
+
export type TableActionOption<T extends BaseData> = Omit<ActionButtonProps<T>, "item">;
|
|
6
|
+
export type TableDefaultActionOption<T extends BaseData> = TableActionOption<T> & {
|
|
7
|
+
hidden?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type TableActionTypes<T extends BaseData> = {
|
|
10
|
+
/**
|
|
11
|
+
* Adds more item actions
|
|
12
|
+
*/
|
|
13
|
+
actionButtons?: TableActionOption<T>[];
|
|
14
|
+
defaultActionButtons?: {
|
|
15
|
+
edit?: TableDefaultActionOption<T>;
|
|
16
|
+
delete?: TableDefaultActionOption<T>;
|
|
17
|
+
cancel?: TableDefaultActionOption<T>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export type TableProps<T extends BaseData> = {
|
|
21
|
+
name: string;
|
|
22
|
+
handleDelete: () => void;
|
|
23
|
+
selectedItem: BaseData | null;
|
|
24
|
+
setSelectedItem: React.Dispatch<React.SetStateAction<BaseData | null>>;
|
|
25
|
+
isDeleting: boolean;
|
|
26
|
+
deleteMutationResult: TypedUseMutationResult<T, any, any>;
|
|
27
|
+
selectedOptions: any[];
|
|
28
|
+
setResponseData: React.Dispatch<React.SetStateAction<{
|
|
29
|
+
total: number;
|
|
30
|
+
data: Record<string, any>[];
|
|
31
|
+
results: number;
|
|
32
|
+
} | undefined>>;
|
|
33
|
+
setTriggerReloadAgain?: React.Dispatch<React.SetStateAction<(() => void) | undefined>>;
|
|
34
|
+
deleteData: TypedMutationTrigger<{
|
|
35
|
+
id: string;
|
|
36
|
+
}, any, any>;
|
|
37
|
+
} & Partial<ListPageTemplateProps<T>> & TableActionTypes<T>;
|
|
38
|
+
export type BaseData = {
|
|
39
|
+
id?: string;
|
|
40
|
+
[x: string]: any;
|
|
41
|
+
};
|
|
42
|
+
export default function Table<T extends BaseData>({ data: responseData, onClickUpdate, fields, selectedItem, setSelectedItem, deleteMutationResult, selectedOptions, setResponseData, onDeleteSuccess, deleteData, actionButtons, defaultActionButtons, }: SuccessComponentProps<T[], TableProps<T>>): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/components/pages/list-page/table/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AAetC,OAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CACtD,iBAAiB,CAAC,CAAC,CAAC,EACpB,MAAM,CACP,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IACrD,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IAAI;IACjD;;OAEG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE;QACrB,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;KACtC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAC7B,KAAK,CAAC,cAAc,CAChB;QACE,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;KACjB,GACD,SAAS,CACZ,CACF,CAAC;IACF,qBAAqB,CAAC,EAAE,KAAK,CAAC,QAAQ,CACpC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAC/C,CAAC;IACF,UAAU,EAAE,oBAAoB,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GACnC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,EAChD,IAAI,EAAE,YAAY,EAClB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,UAAU,EACV,aAAa,EACb,oBAAoB,GACrB,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,2CAkV3C"}
|