diefra_ecm_ui 1.1.0 → 1.2.0
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/components/Attachment/index.d.ts +4 -1
- package/dist/components/Help/index.d.ts +11 -0
- package/dist/components/Input/index.d.ts +4 -1
- package/dist/components/Modal/index.d.ts +1 -1
- package/dist/components/Select/index.d.ts +4 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/diefra_ecm_ui.css +1 -1
- package/dist/index.cjs +15 -15
- package/dist/index.js +706 -710
- package/package.json +1 -1
|
@@ -8,6 +8,9 @@ interface AttachmentProps {
|
|
|
8
8
|
onChangeManual?: (val: string) => void;
|
|
9
9
|
forceReadOnly?: boolean;
|
|
10
10
|
forceHidden?: boolean;
|
|
11
|
+
helpText?: React.ReactNode;
|
|
12
|
+
helpTitle?: string;
|
|
13
|
+
helpWidth?: string;
|
|
11
14
|
}
|
|
12
|
-
declare const _default: React.MemoExoticComponent<({ name, label, help, valueManual, onChangeManual, forceReadOnly, forceHidden, }: AttachmentProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
15
|
+
declare const _default: React.MemoExoticComponent<({ name, label, help, valueManual, onChangeManual, forceReadOnly, forceHidden, helpText, helpTitle, helpWidth, }: AttachmentProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
13
16
|
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from '../../../node_modules/react';
|
|
2
|
+
|
|
3
|
+
export interface HelpProps {
|
|
4
|
+
text: React.ReactNode;
|
|
5
|
+
title?: string;
|
|
6
|
+
width?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function Help({ text, title, width, className }: HelpProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const _default: React.MemoExoticComponent<typeof Help>;
|
|
11
|
+
export default _default;
|
|
@@ -8,10 +8,13 @@ export interface InputProps {
|
|
|
8
8
|
className?: string;
|
|
9
9
|
forceReadOnly?: boolean;
|
|
10
10
|
forceHidden?: boolean;
|
|
11
|
+
helpText?: React.ReactNode;
|
|
12
|
+
helpTitle?: string;
|
|
13
|
+
helpWidth?: string;
|
|
11
14
|
valueManual?: string;
|
|
12
15
|
onChangeManual?: (value: string) => void;
|
|
13
16
|
errorManual?: string;
|
|
14
17
|
}
|
|
15
|
-
declare function InputCustom({ name, label, placeholder, type, mask, className, forceReadOnly, forceHidden, valueManual, onChangeManual, errorManual, }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare function InputCustom({ name, label, placeholder, type, mask, className, forceReadOnly, forceHidden, helpText, helpTitle, helpWidth, valueManual, onChangeManual, errorManual, }: InputProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
19
|
declare const _default: import('../../../node_modules/react').MemoExoticComponent<typeof InputCustom>;
|
|
17
20
|
export default _default;
|
|
@@ -9,4 +9,4 @@ export interface ModalProps {
|
|
|
9
9
|
onOpen?: () => void;
|
|
10
10
|
width?: string;
|
|
11
11
|
}
|
|
12
|
-
export default function Modal({ title, isOpen, onOpen, onClose, content, footer, width
|
|
12
|
+
export default function Modal({ title, isOpen, onOpen, onClose, content, footer, width }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -17,10 +17,13 @@ export interface SelectProps {
|
|
|
17
17
|
onSelect?: (option: SelectOption) => void;
|
|
18
18
|
forceReadOnly?: boolean;
|
|
19
19
|
forceHidden?: boolean;
|
|
20
|
+
helpText?: React.ReactNode;
|
|
21
|
+
helpTitle?: string;
|
|
22
|
+
helpWidth?: string;
|
|
20
23
|
valueManual?: any;
|
|
21
24
|
onChangeManual?: (value: any) => void;
|
|
22
25
|
errorManual?: string;
|
|
23
26
|
}
|
|
24
|
-
declare function Select({ name, label, options, placeholder, labelKey, valueKey, enableSearch, searchPlaceholder, loading, onSearchChange, debounceTime, onSelect, forceReadOnly, forceHidden, valueManual, onChangeManual, errorManual, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function Select({ name, label, options, placeholder, labelKey, valueKey, enableSearch, searchPlaceholder, loading, onSearchChange, debounceTime, onSelect, forceReadOnly, forceHidden, helpText, helpTitle, helpWidth, valueManual, onChangeManual, errorManual, }: SelectProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
28
|
declare const _default: import('../../../node_modules/react').MemoExoticComponent<typeof Select>;
|
|
26
29
|
export default _default;
|
|
@@ -8,3 +8,4 @@ export { default as StatusBadge } from './StatusBadge';
|
|
|
8
8
|
export { default as SimpleTable, type SimpleTableColumn, type SimpleTableRenderProps } from './SimpleTable';
|
|
9
9
|
export { default as Attachment } from './Attachment';
|
|
10
10
|
export { default as Modal } from './Modal';
|
|
11
|
+
export { default as Help } from './Help';
|
package/dist/diefra_ecm_ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.select-view{display:inline-block;width:100%;border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)}.select-wrapper{position:relative;width:100%}.select-control{height:34px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;width:100%;font-size:14px;font-weight:200;border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important;border:1px solid var(--dfe-border)!important;padding:10px 14px}.select-display{width:100%;height:34px;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.select-dropdown{position:absolute;top:66px;left:0;right:0;z-index:var(--z-dropdown);background-color:var(--dfe-bg)!important;border:1px solid var(--dfe-border)!important;border-radius:var(--dfe-radius-sm)!important;box-shadow:var(--dfe-shadow)!important}.select-search{padding:5px 10px;border-bottom:1px solid var(--dfe-border)}.select-search-input{width:100%;font-size:12px;padding:4px 10px;border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm)!important;background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important}.select-options{list-style:none;margin:0;padding:6px;max-height:200px;overflow-y:auto;margin-bottom:0!important}.select-option{padding:8px 16px;font-size:14px;cursor:pointer;border-radius:var(--dfe-radius-sm);white-space:nowrap;overflow:hidden;margin:0!important;color:var(--dfe-fg)!important}.select-option.readOnly{color:var(--dfe-muted-fg)!important;cursor:default}.handleHover:hover{background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important;font-weight:700}.border-red{border:1px solid var(--dfe-danger)!important}.text-danger{margin-top:4px;color:var(--dfe-danger)!important;margin-bottom:0!important}.select-wrapper>.readOnly{background-color:var(--dfe-muted)!important;color:var(--dfe-muted-fg)!important;cursor:default}.select-display.readOnly{opacity:.5}.checkbox-group-custom{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 20px}.custom-checkbox{position:relative;display:flex!important;align-items:center!important;gap:4px!important;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;white-space:noWrap;margin:0!important}.custom-checkbox input{position:absolute;display:none;cursor:pointer}.custom-checkbox .checkmark{position:relative;display:inline-flex;align-items:center;height:16px;width:16px;background-color:var(--dfe-bg);border:2px solid var(--dfe-border);border-radius:100%;transition:all .2s ease}.custom-checkbox.checked .checkmark,.custom-checkbox:hover .checkmark{border-color:var(--dfe-primary)}.custom-checkbox.checked .checkmark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:var(--dfe-primary);border-color:var(--dfe-primary);border-radius:100%}.custom-checkbox>span{width:50%;color:var(--dfe-fg);font-weight:200;margin:0}.custom-checkbox.readOnly,.checkbox-group-custom.readOnly{pointer-events:none;opacity:.9}.btn-group{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.btn-group>div.btn{--btnBase: var(--dfe-border);--btnText: var(--dfe-muted-fg);--bgColor: var(--customColor, var(--btnBase));--hoverColor: color-mix(in srgb, var(--bgColor), transparent 80%);--borderColor: color-mix(in srgb, var(--bgColor), var(--dfe-fg) 20%);height:35px!important;font-size:14px!important;min-width:200px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--btnBase);border-radius:var(--dfe-radius);cursor:pointer;background-color:var(--dfe-muted);color:var(--btnText)!important;transition:all .2s ease-in-out;font-weight:400}.btn-group>div.btn:hover{background-color:var(--hoverColor);border-color:var(--borderColor);color:color-mix(in srgb,var(--bgColor),var(--dfe-fg) 20%)!important}.btn-group div.btn.active{background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important;box-shadow:var(--dfe-shadow);font-weight:600;cursor:default}.btn-group div.btn i{font-size:1.1em}.btn-group.view-mode div.btn{opacity:.5;pointer-events:none;filter:grayscale(100%)}.btn-group.view-mode div.btn.active{opacity:1;filter:none;background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important}.column{display:flex!important;flex-direction:column!important}.dfe-datepicker-wrapper{position:relative;width:100%}.dfe-datepicker-inner-container{position:relative!important;width:100%!important;display:block!important}.dfe-datepicker-control{height:34px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;width:100%;font-size:14px;font-weight:200;border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important;border:1px solid var(--dfe-border)!important;padding:10px 14px}.dfe-datepicker-display{width:100%;height:34px;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.dfe-datepicker-icon{color:var(--dfe-fg);opacity:.6}.dfe-datepicker-dropdown{position:absolute!important;top:38px!important;left:0!important;width:320px!important;z-index:var(--z-dropdown)!important;background-color:var(--dfe-bg)!important;border:1px solid var(--dfe-border)!important;border-radius:var(--dfe-radius-sm)!important;box-shadow:var(--dfe-shadow)!important;padding:12px!important;display:block!important}.dfe-datepicker-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:12px!important;gap:6px!important}.dfe-datepicker-selectors{display:flex!important;gap:6px!important;flex:1!important}.dfe-datepicker-selectors .select-wrapper{margin-bottom:0!important;flex:1!important}.dfe-datepicker-selectors .select-wrapper label{display:none!important}.dfe-datepicker-selectors .select-control{height:30px!important;padding:4px 10px!important}.dfe-datepicker-selectors .select-display{height:30px!important;font-size:13px!important;font-weight:600!important}.dfe-datepicker-selectors .select-dropdown{top:32px!important;z-index:calc(var(--z-dropdown) + 20)!important}.dfe-datepicker-selectors>div:first-child .select-dropdown{left:0!important;right:auto!important;min-width:140px!important}.dfe-datepicker-selectors>div:last-child .select-dropdown{left:auto!important;right:0!important;min-width:150px!important}.dfe-datepicker-nav-btn{background:var(--dfe-muted);border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;color:var(--dfe-fg)}.dfe-datepicker-nav-btn:hover{background-color:var(--dfe-border)}.dfe-datepicker-grid-header{display:grid!important;grid-template-columns:repeat(7,1fr)!important;text-align:center!important;font-size:11px!important;font-weight:700!important;color:var(--dfe-muted-fg)!important;margin-bottom:6px!important;border-bottom:1px solid var(--dfe-border)!important;padding-bottom:4px!important}.dfe-datepicker-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:2px!important}.dfe-datepicker-day{padding:6px 0;font-size:13px;text-align:center;cursor:pointer;border-radius:var(--dfe-radius-sm);color:var(--dfe-fg)}.dfe-datepicker-day.outside{color:var(--dfe-muted-fg)!important;opacity:.3!important;cursor:default!important;pointer-events:none!important}.dfe-datepicker-day.today{color:var(--dfe-primary)!important;font-weight:700!important;border:1px dashed var(--dfe-primary)!important}.dfe-datepicker-day.selected{background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important;font-weight:700!important}.dfe-datepicker-day.handleHover:hover:not(.outside){background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important}.dfe-datepicker-wrapper .readOnly{background-color:var(--dfe-muted)!important;color:var(--dfe-muted-fg)!important;cursor:default!important}.dfe-datepicker-display.readOnly{opacity:.5!important}.status-badge{--badgeMainColor: var(--customColor, var(--dfe-muted-fg));background:linear-gradient(45deg,color-mix(in srgb,var(--badgeMainColor),white 20%) 0%,var(--badgeMainColor) 70%,color-mix(in srgb,var(--badgeMainColor),black 15%) 100%);width:100%;height:var(--dfe-height-control, 34px);display:flex;align-items:center;justify-content:center;gap:var(--dfe-gap-sm);border-radius:var(--dfe-radius-sm);color:#fff;font-weight:500;font-size:var(--dfe-font-sm);font-style:italic;box-shadow:var(--dfe-shadow);transition:transform .2s ease,box-shadow .2s ease}.status-badge i{font-size:16px}.status-badge.default{--badgeMainColor: var(--dfe-muted-fg);background:var(--dfe-muted);color:var(--dfe-muted-fg);border:1px solid var(--dfe-border);box-shadow:none}.form-group.hidden{display:none!important}.table-wrapper .header-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--dfe-gap-lg)}.table-wrapper .header-actions>h3{margin:0!important;font-weight:600;color:var(--dfe-fg)}.table-wrapper .header-actions>div{display:flex;gap:var(--dfe-gap-sm)}.table-wrapper .header-handle{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:var(--dfe-gap-lg)!important}.table-wrapper .handle-actions{display:flex;align-items:center;gap:var(--dfe-gap-lg)}.table-wrapper .handle-actions button{height:35px!important;display:flex;align-items:center;justify-content:center;font-size:16px!important}.table-wrapper{width:100%;height:100%;margin-bottom:20px;overflow:hidden;color:var(--dfe-fg)}.table-wrapper h3{margin:0!important;color:var(--dfe-fg)}.table-wrapper .table-fixed .table-scroll{overflow-x:auto}.table-wrapper .table-fluid .table-scroll{overflow-x:hidden}.table-wrapper .table-scroll{width:100%;position:relative;overflow:auto;height:400px}.table-wrapper .table-fixed th,.table-wrapper .table-fixed td{white-space:nowrap}.table-wrapper .table-custom{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--dfe-radius-sm);border:1px solid var(--dfe-border);background-color:var(--dfe-bg)}.table-wrapper .btn-add{background-color:var(--dfe-primary);border:none;color:var(--dfe-primary-fg)!important;border-radius:var(--dfe-radius-sm);padding:8px 16px;font-size:var(--dfe-font-sm)!important;cursor:pointer;transition:opacity .2s}.table-wrapper .btn-danger{background-color:var(--dfe-danger)!important;color:#fff!important;border:none}.table-wrapper .table-custom thead{background-color:var(--dfe-muted)}.table-wrapper .table-custom thead tr th{position:sticky;top:0;z-index:2;padding:12px 16px;border-bottom:2px solid var(--dfe-border);border-left:1px solid var(--dfe-border);text-align:left;font-weight:700;color:var(--dfe-fg);background-color:var(--dfe-muted)}.table-wrapper .table-custom thead tr th:first-child{border-left:none}.table-wrapper .table-custom tbody tr td{border-left:1px solid var(--dfe-border);padding:12px 16px;vertical-align:middle;background-color:var(--dfe-bg)}.table-wrapper .table-custom tbody tr td:first-child{border-left:none}.table-wrapper .table-custom tbody tr:nth-child(2n) td{background-color:color-mix(in srgb,var(--dfe-muted),transparent 50%)}.table-wrapper .table-custom tbody tr:hover td{background-color:var(--dfe-muted)}.table-wrapper .table-custom th,.table-wrapper .table-custom td{text-overflow:ellipsis}.table-wrapper .table-custom td{flex-wrap:nowrap}.table-wrapper .table-custom .form-control{margin-bottom:0!important;height:34px}.table-wrapper .text-center{text-align:center}.table-wrapper .table-custom tbody tr.empty-row td{height:200px;vertical-align:middle}.fluig-attachment{margin-bottom:var(--dfe-gap-lg)}.fluig-attachment__label{display:block;margin-bottom:var(--dfe-gap-xs);font-weight:700;color:var(--dfe-fg)}.fluig-attachment__box{display:flex;height:var(--dfe-height-control);justify-content:space-between;align-items:center;padding:0 var(--dfe-gap-md);border-radius:var(--dfe-radius);background-color:transparent;transition:all .2s ease-in-out;border:1px dashed var(--dfe-border);cursor:pointer;overflow:hidden;color:var(--dfe-fg)}.fluig-attachment__box--has-file{pointer-events:auto!important;cursor:pointer!important;border:1px solid var(--dfe-primary)}.fluig-attachment__box--uploading{cursor:wait;background-color:var(--dfe-muted)}.fluig-attachment__content{display:flex;align-items:center;flex:1;min-width:0;margin-right:var(--dfe-gap-md)}.fluig-attachment__icon{flex-shrink:0;margin-right:var(--dfe-gap-sm);color:var(--dfe-primary)}.fluig-attachment__filename{font-size:var(--dfe-font-sm);color:var(--dfe-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fluig-attachment__btn-remove{padding:4px!important;border:none;background:transparent;cursor:pointer;flex-shrink:0;display:flex;align-items:center;color:var(--dfe-danger)}.fluig-attachment__box--readonly-view{cursor:pointer!important;background-color:var(--dfe-muted);border:1px solid var(--dfe-border)}.fluig-attachment__box--uploading .flaticon-loading{animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{width:100dvw;height:100dvh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:fixed;top:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.modal-container{width:100%;max-width:90%;background-color:var(--dfe-bg);color:var(--dfe-fg);border-radius:var(--dfe-radius);overflow:hidden;box-shadow:var(--dfe-shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dfe-border)!important}.modal-header h3{font-weight:600;font-size:22px;margin:0!important;color:var(--dfe-fg)}.modal-header .btn-close-modal{background-color:var(--dfe-muted);color:var(--dfe-fg);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--dfe-radius-sm);cursor:pointer;border:1px solid var(--dfe-border);transition:opacity .2s ease}.modal-header .btn-close-modal:hover{opacity:.8}.modal-content{background-color:transparent!important;color:var(--dfe-fg)!important;border-radius:0!important;border:none!important;box-shadow:none!important;padding:var(--dfe-gap-lg)!important;max-height:80dvh;overflow-x:hidden;overflow-y:auto}.modal-footer{border:none!important}
|
|
1
|
+
.modal-overlay{width:100dvw;height:100dvh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:fixed;top:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.modal-container{width:100%;max-width:90%;background-color:var(--dfe-bg);color:var(--dfe-fg);border-radius:var(--dfe-radius);overflow:hidden;box-shadow:var(--dfe-shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dfe-border)!important;padding:16px!important}.modal-header h3{font-weight:600;font-size:18px!important;margin:0!important;color:var(--dfe-fg)}.modal-header .btn-close-modal{background-color:var(--dfe-muted);color:var(--dfe-fg);display:flex;align-items:center;justify-content:center;padding:4px;font-size:14px!important;border-radius:var(--dfe-radius-sm);cursor:pointer;border:1px solid var(--dfe-border);transition:opacity .2s ease}.modal-header .btn-close-modal:hover{opacity:.8}.modal-content{background-color:transparent!important;color:var(--dfe-fg)!important;border-radius:0!important;border:none!important;box-shadow:none!important;padding:var(--dfe-gap-lg)!important;max-height:80dvh;overflow-x:hidden;overflow-y:auto}.modal-footer{border:none!important;padding:16px!important}.modal-footer .btn{height:34px!important;font-size:14px!important}.dfe-help-indicator{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:transparent;border:1.5px solid var(--dfe-muted-fg);color:var(--dfe-muted-fg);font-size:13px;font-weight:700;font-family:monospace;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;flex-shrink:0}.dfe-help-indicator span{margin-top:1px}.dfe-help-indicator:hover{background-color:var(--dfe-primary);border-color:var(--dfe-primary);color:#fff;box-shadow:0 0 6px color-mix(in srgb,var(--dfe-primary),transparent 60%);transform:translateY(-1px)}.dfe-help-modal-body{color:var(--dfe-fg);font-size:var(--dfe-font-sm, 14px);line-height:1.6}.dfe-help-modal-footer{display:flex;justify-content:flex-end;width:100%}.dfe-help-btn{background-color:var(--dfe-primary)!important;border:none!important;color:var(--dfe-primary-fg, #ffffff)!important;padding:6px 16px!important;border-radius:var(--dfe-radius-sm)!important;font-weight:500;cursor:pointer;transition:opacity .2s ease}.dfe-help-btn:hover{opacity:.9}.dfe-flex-input-wrapper{display:flex!important;align-items:center!important;gap:var(--dfe-gap-sm, 8px)!important;width:100%!important}.dfe-flex-input-wrapper .form-control{flex:1;margin-bottom:0!important}.select-view{display:inline-block;width:100%;border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)}.select-wrapper{position:relative;width:100%}.select-control{height:34px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;width:100%;font-size:14px;font-weight:200;border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important;border:1px solid var(--dfe-border)!important;padding:10px 14px}.select-display{width:100%;height:34px;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.select-dropdown{position:absolute;top:66px;left:0;right:0;z-index:var(--z-dropdown);background-color:var(--dfe-bg)!important;border:1px solid var(--dfe-border)!important;border-radius:var(--dfe-radius-sm)!important;box-shadow:var(--dfe-shadow)!important}.select-search{padding:5px 10px;border-bottom:1px solid var(--dfe-border)}.select-search-input{width:100%;font-size:12px;padding:4px 10px;border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm)!important;background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important}.select-options{list-style:none;margin:0;padding:6px;max-height:200px;overflow-y:auto;margin-bottom:0!important}.select-option{padding:8px 16px;font-size:14px;cursor:pointer;border-radius:var(--dfe-radius-sm);white-space:nowrap;overflow:hidden;margin:0!important;color:var(--dfe-fg)!important}.select-option.readOnly{color:var(--dfe-muted-fg)!important;cursor:default}.handleHover:hover{background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important;font-weight:700}.border-red{border:1px solid var(--dfe-danger)!important}.text-danger{margin-top:4px;color:var(--dfe-danger)!important;margin-bottom:0!important}.select-wrapper>.readOnly{background-color:var(--dfe-muted)!important;color:var(--dfe-muted-fg)!important;cursor:default}.select-display.readOnly{opacity:.5}.checkbox-group-custom{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 20px}.custom-checkbox{position:relative;display:flex!important;align-items:center!important;gap:4px!important;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;white-space:noWrap;margin:0!important}.custom-checkbox input{position:absolute;display:none;cursor:pointer}.custom-checkbox .checkmark{position:relative;display:inline-flex;align-items:center;height:16px;width:16px;background-color:var(--dfe-bg);border:2px solid var(--dfe-border);border-radius:100%;transition:all .2s ease}.custom-checkbox.checked .checkmark,.custom-checkbox:hover .checkmark{border-color:var(--dfe-primary)}.custom-checkbox.checked .checkmark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:var(--dfe-primary);border-color:var(--dfe-primary);border-radius:100%}.custom-checkbox>span{width:50%;color:var(--dfe-fg);font-weight:200;margin:0}.custom-checkbox.readOnly,.checkbox-group-custom.readOnly{pointer-events:none;opacity:.9}.btn-group{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.btn-group>div.btn{--btnBase: var(--dfe-border);--btnText: var(--dfe-muted-fg);--bgColor: var(--customColor, var(--btnBase));--hoverColor: color-mix(in srgb, var(--bgColor), transparent 80%);--borderColor: color-mix(in srgb, var(--bgColor), var(--dfe-fg) 20%);height:35px!important;font-size:14px!important;min-width:200px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--btnBase);border-radius:var(--dfe-radius);cursor:pointer;background-color:var(--dfe-muted);color:var(--btnText)!important;transition:all .2s ease-in-out;font-weight:400}.btn-group>div.btn:hover{background-color:var(--hoverColor);border-color:var(--borderColor);color:color-mix(in srgb,var(--bgColor),var(--dfe-fg) 20%)!important}.btn-group div.btn.active{background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important;box-shadow:var(--dfe-shadow);font-weight:600;cursor:default}.btn-group div.btn i{font-size:1.1em}.btn-group.view-mode div.btn{opacity:.5;pointer-events:none;filter:grayscale(100%)}.btn-group.view-mode div.btn.active{opacity:1;filter:none;background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important}.column{display:flex!important;flex-direction:column!important}.dfe-datepicker-wrapper{position:relative;width:100%}.dfe-datepicker-inner-container{position:relative!important;width:100%!important;display:block!important}.dfe-datepicker-control{height:34px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;width:100%;font-size:14px;font-weight:200;border-radius:var(--dfe-radius-sm);background-color:var(--dfe-bg)!important;color:var(--dfe-fg)!important;border:1px solid var(--dfe-border)!important;padding:10px 14px}.dfe-datepicker-display{width:100%;height:34px;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.dfe-datepicker-icon{color:var(--dfe-fg);opacity:.6}.dfe-datepicker-dropdown{position:absolute!important;top:38px!important;left:0!important;width:320px!important;z-index:var(--z-dropdown)!important;background-color:var(--dfe-bg)!important;border:1px solid var(--dfe-border)!important;border-radius:var(--dfe-radius-sm)!important;box-shadow:var(--dfe-shadow)!important;padding:12px!important;display:block!important}.dfe-datepicker-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:12px!important;gap:6px!important}.dfe-datepicker-selectors{display:flex!important;gap:6px!important;flex:1!important}.dfe-datepicker-selectors .select-wrapper{margin-bottom:0!important;flex:1!important}.dfe-datepicker-selectors .select-wrapper label{display:none!important}.dfe-datepicker-selectors .select-control{height:30px!important;padding:4px 10px!important}.dfe-datepicker-selectors .select-display{height:30px!important;font-size:13px!important;font-weight:600!important}.dfe-datepicker-selectors .select-dropdown{top:32px!important;z-index:calc(var(--z-dropdown) + 20)!important}.dfe-datepicker-selectors>div:first-child .select-dropdown{left:0!important;right:auto!important;min-width:140px!important}.dfe-datepicker-selectors>div:last-child .select-dropdown{left:auto!important;right:0!important;min-width:150px!important}.dfe-datepicker-nav-btn{background:var(--dfe-muted);border:1px solid var(--dfe-border);border-radius:var(--dfe-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;color:var(--dfe-fg)}.dfe-datepicker-nav-btn:hover{background-color:var(--dfe-border)}.dfe-datepicker-grid-header{display:grid!important;grid-template-columns:repeat(7,1fr)!important;text-align:center!important;font-size:11px!important;font-weight:700!important;color:var(--dfe-muted-fg)!important;margin-bottom:6px!important;border-bottom:1px solid var(--dfe-border)!important;padding-bottom:4px!important}.dfe-datepicker-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:2px!important}.dfe-datepicker-day{padding:6px 0;font-size:13px;text-align:center;cursor:pointer;border-radius:var(--dfe-radius-sm);color:var(--dfe-fg)}.dfe-datepicker-day.outside{color:var(--dfe-muted-fg)!important;opacity:.3!important;cursor:default!important;pointer-events:none!important}.dfe-datepicker-day.today{color:var(--dfe-primary)!important;font-weight:700!important;border:1px dashed var(--dfe-primary)!important}.dfe-datepicker-day.selected{background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important;font-weight:700!important}.dfe-datepicker-day.handleHover:hover:not(.outside){background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important}.dfe-datepicker-wrapper .readOnly{background-color:var(--dfe-muted)!important;color:var(--dfe-muted-fg)!important;cursor:default!important}.dfe-datepicker-display.readOnly{opacity:.5!important}.status-badge{--badgeMainColor: var(--customColor, var(--dfe-muted-fg));background:linear-gradient(45deg,color-mix(in srgb,var(--badgeMainColor),white 20%) 0%,var(--badgeMainColor) 70%,color-mix(in srgb,var(--badgeMainColor),black 15%) 100%);width:100%;height:var(--dfe-height-control, 34px);display:flex;align-items:center;justify-content:center;gap:var(--dfe-gap-sm);border-radius:var(--dfe-radius-sm);color:#fff;font-weight:500;font-size:var(--dfe-font-sm);font-style:italic;box-shadow:var(--dfe-shadow);transition:transform .2s ease,box-shadow .2s ease}.status-badge i{font-size:16px}.status-badge.default{--badgeMainColor: var(--dfe-muted-fg);background:var(--dfe-muted);color:var(--dfe-muted-fg);border:1px solid var(--dfe-border);box-shadow:none}.form-group.hidden{display:none!important}.table-wrapper .header-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--dfe-gap-lg)}.table-wrapper .header-actions>h3{margin:0!important;font-weight:600;color:var(--dfe-fg)}.table-wrapper .header-actions>div{display:flex;gap:var(--dfe-gap-sm)}.table-wrapper .header-handle{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:var(--dfe-gap-lg)!important}.table-wrapper .handle-actions{display:flex;align-items:center;gap:var(--dfe-gap-lg)}.table-wrapper .handle-actions button{height:35px!important;display:flex;align-items:center;justify-content:center;font-size:16px!important}.table-wrapper{width:100%;height:100%;margin-bottom:20px;overflow:hidden;color:var(--dfe-fg)}.table-wrapper h3{margin:0!important;color:var(--dfe-fg)}.table-wrapper .table-fixed .table-scroll{overflow-x:auto}.table-wrapper .table-fluid .table-scroll{overflow-x:hidden}.table-wrapper .table-scroll{width:100%;position:relative;overflow:auto;height:400px}.table-wrapper .table-fixed th,.table-wrapper .table-fixed td{white-space:nowrap}.table-wrapper .table-custom{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--dfe-radius-sm);border:1px solid var(--dfe-border);background-color:var(--dfe-bg)}.table-wrapper .btn-add{background-color:var(--dfe-primary);border:none;color:var(--dfe-primary-fg)!important;border-radius:var(--dfe-radius-sm);padding:8px 16px;font-size:var(--dfe-font-sm)!important;cursor:pointer;transition:opacity .2s}.table-wrapper .btn-danger{background-color:var(--dfe-danger)!important;color:#fff!important;border:none}.table-wrapper .table-custom thead{background-color:var(--dfe-muted)}.table-wrapper .table-custom thead tr th{position:sticky;top:0;z-index:2;padding:12px 16px;border-bottom:2px solid var(--dfe-border);border-left:1px solid var(--dfe-border);text-align:left;font-weight:700;color:var(--dfe-fg);background-color:var(--dfe-muted)}.table-wrapper .table-custom thead tr th:first-child{border-left:none}.table-wrapper .table-custom tbody tr td{border-left:1px solid var(--dfe-border);padding:12px 16px;vertical-align:middle;background-color:var(--dfe-bg)}.table-wrapper .table-custom tbody tr td:first-child{border-left:none}.table-wrapper .table-custom tbody tr:nth-child(2n) td{background-color:color-mix(in srgb,var(--dfe-muted),transparent 50%)}.table-wrapper .table-custom tbody tr:hover td{background-color:var(--dfe-muted)}.table-wrapper .table-custom th,.table-wrapper .table-custom td{text-overflow:ellipsis}.table-wrapper .table-custom td{flex-wrap:nowrap}.table-wrapper .table-custom .form-control{margin-bottom:0!important;height:34px}.table-wrapper .text-center{text-align:center}.table-wrapper .table-custom tbody tr.empty-row td{height:200px;vertical-align:middle}.fluig-attachment{margin-bottom:var(--dfe-gap-lg)}.fluig-attachment__label{display:block;margin-bottom:var(--dfe-gap-xs);font-weight:700;color:var(--dfe-fg)}.fluig-attachment__box{display:flex;height:var(--dfe-height-control);justify-content:space-between;align-items:center;padding:0 var(--dfe-gap-md);border-radius:var(--dfe-radius);background-color:transparent;transition:all .2s ease-in-out;border:1px dashed var(--dfe-border);cursor:pointer;overflow:hidden;color:var(--dfe-fg)}.fluig-attachment__box--has-file{pointer-events:auto!important;cursor:pointer!important;border:1px solid var(--dfe-primary)}.fluig-attachment__box--uploading{cursor:wait;background-color:var(--dfe-muted)}.fluig-attachment__content{display:flex;align-items:center;flex:1;min-width:0;margin-right:var(--dfe-gap-md)}.fluig-attachment__icon{flex-shrink:0;margin-right:var(--dfe-gap-sm);color:var(--dfe-primary)}.fluig-attachment__filename{font-size:var(--dfe-font-sm);color:var(--dfe-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fluig-attachment__btn-remove{padding:4px!important;border:none;background:transparent;cursor:pointer;flex-shrink:0;display:flex;align-items:center;color:var(--dfe-danger)}.fluig-attachment__box--readonly-view{cursor:pointer!important;background-color:var(--dfe-muted);border:1px solid var(--dfe-border)}.fluig-attachment__box--uploading .flaticon-loading{animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
|
package/dist/index.cjs
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),D=require("react-hook-form"),K=require("react-imask"),L=require("@fluig-kit/ecm"),I=require("date-fns"),M={cpf:"000.000.000-00",cnpj:"00.000.000/0000-00",telefone:"(00) 00000-0000",cep:"00000-000"};function ee({name:t,label:r="",placeholder:f="",type:h="text",mask:c,className:a="",forceReadOnly:x=!1,forceHidden:i=!1,valueManual:j,onChangeManual:s,errorManual:k}){var O,C;const y=j!==void 0&&!!s,{isReadOnly:$,isHidden:T}=L.useSection(),E=x||!!$(t),b=i||!!T(t),{isView:A}=L.useFluigRuntime();let m=null;try{m=D.useFormContext()}catch{}const p=!y&&m?D.useController({name:t,control:m.control}):null,n=!y&&m?D.useFormState({name:t}):null,u=y?j:p==null?void 0:p.field.value,l=y?k:(C=(O=n==null?void 0:n.errors)==null?void 0:O[t])==null?void 0:C.message,d=o.useMemo(()=>c?M[c]??c:null,[c]),g=o.useCallback(S=>{if(!S)return"";const N=S.replace(/\D/g,"");return(Number(N)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),F=o.useCallback(S=>h==="monetary"?g(S):S,[h,g]),R=S=>{const N=F(S);y?s==null||s(N):p==null||p.field.onChange(N)},_=()=>{y||p==null||p.field.onBlur()};if(A)return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:r}),e.jsx("span",{className:"form-control",children:u||"-"})]});const v=`form-control ${E?"readOnly":""} ${l?"border-red":""} ${a}`;return e.jsxs("div",{className:`form-group ${b?"hidden":""}`,children:[r&&e.jsx("label",{children:r}),d?e.jsx(K.IMaskInput,{name:t,mask:d,value:String(u??""),unmask:!1,onAccept:S=>R(S),placeholder:f,readOnly:E,className:v,inputRef:y||p==null?void 0:p.field.ref,onBlur:_}):e.jsx("input",{type:"text",name:t,value:u??"",onChange:S=>R(S.target.value),onBlur:_,placeholder:f,readOnly:E,className:v}),l&&e.jsx("p",{className:"text-danger",children:String(l)})]})}const te=o.memo(ee);function se({name:t,label:r="",options:f=[],placeholder:h="",labelKey:c="label",valueKey:a="value",enableSearch:x=!1,searchPlaceholder:i="Buscar...",loading:j=!1,onSearchChange:s,debounceTime:k=300,onSelect:y,forceReadOnly:$=!1,forceHidden:T=!1,valueManual:E,onChangeManual:b,errorManual:A}){var J;const m=E!==void 0&&!!b,{isReadOnly:p,isHidden:n}=L.useSection(),u=$||!!p(t),l=T||!!n(t),{isView:d}=L.useFluigRuntime();let g="",F=()=>{},R,_=null,v=()=>{};if(m)g=E;else try{const w=D.useFormContext(),B=D.useController({name:t,control:w.control});g=B.field.value,F=B.field.onChange,R=B.field.ref,_=(J=B.fieldState)==null?void 0:J.error,v=w.clearErrors}catch{}const[O,C]=o.useState(!1),[S,N]=o.useState(""),V=o.useRef(null),H=o.useRef(s);o.useEffect(()=>{H.current=s},[s]),o.useEffect(()=>{const w=B=>{V.current&&!V.current.contains(B.target)&&C(!1)};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]),o.useEffect(()=>{O||N("")},[O]),o.useEffect(()=>{if(!x)return;const w=setTimeout(()=>{var B;(B=H.current)==null||B.call(H,S)},k);return()=>clearTimeout(w)},[S,x,k]);const P=o.useMemo(()=>x&&!s&&S.trim()?f.filter(w=>String((w==null?void 0:w[c])??"").toLowerCase().includes(S.toLowerCase())):f??[],[f,x,s,S,c]),Y=o.useMemo(()=>{if(g==null)return"";if(typeof g=="object")return String(g[a]??"");const w=(f||[]).find(B=>String(B==null?void 0:B[a])===String(g));return String(w?(w==null?void 0:w[c])??"":g)},[g,f,a,c]),X=w=>{u||(m?b==null||b(w[a]):(F(w[a]),v==null||v(t)),y==null||y(w),C(!1))};return e.jsxs("div",{className:`select-wrapper form-group ${l?"hidden":""}`,ref:V,children:[e.jsx("label",{className:"control-label",children:r}),d?e.jsx("span",{className:"form-control",children:Y||"-"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`select-control ${_?"border-red":""} ${u?"readOnly":""}`,onClick:()=>!u&&C(w=>!w),ref:R,children:[e.jsx("span",{className:`select-display ${u?"readOnly":""}`,children:Y||h}),e.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),O&&!u&&e.jsxs("div",{className:"select-dropdown",children:[x&&e.jsx("div",{className:"select-search",children:e.jsx("input",{type:"text",className:"select-search-input",value:S,onChange:w=>N(w.target.value),placeholder:j?"Carregando...":i,autoFocus:!0,onClick:w=>w.stopPropagation()})}),e.jsx("ul",{className:"select-options",children:j?e.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):P.length>0?P.map(w=>e.jsx("li",{onClick:()=>X(w),className:"select-option handleHover",children:w[c]},w[a])):e.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),!m&&e.jsx("input",{type:"hidden",name:t,value:g||""}),(_||A)&&e.jsx("p",{className:"text-danger",children:String((_==null?void 0:_.message)??A)})]})}const q=o.memo(se);function re({name:t,options:r=[],label:f="",valueKey:h="value",labelKey:c="label",forceReadOnly:a=!1,forceHidden:x=!1,valueManual:i,onChangeManual:j}){var R,_;let s=null;try{s=D.useFormContext()}catch{}const k=i!==void 0&&!!j,{isView:y,isReadOnly:$}=L.useFluigRuntime(),{isReadOnly:T,isHidden:E}=L.useSection(),b=T?T(t):!1,A=E?E(t):!1,m=a||b,p=x||A,n=m||$||y,u=()=>r?r.reduce((v,O)=>{const C=String(O[h]);if(k)v[C]=!!(i!=null&&i[C]);else if(s){const S=s.getValues(C);v[C]=S==="on"}else v[C]=!1;return v},{}):{},l=!k&&s?s.watch(t):void 0,d=o.useMemo(()=>k&&i?i:l&&typeof l=="object"?l:u(),[l,i,r]);o.useEffect(()=>{if(k||!s)return;const v=s.getValues(t);(!v||typeof v!="object")&&s.setValue(t,d,{shouldDirty:!1,shouldValidate:!1})},[d,t,s,k]);const g=(v,O)=>{if(n)return;const C={...d,[v]:O};if(k){j&&j(C);return}s&&(s.setValue(t,C,{shouldDirty:!0,shouldValidate:!0}),s.setValue(v,O?"on":"",{shouldValidate:!1}))},F=k?null:(_=(R=s==null?void 0:s.formState)==null?void 0:R.errors)==null?void 0:_[t];return e.jsxs("div",{className:`form-group ${p?"hidden":""}`,children:[f&&e.jsx("label",{children:f}),e.jsx("div",{className:`checkbox-group-custom ${n?"readOnly":""}`,children:r.map(v=>{const O=String(v[h]),C=d[O]===!0;return e.jsxs("div",{children:[!k&&s&&e.jsx("input",{type:"hidden",...s.register(O)}),e.jsxs("label",{className:`custom-checkbox ${C?"checked":""} ${n?"readOnly":""}`,children:[e.jsx("input",{type:"checkbox",checked:C,disabled:n,onChange:S=>g(O,S.target.checked)}),e.jsx("span",{className:"checkmark"}),e.jsx("span",{children:v[c]})]})]},O)})}),F&&e.jsx("p",{className:"text-danger",children:String(F.message)})]})}function ne({name:t,label:r="",options:f=[],valueKey:h="value",labelKey:c="label",iconKey:a="icon",forceReadOnly:x=!1,forceHidden:i=!1,valueManual:j,onChangeManual:s,errorManual:k}){var R,_;const y=j!==void 0&&!!s,{isReadOnly:$,isHidden:T}=L.useSection(),E=x||!!$(t),b=i||!!T(t),{isView:A,isReadOnly:m}=L.useFluigRuntime();let p=null;try{p=D.useFormContext()}catch{}const n=!y&&p?D.useController({name:t,control:p.control,defaultValue:""}):null,u=!y&&p?D.useFormState({name:t}):null,l=y?k:(_=(R=u==null?void 0:u.errors)==null?void 0:R[t])==null?void 0:_.message,d=E||m||A,g=y?j:(n==null?void 0:n.field.value)??"",F=o.useCallback(v=>{d||(y?s==null||s(v):(n==null||n.field.onChange(v),n==null||n.field.onBlur()))},[d,y,s,n]);return e.jsxs("div",{className:`form-group column ${b?"hidden":""}`,children:[r&&e.jsx("label",{className:"control-label",children:r}),e.jsx("div",{className:`btn-group ${d?"view-mode":""}`,"data-field-name":t,children:f.map(v=>{const O=v[h],C=g===O,S=v.color?{"--customColor":v.color}:void 0;return e.jsxs("div",{style:S,className:`btn fs-ellipsis ${C?"active":""}`,onClick:()=>F(O),children:[v[a]&&e.jsx("i",{className:`${v[a]} icon-sm`})," ",v[c]]},O)})}),!y&&e.jsx("input",{type:"hidden",name:t,value:g||"",ref:n==null?void 0:n.field.ref}),(l||k)&&e.jsx("p",{className:"text-danger",children:String(l??k)})]})}const le=o.memo(ne),ce=({name:t,label:r="",placeholder:f="",className:h="",rows:c=4,maxLength:a,forceReadOnly:x=!1,forceHidden:i=!1,valueManual:j,onChangeManual:s,errorManual:k})=>{var d;const y=j!==void 0&&!!s,{isReadOnly:$,isHidden:T}=L.useSection(),E=x||!!$(t),b=i||!!T(t),{isView:A}=L.useFluigRuntime(),m=o.useRef(null);let p={value:j??"",onChange:g=>s==null?void 0:s(g)},n=null;if(!y)try{const{control:g}=D.useFormContext(),F=D.useController({name:t,control:g});p=F.field,n=(d=F.fieldState)==null?void 0:d.error}catch{}const u=()=>{m.current&&(m.current.style.height="auto",m.current.style.height=`${m.current.scrollHeight}px`)};if(o.useEffect(()=>{u()},[p.value]),A)return e.jsxs("div",{className:`form-group ${b?"hidden":""}`,children:[e.jsx("label",{children:r}),e.jsx("span",{className:"form-control",children:p.value||"-"})]});const l=`form-control ${E?"readOnly":""} ${n||k?"border-red":""} ${h}`;return e.jsxs("div",{className:`form-group ${b?"hidden":""}`,children:[r&&e.jsx("label",{children:r}),e.jsx("textarea",{ref:m,rows:c,maxLength:a,value:p.value||"",placeholder:f,readOnly:E,className:l,style:{resize:"none",maxHeight:"400px",overflowY:"auto"},onChange:g=>{y?s==null||s(g.target.value):p.onChange(g)},onInput:u}),(n||k)&&e.jsx("p",{className:"text-danger",children:String((n==null?void 0:n.message)??k)})]})},ie=o.memo(ce);/**
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),H=require("react-hook-form"),ne=require("react-imask"),B=require("@fluig-kit/ecm"),D=require("date-fns");function M({title:t,isOpen:l,onOpen:u,onClose:m,content:i,footer:a,width:h}){const d=o.useCallback(x=>{x.key==="Escape"&&m()},[m]);return o.useEffect(()=>(l&&(document.addEventListener("keydown",d),u==null||u(),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",d),document.body.style.overflow="auto"}),[l,d,u]),l?e.jsx("div",{className:"modal-overlay",onClick:m,"aria-modal":"true",role:"dialog",children:e.jsxs("div",{style:{maxWidth:h},className:"modal-container",onClick:x=>x.stopPropagation(),children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:t}),e.jsx("div",{className:"btn-close-modal",onClick:m,role:"button","aria-label":"Fechar modal",children:e.jsx("i",{className:"flaticon flaticon-close icon-sm","aria-hidden":"true"})})]}),e.jsx("div",{className:"modal-content",children:i}),a&&e.jsx("div",{className:"modal-footer",children:a})]})}):null}function re({text:t,title:l="Ajuda & Informações",width:u="500px",className:m=""}){const[i,a]=o.useState(!1),h=d=>{d.preventDefault(),d.stopPropagation(),a(!0)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`dfe-help-indicator ${m}`,onClick:h,role:"button",tabIndex:0,"aria-label":"Botão de ajuda",title:"Clique para obter ajuda",children:e.jsx("span",{children:"?"})}),e.jsx(M,{title:l,isOpen:i,onClose:()=>a(!1),width:u,content:e.jsx("div",{className:"dfe-help-modal-body",children:t}),footer:e.jsx("div",{className:"dfe-help-modal-footer",children:e.jsx("button",{type:"button",className:"btn btn-info dfe-help-btn",onClick:()=>a(!1),children:"Entendido"})})})]})}const U=o.memo(re),le={cpf:"000.000.000-00",cnpj:"00.000.000/0000-00",telefone:"(00) 00000-0000",cep:"00000-000"};function ce({name:t,label:l="",placeholder:u="",type:m="text",mask:i,className:a="",forceReadOnly:h=!1,forceHidden:d=!1,helpText:x,helpTitle:c,helpWidth:p,valueManual:O,onChangeManual:S,errorManual:V}){var E,T;const v=O!==void 0&&!!S,{isReadOnly:R,isHidden:F}=B.useSection(),k=h||!!R(t),y=d||!!F(t),{isView:n}=B.useFluigRuntime();let r=null;try{r=H.useFormContext()}catch{}const s=!v&&r?H.useController({name:t,control:r.control}):null,f=!v&&r?H.useFormState({name:t}):null,g=v?O:s==null?void 0:s.field.value,A=v?V:(T=(E=f==null?void 0:f.errors)==null?void 0:E[t])==null?void 0:T.message,I=o.useMemo(()=>i?le[i]??i:null,[i]),C=o.useCallback(L=>{if(!L)return"";const q=L.replace(/\D/g,"");return(Number(q)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),w=o.useCallback(L=>m==="monetary"?C(L):L,[m,C]),N=L=>{const q=w(L);v?S==null||S(q):s==null||s.field.onChange(q)},b=()=>{v||s==null||s.field.onBlur()};if(y)return null;const $=`form-control ${k?"readOnly":""} ${A?"border-red":""} ${a}`,j=()=>I?e.jsx(ne.IMaskInput,{name:t,mask:I,value:String(g??""),unmask:!1,onAccept:L=>N(L),placeholder:u,readOnly:k,className:$,inputRef:v||s==null?void 0:s.field.ref,onBlur:b}):e.jsx("input",{type:m==="number"?"number":"text",name:t,value:g??"",onChange:L=>N(L.target.value),onBlur:b,placeholder:u,readOnly:k,className:$});return n?e.jsxs("div",{className:"form-group",children:[l&&e.jsx("label",{children:l}),e.jsxs("div",{className:x?"dfe-flex-input-wrapper":"",children:[e.jsx("span",{className:$,children:g||"-"}),x&&e.jsx(U,{text:x,title:c,width:p})]})]}):e.jsxs("div",{className:`form-group ${y?"hidden":""}`,children:[l&&e.jsx("label",{children:l}),e.jsxs("div",{className:x?"dfe-flex-input-wrapper":"",children:[j(),x&&e.jsx(U,{text:x,title:c,width:p})]}),A&&e.jsx("p",{className:"text-danger",children:String(A)})]})}const ie=o.memo(ce);function oe({name:t,label:l="",options:u=[],placeholder:m="",labelKey:i="label",valueKey:a="value",enableSearch:h=!1,searchPlaceholder:d="Buscar...",loading:x=!1,onSearchChange:c,debounceTime:p=300,onSelect:O,forceReadOnly:S=!1,forceHidden:V=!1,helpText:v,helpTitle:R,helpWidth:F,valueManual:k,onChangeManual:y,errorManual:n}){var Q;const r=k!==void 0&&!!y,{isReadOnly:s,isHidden:f}=B.useSection(),g=S||!!s(t),A=V||!!f(t),{isView:I}=B.useFluigRuntime();let C="",w=()=>{},N,b=null,$=()=>{};if(r)C=k;else try{const _=H.useFormContext(),P=H.useController({name:t,control:_.control});C=P.field.value,w=P.field.onChange,N=P.field.ref,b=(Q=P.fieldState)==null?void 0:Q.error,$=_.clearErrors}catch{}const[j,E]=o.useState(!1),[T,L]=o.useState(""),q=o.useRef(null),Y=o.useRef(c);o.useEffect(()=>{Y.current=c},[c]),o.useEffect(()=>{const _=P=>{q.current&&!q.current.contains(P.target)&&E(!1)};return document.addEventListener("mousedown",_),()=>document.removeEventListener("mousedown",_)},[]),o.useEffect(()=>{j||L("")},[j]),o.useEffect(()=>{if(!h)return;const _=setTimeout(()=>{var P;(P=Y.current)==null||P.call(Y,T)},p);return()=>clearTimeout(_)},[T,h,p]);const G=o.useMemo(()=>h&&!c&&T.trim()?u.filter(_=>String((_==null?void 0:_[i])??"").toLowerCase().includes(T.toLowerCase())):u??[],[u,h,c,T,i]),W=o.useMemo(()=>{if(C==null)return"";if(typeof C=="object")return String(C[a]??"");const _=(u||[]).find(P=>String(P==null?void 0:P[a])===String(C));return String(_?(_==null?void 0:_[i])??"":C)},[C,u,a,i]),se=_=>{g||(r?y==null||y(_[a]):(w(_[a]),$==null||$(t)),O==null||O(_),E(!1))};return A?null:e.jsxs("div",{className:`select-wrapper form-group ${A?"hidden":""}`,ref:q,children:[e.jsx("label",{className:"control-label",children:l}),I?e.jsxs("div",{className:v?"dfe-flex-input-wrapper":"",children:[e.jsx("span",{className:"form-control",style:v?{flex:1}:void 0,children:W||"-"}),v&&e.jsx(U,{text:v,title:R,width:F})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:v?"dfe-flex-input-wrapper":"",children:[e.jsxs("div",{className:`select-control ${b?"border-red":""} ${g?"readOnly":""}`,onClick:()=>!g&&E(_=>!_),ref:N,style:v?{flex:1}:void 0,children:[e.jsx("span",{className:`select-display ${g?"readOnly":""}`,children:W||m}),e.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),v&&e.jsx(U,{text:v,title:R,width:F})]}),j&&!g&&e.jsxs("div",{className:"select-dropdown",children:[h&&e.jsx("div",{className:"select-search",children:e.jsx("input",{type:"text",className:"select-search-input",value:T,onChange:_=>L(_.target.value),placeholder:x?"Carregando...":d,autoFocus:!0,onClick:_=>_.stopPropagation()})}),e.jsx("ul",{className:"select-options",children:x?e.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):G.length>0?G.map(_=>e.jsx("li",{onClick:()=>se(_),className:"select-option handleHover",children:_[i]},_[a])):e.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),!r&&e.jsx("input",{type:"hidden",name:t,value:C||""}),(b||n)&&e.jsx("p",{className:"text-danger",children:String((b==null?void 0:b.message)??n)})]})}const J=o.memo(oe);function de({name:t,options:l=[],label:u="",valueKey:m="value",labelKey:i="label",forceReadOnly:a=!1,forceHidden:h=!1,valueManual:d,onChangeManual:x}){var I,C;let c=null;try{c=H.useFormContext()}catch{}const p=d!==void 0&&!!x,{isView:O,isReadOnly:S}=B.useFluigRuntime(),{isReadOnly:V,isHidden:v}=B.useSection(),R=V?V(t):!1,F=v?v(t):!1,k=a||R,y=h||F,n=k||S||O,r=()=>l?l.reduce((w,N)=>{const b=String(N[m]);if(p)w[b]=!!(d!=null&&d[b]);else if(c){const $=c.getValues(b);w[b]=$==="on"}else w[b]=!1;return w},{}):{},s=!p&&c?c.watch(t):void 0,f=o.useMemo(()=>p&&d?d:s&&typeof s=="object"?s:r(),[s,d,l]);o.useEffect(()=>{if(p||!c)return;const w=c.getValues(t);(!w||typeof w!="object")&&c.setValue(t,f,{shouldDirty:!1,shouldValidate:!1})},[f,t,c,p]);const g=(w,N)=>{if(n)return;const b={...f,[w]:N};if(p){x&&x(b);return}c&&(c.setValue(t,b,{shouldDirty:!0,shouldValidate:!0}),c.setValue(w,N?"on":"",{shouldValidate:!1}))},A=p?null:(C=(I=c==null?void 0:c.formState)==null?void 0:I.errors)==null?void 0:C[t];return e.jsxs("div",{className:`form-group ${y?"hidden":""}`,children:[u&&e.jsx("label",{children:u}),e.jsx("div",{className:`checkbox-group-custom ${n?"readOnly":""}`,children:l.map(w=>{const N=String(w[m]),b=f[N]===!0;return e.jsxs("div",{children:[!p&&c&&e.jsx("input",{type:"hidden",...c.register(N)}),e.jsxs("label",{className:`custom-checkbox ${b?"checked":""} ${n?"readOnly":""}`,children:[e.jsx("input",{type:"checkbox",checked:b,disabled:n,onChange:$=>g(N,$.target.checked)}),e.jsx("span",{className:"checkmark"}),e.jsx("span",{children:w[i]})]})]},N)})}),A&&e.jsx("p",{className:"text-danger",children:String(A.message)})]})}function ae({name:t,label:l="",options:u=[],valueKey:m="value",labelKey:i="label",iconKey:a="icon",forceReadOnly:h=!1,forceHidden:d=!1,valueManual:x,onChangeManual:c,errorManual:p}){var I,C;const O=x!==void 0&&!!c,{isReadOnly:S,isHidden:V}=B.useSection(),v=h||!!S(t),R=d||!!V(t),{isView:F,isReadOnly:k}=B.useFluigRuntime();let y=null;try{y=H.useFormContext()}catch{}const n=!O&&y?H.useController({name:t,control:y.control,defaultValue:""}):null,r=!O&&y?H.useFormState({name:t}):null,s=O?p:(C=(I=r==null?void 0:r.errors)==null?void 0:I[t])==null?void 0:C.message,f=v||k||F,g=O?x:(n==null?void 0:n.field.value)??"",A=o.useCallback(w=>{f||(O?c==null||c(w):(n==null||n.field.onChange(w),n==null||n.field.onBlur()))},[f,O,c,n]);return e.jsxs("div",{className:`form-group column ${R?"hidden":""}`,children:[l&&e.jsx("label",{className:"control-label",children:l}),e.jsx("div",{className:`btn-group ${f?"view-mode":""}`,"data-field-name":t,children:u.map(w=>{const N=w[m],b=g===N,$=w.color?{"--customColor":w.color}:void 0;return e.jsxs("div",{style:$,className:`btn fs-ellipsis ${b?"active":""}`,onClick:()=>A(N),children:[w[a]&&e.jsx("i",{className:`${w[a]} icon-sm`})," ",w[i]]},N)})}),!O&&e.jsx("input",{type:"hidden",name:t,value:g||"",ref:n==null?void 0:n.field.ref}),(s||p)&&e.jsx("p",{className:"text-danger",children:String(s??p)})]})}const ue=o.memo(ae),fe=({name:t,label:l="",placeholder:u="",className:m="",rows:i=4,maxLength:a,forceReadOnly:h=!1,forceHidden:d=!1,valueManual:x,onChangeManual:c,errorManual:p})=>{var f;const O=x!==void 0&&!!c,{isReadOnly:S,isHidden:V}=B.useSection(),v=h||!!S(t),R=d||!!V(t),{isView:F}=B.useFluigRuntime(),k=o.useRef(null);let y={value:x??"",onChange:g=>c==null?void 0:c(g)},n=null;if(!O)try{const{control:g}=H.useFormContext(),A=H.useController({name:t,control:g});y=A.field,n=(f=A.fieldState)==null?void 0:f.error}catch{}const r=()=>{k.current&&(k.current.style.height="auto",k.current.style.height=`${k.current.scrollHeight}px`)};if(o.useEffect(()=>{r()},[y.value]),F)return e.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[e.jsx("label",{children:l}),e.jsx("span",{className:"form-control",children:y.value||"-"})]});const s=`form-control ${v?"readOnly":""} ${n||p?"border-red":""} ${m}`;return e.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[l&&e.jsx("label",{children:l}),e.jsx("textarea",{ref:k,rows:i,maxLength:a,value:y.value||"",placeholder:u,readOnly:v,className:s,style:{resize:"none",maxHeight:"400px",overflowY:"auto"},onChange:g=>{O?c==null||c(g.target.value):y.onChange(g)},onInput:r}),(n||p)&&e.jsx("p",{className:"text-danger",children:String((n==null?void 0:n.message)??p)})]})},me=o.memo(fe);/**
|
|
2
2
|
* @license lucide-react v0.575.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const
|
|
6
|
+
*/const ee=(...t)=>t.filter((l,u,m)=>!!l&&l.trim()!==""&&m.indexOf(l)===u).join(" ").trim();/**
|
|
7
7
|
* @license lucide-react v0.575.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
10
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const
|
|
11
|
+
*/const he=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
|
|
12
12
|
* @license lucide-react v0.575.0 - ISC
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
15
15
|
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const
|
|
16
|
+
*/const xe=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(l,u,m)=>m?m.toUpperCase():u.toLowerCase());/**
|
|
17
17
|
* @license lucide-react v0.575.0 - ISC
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the ISC license.
|
|
20
20
|
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const
|
|
21
|
+
*/const Z=t=>{const l=xe(t);return l.charAt(0).toUpperCase()+l.slice(1)};/**
|
|
22
22
|
* @license lucide-react v0.575.0 - ISC
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
25
25
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/var
|
|
26
|
+
*/var pe={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
|
27
27
|
* @license lucide-react v0.575.0 - ISC
|
|
28
28
|
*
|
|
29
29
|
* This source code is licensed under the ISC license.
|
|
30
30
|
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const
|
|
31
|
+
*/const ve=t=>{for(const l in t)if(l.startsWith("aria-")||l==="role"||l==="title")return!0;return!1};/**
|
|
32
32
|
* @license lucide-react v0.575.0 - ISC
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the ISC license.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const
|
|
36
|
+
*/const je=o.forwardRef(({color:t="currentColor",size:l=24,strokeWidth:u=2,absoluteStrokeWidth:m,className:i="",children:a,iconNode:h,...d},x)=>o.createElement("svg",{ref:x,...pe,width:l,height:l,stroke:t,strokeWidth:m?Number(u)*24/Number(l):u,className:ee("lucide",i),...!a&&!ve(d)&&{"aria-hidden":"true"},...d},[...h.map(([c,p])=>o.createElement(c,p)),...Array.isArray(a)?a:[a]]));/**
|
|
37
37
|
* @license lucide-react v0.575.0 - ISC
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the ISC license.
|
|
40
40
|
* See the LICENSE file in the root directory of this source tree.
|
|
41
|
-
*/const
|
|
41
|
+
*/const z=(t,l)=>{const u=o.forwardRef(({className:m,...i},a)=>o.createElement(je,{ref:a,iconNode:l,className:ee(`lucide-${he(Z(t))}`,`lucide-${t}`,m),...i}));return u.displayName=Z(t),u};/**
|
|
42
42
|
* @license lucide-react v0.575.0 - ISC
|
|
43
43
|
*
|
|
44
44
|
* This source code is licensed under the ISC license.
|
|
45
45
|
* See the LICENSE file in the root directory of this source tree.
|
|
46
|
-
*/const
|
|
46
|
+
*/const ye=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],be=z("calendar",ye);/**
|
|
47
47
|
* @license lucide-react v0.575.0 - ISC
|
|
48
48
|
*
|
|
49
49
|
* This source code is licensed under the ISC license.
|
|
50
50
|
* See the LICENSE file in the root directory of this source tree.
|
|
51
|
-
*/const
|
|
51
|
+
*/const ge=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Ne=z("chevron-left",ge);/**
|
|
52
52
|
* @license lucide-react v0.575.0 - ISC
|
|
53
53
|
*
|
|
54
54
|
* This source code is licensed under the ISC license.
|
|
55
55
|
* See the LICENSE file in the root directory of this source tree.
|
|
56
|
-
*/const
|
|
57
|
-
${
|
|
58
|
-
${
|
|
59
|
-
${
|
|
56
|
+
*/const ke=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],we=z("chevron-right",ke),te="dd/MM/yyyy",X=t=>{if(!t)return null;const l=D.parse(t,te,new Date);return D.isValid(l)?l:null},Se=t=>t?D.format(t,te):"",Re=[{value:0,label:"Janeiro"},{value:1,label:"Fevereiro"},{value:2,label:"Março"},{value:3,label:"Abril"},{value:4,label:"Maio"},{value:5,label:"Junho"},{value:6,label:"Julho"},{value:7,label:"Agosto"},{value:8,label:"Setembro"},{value:9,label:"Outubro"},{value:10,label:"Novembro"},{value:11,label:"Dezembro"}],K=1940,_e=2100,Oe=Array.from({length:_e-K+1},(t,l)=>{const u=K+l;return{value:u,label:String(u)}});function $e({name:t,label:l="",placeholder:u="dd/mm/aaaa",className:m="",forceReadOnly:i=!1,forceHidden:a=!1,valueManual:h,onChangeManual:d,errorManual:x}){var $;const c=h!==void 0&&!!d,{isReadOnly:p,isHidden:O}=B.useSection(),S=i||!!p(t),V=a||!!O(t),{isView:v}=B.useFluigRuntime();let R="",F=()=>{},k,y=null,n=()=>{};if(c)R=h;else try{const j=H.useFormContext(),E=H.useController({name:t,control:j.control});R=E.field.value,F=E.field.onChange,k=E.field.ref,y=($=E.fieldState)==null?void 0:$.error,n=j.clearErrors}catch{}const[r,s]=o.useState(!1),[f,g]=o.useState(new Date),A=o.useRef(null);o.useEffect(()=>{if(r){const j=X(R);g(j&&D.isValid(j)?j:new Date)}},[r,R]),o.useEffect(()=>{const j=E=>{A.current&&!A.current.contains(E.target)&&s(!1)};return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[]);const I=o.useMemo(()=>X(R),[R]),C=j=>{if(S)return;const E=Se(j);c?d==null||d(E):(F(E),n==null||n(t)),s(!1)},w=o.useMemo(()=>D.eachDayOfInterval({start:D.startOfWeek(D.startOfMonth(f)),end:D.endOfWeek(D.endOfMonth(f))}),[f]),N=f.getMonth(),b=D.getYear(f);return e.jsxs("div",{className:`dfe-datepicker-wrapper form-group ${V?"hidden":""} ${m}`,ref:A,children:[e.jsx("label",{className:"control-label",children:l}),v?e.jsx("span",{className:"form-control",children:R||"-"}):e.jsxs("div",{className:"dfe-datepicker-inner-container",children:[e.jsxs("div",{className:`dfe-datepicker-control ${y?"border-red":""} ${S?"readOnly":""}`,onClick:()=>!S&&s(j=>!j),ref:k,children:[e.jsx("span",{className:`dfe-datepicker-display ${S?"readOnly":""}`,children:R||u}),e.jsx(be,{size:16,className:"dfe-datepicker-icon"})]}),r&&!S&&e.jsxs("div",{className:"dfe-datepicker-dropdown",onClick:j=>j.stopPropagation(),children:[e.jsxs("div",{className:"dfe-datepicker-header",children:[e.jsx("button",{type:"button",onClick:()=>g(D.subMonths(f,1)),className:"dfe-datepicker-nav-btn",children:e.jsx(Ne,{size:16})}),e.jsxs("div",{className:"dfe-datepicker-selectors",children:[e.jsx(J,{name:"datepicker_internal_month",valueManual:N,onChangeManual:j=>g(D.setMonth(f,Number(j))),options:Re,placeholder:"Mês"}),e.jsx(J,{name:"datepicker_internal_year",valueManual:b,onChangeManual:j=>g(D.setYear(f,Number(j))),options:Oe,enableSearch:!0,searchPlaceholder:"Buscar ano...",placeholder:"Ano"})]}),e.jsx("button",{type:"button",onClick:()=>g(D.addMonths(f,1)),className:"dfe-datepicker-nav-btn",children:e.jsx(we,{size:16})})]}),e.jsx("div",{className:"dfe-datepicker-grid-header",children:["D","S","T","Q","Q","S","S"].map((j,E)=>e.jsx("span",{children:j},E))}),e.jsx("div",{className:"dfe-datepicker-grid",children:w.map((j,E)=>{const T=!D.isSameMonth(j,f),L=I&&D.isSameDay(j,I);return e.jsx("div",{onClick:()=>!T&&C(j),className:`dfe-datepicker-day
|
|
57
|
+
${L?"selected":"handleHover"}
|
|
58
|
+
${T?"outside":""}
|
|
59
|
+
${D.isToday(j)?"today":""}`,children:D.format(j,"d")},E)})})]})]}),!c&&e.jsx("input",{type:"hidden",name:t,value:R||""}),(y||x)&&e.jsx("p",{className:"text-danger",children:String((y==null?void 0:y.message)??x)})]})}const Ae=o.memo($e);function Ce({mapping:t={},defaultLabel:l="Não reconhecido",className:u="",hidden:m=!1,label:i}){const{activityId:a}=B.useFluigRuntime(),h=o.useMemo(()=>!t||a===null||a===void 0?null:t[a],[a,t]);if(!h)return e.jsxs("div",{className:`form-group ${m?"hidden":""}`,children:[i&&e.jsx("label",{children:i}),e.jsx("div",{className:`status-badge default ${u}`,children:l})]});const d={"--customColor":h.color};return e.jsxs("div",{className:`form-group ${m?"hidden":""}`,children:[i&&e.jsx("label",{children:i}),e.jsxs("div",{className:`status-badge ${u}`,style:d,children:[h.icon&&e.jsx("i",{className:h.icon}),e.jsx("span",{children:h.label})]})]})}const Ee=o.memo(Ce);function Fe({name:t,control:l,defaultRowValue:u,isView:m,isReadOnly:i,filters:a=[]}){const{field:h}=H.useController({name:t,control:l}),[d,x]=o.useState([]),[c,p]=o.useState([]),O=()=>Date.now()+Math.random(),S=r=>{try{const s=JSON.parse(r);return Array.isArray(s)?s.map(f=>({...f,_uid:f._uid||O()})):[]}catch(s){return console.error(`Erro ao ler dados da tabela "${t}":`,s),[]}};o.useEffect(()=>{if(!(d.length>0&&!m)&&h.value&&typeof h.value=="string"){const r=JSON.stringify(d);if(h.value===r)return;const s=S(h.value);x(s)}},[h.value,m]),o.useEffect(()=>{if(i)return;const r=JSON.stringify(d);h.value!==r&&h.onChange(r)},[d,h,i]);const V=o.useCallback(()=>{const r={_uid:O(),...u};x(s=>[...s,r])},[u]),v=o.useCallback(()=>{x(r=>r.filter(s=>!c.includes(s._uid))),p([])},[c]),R=o.useCallback((r,s,f)=>{x(g=>g.map(A=>A._uid===r?{...A,[s]:f}:A))},[]),F=o.useCallback(r=>{p(s=>s.includes(r)?s.filter(f=>f!==r):[...s,r])},[]),k=o.useCallback(r=>{p(r?d.map(s=>s._uid):[])},[d]),y=d.length>0&&c.length===d.length,n=o.useMemo(()=>!a||a.length===0?d:d.filter(r=>a.every(s=>{if("custom"in s)return s.custom(r);const f=r[s.field];switch(s.operator){case"===":return f===s.value;case"!==":return f!==s.value;case">":return f>s.value;case"<":return f<s.value;case">=":return f>=s.value;case"<=":return f<=s.value;default:return!0}})),[d,a]);return{field:h,tableRows:d,visibleRows:n,selectedRowIds:c,isAllSelected:y,handle:{addRow:V,removeRows:v,updateCellValue:R,toggleSelection:F,toggleSelectAll:k}}}const Ie=({name:t,title:l="Tabela Dinâmica",columns:u,defaultRowValue:m={},forceReadOnly:i=!1,layout:a="fluid",actions:h=!0,filters:d=[]})=>{const{control:x}=H.useFormContext(),{isView:c,isReadOnly:p}=B.useFluigRuntime(),{isReadOnly:O}=B.useSection(),S=i||c||p||O&&O(t),{field:V,visibleRows:v,selectedRowIds:R,isAllSelected:F,handle:k}=Fe({name:t,control:x,defaultRowValue:m,isView:c,isReadOnly:!!S,filters:d}),y=a==="fixed";return e.jsxs("div",{className:`table-wrapper ${y?"table-fixed":"table-fluid"}`,children:[e.jsx("input",{type:"hidden",...V}),e.jsxs("div",{className:"header-handle",children:[e.jsx("h3",{children:l}),!S&&h&&e.jsxs("div",{className:"handle-actions",children:[e.jsxs("button",{type:"button",className:`btn ${R.length>0?"btn-danger":"btn-primary"}`,disabled:R.length===0,onClick:k.removeRows,children:["Remover (",R.length,")"]}),e.jsx("button",{type:"button",className:"btn-add",onClick:k.addRow,children:"Adicionar"})]})]}),e.jsx("div",{className:"table-scroll",children:e.jsxs("table",{className:"table-custom",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[!S&&e.jsx("th",{style:{width:"50px"},children:e.jsx("input",{type:"checkbox",checked:F,onChange:n=>k.toggleSelectAll(n.target.checked)})}),u.map(n=>e.jsx("th",{style:n.width?{minWidth:y?n.width:"100%"}:{width:"max-content"},children:n.label},String(n.key)))]})}),e.jsxs("tbody",{children:[v.map((n,r)=>e.jsxs("tr",{children:[!S&&e.jsx("td",{children:e.jsx("input",{type:"checkbox",checked:R.includes(n._uid),onChange:()=>k.toggleSelection(n._uid)})}),u.map(s=>e.jsx("td",{children:s.render?s.render.length<=1?s.render({row:n,index:r,updateRow:(f,g)=>k.updateCellValue(n._uid,String(f),g),isLocked:!!S,isView:!!c}):s.render(n,r,(f,g)=>k.updateCellValue(n._uid,f,g),!!S,!!c):n[s.key]},`${n._uid}-${String(s.key)}`))]},n._uid)),v.length===0&&e.jsx("tr",{className:"empty-row",children:e.jsx("td",{colSpan:100,className:"text-center",children:S?"Nenhum registro encontrado.":"Nenhum registro."})})]})]})})]})},Ve=(t,l)=>{const[u,m]=o.useState(null);let i=null;try{i=H.useFormContext().watch}catch{}const a=l!==void 0?l:i?i(t):void 0,h=o.useCallback(()=>{try{const x=window.top.__REACT_ATTACHMENT_BRIDGE__;if(x){const c=x.getAttachment(t,a);m(c||(a?{name:a,documentId:0}:null))}else m(a?{name:a,documentId:0}:null)}catch{m(a?{name:a,documentId:0}:null)}},[t,a,l]);return o.useEffect(()=>{h();const d=setInterval(h,2e3);return()=>clearInterval(d)},[h]),{attachment:u,sync:h}},De=({name:t,label:l,help:u,valueManual:m,onChangeManual:i,forceReadOnly:a=!1,forceHidden:h=!1,helpText:d,helpTitle:x,helpWidth:c})=>{const p=!!i,{isReadOnly:O,isHidden:S}=B.useSection(),{isView:V}=B.useFluigRuntime(),v=a||V||!!O(t),R=h||!!S(t),[F,k]=o.useState(!1);let y=null;try{y=H.useFormContext().control}catch{}const n=y&&!p?H.useController({name:t,control:y}).field:{value:m,onChange:N=>i==null?void 0:i(N)},{attachment:r,sync:s}=Ve(t,m),f=()=>{var N;try{const b=window.top;return{bridge:b.__REACT_ATTACHMENT_BRIDGE__,toast:(N=b.FLUIGC)==null?void 0:N.toast}}catch{return{bridge:null,toast:null}}},g=o.useCallback(()=>{if(v)return;const N=document.createElement("input");N.type="file",N.onchange=b=>{const $=b.target.files[0];if(!$)return;const{bridge:j,toast:E}=f();k(!0),j?j.upload($,t,T=>{p?i==null||i(T.name):n.onChange(T.name),setTimeout(()=>{k(!1),s()},1e3),E&&E({title:"Sucesso",message:"Arquivo enviado",type:"success"})}):(p?i==null||i($.name):n.onChange($.name),k(!1))},N.click()},[t,n,s,i,v,p]),A=N=>{if(N.stopPropagation(),v)return;const b=(r==null?void 0:r.name)||m||n.value;if(!b)return;const{bridge:$,toast:j}=f();$?$.removeByFileName(b)?(p?i==null||i(""):n.onChange(""),s()):j&&j({title:"Erro",message:"Erro ao remover anexo",type:"danger"}):(p?i==null||i(""):n.onChange(""),s())},I=!!r&&!F,C=(r==null?void 0:r.name)||m||n.value,w=["fluig-attachment__box",I?"fluig-attachment__box--has-file":"",F?"fluig-attachment__box--uploading":"",v&&!I?"readOnly":"",v&&I?"fluig-attachment__box--readonly-view":""].join(" ");return R?null:e.jsxs("div",{className:"form-group fluig-attachment",children:[l&&e.jsx("label",{className:"fluig-attachment__label",children:l}),e.jsxs("div",{className:d?"dfe-flex-input-wrapper":"",children:[e.jsxs("div",{className:w,style:d?{flex:1}:void 0,onClick:()=>{if(I){const N=f(),b=(r==null?void 0:r.physicalFileName)||(r==null?void 0:r.description)||(r==null?void 0:r.name)||C;N.bridge&&b&&N.bridge.view(b)}else g()},children:[e.jsxs("span",{className:"fluig-attachment__content",children:[e.jsx("i",{className:`flaticon icon-sm ${F?"flaticon-loading":I?"flaticon-file":"flaticon-paperclip"} fluig-attachment__icon`}),e.jsx("span",{className:"fluig-attachment__filename",children:F?" Enviando...":I?C:v?"Nenhum arquivo":u||"Anexar"})]}),I&&!v&&e.jsx("button",{type:"button",className:"fluig-attachment__btn-remove btn btn-link text-danger",onClick:A,children:e.jsx("i",{className:"flaticon flaticon-trash icon-sm"})})]}),d&&e.jsx(U,{text:d,title:x,width:c})]}),!p&&y&&e.jsx("input",{type:"hidden",name:t,value:n.value||""})]})},He=o.memo(De);exports.Attachment=He;exports.Checkbox=de;exports.DatePicker=Ae;exports.Help=U;exports.Input=ie;exports.Modal=M;exports.RadioBtn=ue;exports.Select=J;exports.SimpleTable=Ie;exports.StatusBadge=Ee;exports.TextArea=me;
|