diefra_ecm_ui 1.0.9 → 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.
@@ -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;
@@ -10,5 +10,6 @@ export interface DatePickerProps {
10
10
  onChangeManual?: (value: string) => void;
11
11
  errorManual?: string;
12
12
  }
13
- declare const _default: import('../../../node_modules/react').MemoExoticComponent<({ name, label, placeholder, className, forceReadOnly, forceHidden, valueManual, onChangeManual, errorManual, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element | null>;
13
+ declare function DatePicker({ name, label, placeholder, className, forceReadOnly, forceHidden, valueManual, onChangeManual, errorManual, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
14
+ declare const _default: import('../../../node_modules/react').MemoExoticComponent<typeof DatePicker>;
14
15
  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, }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
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';
@@ -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-container{position:relative;width:100%}.dfe-datepicker-trigger{height:35px!important;background-color:var(--dfe-bg)!important;border:1px solid var(--dfe-border)!important;border-radius:var(--dfe-radius, 4px);padding:.375rem .75rem;min-height:var(--dfe-height-control, 38px);color:var(--dfe-fg)!important;display:flex;align-items:center;cursor:pointer;transition:border-color .2s}.dfe-datepicker-trigger span{color:var(--dfe-muted-fg)!important}.dfe-datepicker-trigger:hover{border-color:var(--dfe-primary)!important}.dfe-datepicker-trigger.disabled{background-color:var(--dfe-muted)!important;opacity:.7;cursor:not-allowed}.dfe-popover-content{position:absolute;top:100%;left:0;z-index:var(--z-dropdown, 999999)!important;margin-top:5px;padding:15px;background-color:var(--dfe-bg);border:1px solid var(--dfe-border);border-radius:var(--dfe-radius);box-shadow:var(--dfe-shadow-lg);display:block!important;min-width:280px}.dfe-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:var(--dfe-fg)}.dfe-month-label{font-weight:700;text-transform:capitalize;font-size:14px;color:var(--dfe-fg)}.dfe-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:4px;color:var(--dfe-fg)}.dfe-nav-btn:hover{background-color:var(--dfe-border)}.dfe-calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;border-bottom:1px solid var(--dfe-border);margin-bottom:8px}.dfe-calendar-grid-header span{font-size:12px;color:var(--dfe-muted-fg);font-weight:600;padding-bottom:5px}.dfe-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.dfe-calendar-day{padding:8px 0;font-size:13px;cursor:pointer;border-radius:var(--dfe-radius-sm);color:var(--dfe-fg);transition:background .2s}.dfe-calendar-day:hover:not(.outside){background-color:var(--dfe-muted)}.dfe-calendar-day.outside{color:var(--dfe-muted-fg);opacity:.3;cursor:default}.dfe-calendar-day.today{color:var(--dfe-primary);font-weight:700;background-color:color-mix(in srgb,var(--dfe-primary),transparent 90%)}.dfe-calendar-day.selected{background-color:var(--dfe-primary)!important;color:var(--dfe-primary-fg)!important;font-weight:700}.react-datepicker{background-color:var(--dfe-bg)!important;border-color:var(--dfe-border)!important;color:var(--dfe-fg)!important}.react-datepicker__header{background-color:var(--dfe-muted)!important;border-bottom:1px solid var(--dfe-border)!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:300px}.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 t=require("react/jsx-runtime"),m=require("react"),W=require("react-hook-form"),K=require("react-imask"),E=require("@fluig-kit/ecm"),T=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:e,label:s="",placeholder:n="",type:i="text",mask:r,className:d="",forceReadOnly:l=!1,forceHidden:o=!1,valueManual:b,onChangeManual:a,errorManual:w}){var k,R;const x=b!==void 0&&!!a,{isReadOnly:$,isHidden:A}=E.useSection(),P=l||!!$(e),S=o||!!A(e),{isView:_}=E.useFluigRuntime();let y=null;try{y=W.useFormContext()}catch{}const g=!x&&y?W.useController({name:e,control:y.control}):null,u=!x&&y?W.useFormState({name:e}):null,f=x?b:g==null?void 0:g.field.value,c=x?w:(R=(k=u==null?void 0:u.errors)==null?void 0:k[e])==null?void 0:R.message,h=m.useMemo(()=>r?M[r]??r:null,[r]),j=m.useCallback(v=>{if(!v)return"";const D=v.replace(/\D/g,"");return(Number(D)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),F=m.useCallback(v=>i==="monetary"?j(v):v,[i,j]),O=v=>{const D=F(v);x?a==null||a(D):g==null||g.field.onChange(D)},C=()=>{x||g==null||g.field.onBlur()};if(_)return t.jsxs("div",{className:"form-group",children:[t.jsx("label",{children:s}),t.jsx("span",{className:"form-control",children:f||"-"})]});const p=`form-control ${P?"readOnly":""} ${c?"border-red":""} ${d}`;return t.jsxs("div",{className:`form-group ${S?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),h?t.jsx(K.IMaskInput,{name:e,mask:h,value:String(f??""),unmask:!1,onAccept:v=>O(v),placeholder:n,readOnly:P,className:p,inputRef:x||g==null?void 0:g.field.ref,onBlur:C}):t.jsx("input",{type:"text",name:e,value:f??"",onChange:v=>O(v.target.value),onBlur:C,placeholder:n,readOnly:P,className:p}),c&&t.jsx("p",{className:"text-danger",children:String(c)})]})}const te=m.memo(ee);function se({name:e,label:s="",options:n=[],placeholder:i="",labelKey:r="label",valueKey:d="value",enableSearch:l=!1,searchPlaceholder:o="Buscar...",loading:b=!1,onSearchChange:a,debounceTime:w=300,onSelect:x,forceReadOnly:$=!1,forceHidden:A=!1,valueManual:P,onChangeManual:S,errorManual:_}){var Q;const y=P!==void 0&&!!S,{isReadOnly:g,isHidden:u}=E.useSection(),f=$||!!g(e),c=A||!!u(e),{isView:h}=E.useFluigRuntime();let j="",F=()=>{},O,C=null,p=()=>{};if(y)j=P;else try{const N=W.useFormContext(),V=W.useController({name:e,control:N.control});j=V.field.value,F=V.field.onChange,O=V.field.ref,C=(Q=V.fieldState)==null?void 0:Q.error,p=N.clearErrors}catch{}const[k,R]=m.useState(!1),[v,D]=m.useState(""),H=m.useRef(null),q=m.useRef(a);m.useEffect(()=>{q.current=a},[a]),m.useEffect(()=>{const N=V=>{H.current&&!H.current.contains(V.target)&&R(!1)};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[]),m.useEffect(()=>{k||D("")},[k]),m.useEffect(()=>{if(!l)return;const N=setTimeout(()=>{var V;(V=q.current)==null||V.call(q,v)},w);return()=>clearTimeout(N)},[v,l,w]);const X=m.useMemo(()=>l&&!a&&v.trim()?n.filter(N=>String((N==null?void 0:N[r])??"").toLowerCase().includes(v.toLowerCase())):n??[],[n,l,a,v,r]),U=m.useMemo(()=>{if(j==null)return"";if(typeof j=="object")return String(j[d]??"");const N=(n||[]).find(V=>String(V==null?void 0:V[d])===String(j));return String(N?(N==null?void 0:N[r])??"":j)},[j,n,d,r]),Z=N=>{f||(y?S==null||S(N[d]):(F(N[d]),p==null||p(e)),x==null||x(N),R(!1))};return t.jsxs("div",{className:`select-wrapper form-group ${c?"hidden":""}`,ref:H,children:[t.jsx("label",{className:"control-label",children:s}),h?t.jsx("span",{className:"form-control",children:U||"-"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:`select-control ${C?"border-red":""} ${f?"readOnly":""}`,onClick:()=>!f&&R(N=>!N),ref:O,children:[t.jsx("span",{className:`select-display ${f?"readOnly":""}`,children:U||i}),t.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),k&&!f&&t.jsxs("div",{className:"select-dropdown",children:[l&&t.jsx("div",{className:"select-search",children:t.jsx("input",{type:"text",className:"select-search-input",value:v,onChange:N=>D(N.target.value),placeholder:b?"Carregando...":o,autoFocus:!0,onClick:N=>N.stopPropagation()})}),t.jsx("ul",{className:"select-options",children:b?t.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):X.length>0?X.map(N=>t.jsx("li",{onClick:()=>Z(N),className:"select-option handleHover",children:N[r]},N[d])):t.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),!y&&t.jsx("input",{type:"hidden",name:e,value:j||""}),(C||_)&&t.jsx("p",{className:"text-danger",children:String((C==null?void 0:C.message)??_)})]})}const ne=m.memo(se);function re({name:e,options:s=[],label:n="",valueKey:i="value",labelKey:r="label",forceReadOnly:d=!1,forceHidden:l=!1,valueManual:o,onChangeManual:b}){var O,C;let a=null;try{a=W.useFormContext()}catch{}const w=o!==void 0&&!!b,{isView:x,isReadOnly:$}=E.useFluigRuntime(),{isReadOnly:A,isHidden:P}=E.useSection(),S=A?A(e):!1,_=P?P(e):!1,y=d||S,g=l||_,u=y||$||x,f=()=>s?s.reduce((p,k)=>{const R=String(k[i]);if(w)p[R]=!!(o!=null&&o[R]);else if(a){const v=a.getValues(R);p[R]=v==="on"}else p[R]=!1;return p},{}):{},c=!w&&a?a.watch(e):void 0,h=m.useMemo(()=>w&&o?o:c&&typeof c=="object"?c:f(),[c,o,s]);m.useEffect(()=>{if(w||!a)return;const p=a.getValues(e);(!p||typeof p!="object")&&a.setValue(e,h,{shouldDirty:!1,shouldValidate:!1})},[h,e,a,w]);const j=(p,k)=>{if(u)return;const R={...h,[p]:k};if(w){b&&b(R);return}a&&(a.setValue(e,R,{shouldDirty:!0,shouldValidate:!0}),a.setValue(p,k?"on":"",{shouldValidate:!1}))},F=w?null:(C=(O=a==null?void 0:a.formState)==null?void 0:O.errors)==null?void 0:C[e];return t.jsxs("div",{className:`form-group ${g?"hidden":""}`,children:[n&&t.jsx("label",{children:n}),t.jsx("div",{className:`checkbox-group-custom ${u?"readOnly":""}`,children:s.map(p=>{const k=String(p[i]),R=h[k]===!0;return t.jsxs("div",{children:[!w&&a&&t.jsx("input",{type:"hidden",...a.register(k)}),t.jsxs("label",{className:`custom-checkbox ${R?"checked":""} ${u?"readOnly":""}`,children:[t.jsx("input",{type:"checkbox",checked:R,disabled:u,onChange:v=>j(k,v.target.checked)}),t.jsx("span",{className:"checkmark"}),t.jsx("span",{children:p[r]})]})]},k)})}),F&&t.jsx("p",{className:"text-danger",children:String(F.message)})]})}function ie({name:e,label:s="",options:n=[],valueKey:i="value",labelKey:r="label",iconKey:d="icon",forceReadOnly:l=!1,forceHidden:o=!1,valueManual:b,onChangeManual:a,errorManual:w}){var O,C;const x=b!==void 0&&!!a,{isReadOnly:$,isHidden:A}=E.useSection(),P=l||!!$(e),S=o||!!A(e),{isView:_,isReadOnly:y}=E.useFluigRuntime();let g=null;try{g=W.useFormContext()}catch{}const u=!x&&g?W.useController({name:e,control:g.control,defaultValue:""}):null,f=!x&&g?W.useFormState({name:e}):null,c=x?w:(C=(O=f==null?void 0:f.errors)==null?void 0:O[e])==null?void 0:C.message,h=P||y||_,j=x?b:(u==null?void 0:u.field.value)??"",F=m.useCallback(p=>{h||(x?a==null||a(p):(u==null||u.field.onChange(p),u==null||u.field.onBlur()))},[h,x,a,u]);return t.jsxs("div",{className:`form-group column ${S?"hidden":""}`,children:[s&&t.jsx("label",{className:"control-label",children:s}),t.jsx("div",{className:`btn-group ${h?"view-mode":""}`,"data-field-name":e,children:n.map(p=>{const k=p[i],R=j===k,v=p.color?{"--customColor":p.color}:void 0;return t.jsxs("div",{style:v,className:`btn fs-ellipsis ${R?"active":""}`,onClick:()=>F(k),children:[p[d]&&t.jsx("i",{className:`${p[d]} icon-sm`})," ",p[r]]},k)})}),!x&&t.jsx("input",{type:"hidden",name:e,value:j||""}),(c||w)&&t.jsx("p",{className:"text-danger",children:String(c??w)})]})}const ae=m.memo(ie),oe=({name:e,label:s="",placeholder:n="",className:i="",rows:r=4,maxLength:d,forceReadOnly:l=!1,forceHidden:o=!1,valueManual:b,onChangeManual:a,errorManual:w})=>{var h;const x=b!==void 0&&!!a,{isReadOnly:$,isHidden:A}=E.useSection(),P=l||!!$(e),S=o||!!A(e),{isView:_}=E.useFluigRuntime(),y=m.useRef(null);let g={value:b??"",onChange:j=>a==null?void 0:a(j)},u=null;if(!x)try{const{control:j}=W.useFormContext(),F=W.useController({name:e,control:j});g=F.field,u=(h=F.fieldState)==null?void 0:h.error}catch{}const f=()=>{y.current&&(y.current.style.height="auto",y.current.style.height=`${y.current.scrollHeight}px`)};if(m.useEffect(()=>{f()},[g.value]),_)return t.jsxs("div",{className:`form-group ${S?"hidden":""}`,children:[t.jsx("label",{children:s}),t.jsx("span",{className:"form-control",children:g.value||"-"})]});const c=`form-control ${P?"readOnly":""} ${u||w?"border-red":""} ${i}`;return t.jsxs("div",{className:`form-group ${S?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),t.jsx("textarea",{ref:y,rows:r,maxLength:d,value:g.value||"",placeholder:n,readOnly:P,className:c,style:{resize:"none",maxHeight:"400px",overflowY:"auto"},onChange:j=>{x?a==null||a(j.target.value):g.onChange(j)},onInput:f}),(u||w)&&t.jsx("p",{className:"text-danger",children:String((u==null?void 0:u.message)??w)})]})},ce=m.memo(oe);function B(e){return(s={})=>{const n=s.width?String(s.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function I(e){return(s,n)=>{const i=n!=null&&n.context?String(n.context):"standalone";let r;if(i==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,o=n!=null&&n.width?String(n.width):l;r=e.formattingValues[o]||e.formattingValues[l]}else{const l=e.defaultWidth,o=n!=null&&n.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[l]}const d=e.argumentCallback?e.argumentCallback(s):s;return r[d]}}function L(e){return(s,n={})=>{const i=n.width,r=i&&e.matchPatterns[i]||e.matchPatterns[e.defaultMatchWidth],d=s.match(r);if(!d)return null;const l=d[0],o=i&&e.parsePatterns[i]||e.parsePatterns[e.defaultParseWidth],b=Array.isArray(o)?le(o,x=>x.test(l)):de(o,x=>x.test(l));let a;a=e.valueCallback?e.valueCallback(b):b,a=n.valueCallback?n.valueCallback(a):a;const w=s.slice(l.length);return{value:a,rest:w}}}function de(e,s){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&s(e[n]))return n}function le(e,s){for(let n=0;n<e.length;n++)if(s(e[n]))return n}function ue(e){return(s,n={})=>{const i=s.match(e.matchPattern);if(!i)return null;const r=i[0],d=s.match(e.parsePattern);if(!d)return null;let l=e.valueCallback?e.valueCallback(d[0]):d[0];l=n.valueCallback?n.valueCallback(l):l;const o=s.slice(r.length);return{value:l,rest:o}}}const me={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},fe=(e,s,n)=>{let i;const r=me[e];return typeof r=="string"?i=r:s===1?i=r.one:i=r.other.replace("{{count}}",String(s)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"em "+i:"há "+i:i},he={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},xe={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ye={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},pe={date:B({formats:he,defaultWidth:"full"}),time:B({formats:xe,defaultWidth:"full"}),dateTime:B({formats:ye,defaultWidth:"full"})},ge={lastWeek:e=>{const s=e.getDay();return"'"+(s===0||s===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},ve=(e,s,n,i)=>{const r=ge[e];return typeof r=="function"?r(s):r},be={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},je={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},we={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},ke={narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Ne={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},Se={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},Re=(e,s)=>{const n=Number(e);return(s==null?void 0:s.unit)==="week"?n+"ª":n+"º"},Pe={ordinalNumber:Re,era:I({values:be,defaultWidth:"wide"}),quarter:I({values:je,defaultWidth:"wide",argumentCallback:e=>e-1}),month:I({values:we,defaultWidth:"wide"}),day:I({values:ke,defaultWidth:"wide"}),dayPeriod:I({values:Ne,defaultWidth:"wide",formattingValues:Se,defaultFormattingWidth:"wide"})},Ce=/^(\d+)[ºªo]?/i,Oe=/\d+/i,_e={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},$e={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},Ae={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Fe={any:[/1/i,/2/i,/3/i,/4/i]},We={narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},Ee={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},Te={narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},Ve={short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},De={narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},He={any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},qe={ordinalNumber:ue({matchPattern:Ce,parsePattern:Oe,valueCallback:e=>parseInt(e,10)}),era:L({matchPatterns:_e,defaultMatchWidth:"wide",parsePatterns:$e,defaultParseWidth:"any"}),quarter:L({matchPatterns:Ae,defaultMatchWidth:"wide",parsePatterns:Fe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:L({matchPatterns:We,defaultMatchWidth:"wide",parsePatterns:Ee,defaultParseWidth:"any"}),day:L({matchPatterns:Te,defaultMatchWidth:"wide",parsePatterns:Ve,defaultParseWidth:"any"}),dayPeriod:L({matchPatterns:De,defaultMatchWidth:"any",parsePatterns:He,defaultParseWidth:"any"})},Ie={code:"pt-BR",formatDistance:fe,formatLong:pe,formatRelative:ve,localize:Pe,match:qe,options:{weekStartsOn:0,firstWeekContainsDate:1}};/**
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 G=(...e)=>e.filter((s,n,i)=>!!s&&s.trim()!==""&&i.indexOf(s)===n).join(" ").trim();/**
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 Le=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
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 Be=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(s,n,i)=>i?i.toUpperCase():n.toLowerCase());/**
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 Y=e=>{const s=Be(e);return s.charAt(0).toUpperCase()+s.slice(1)};/**
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 ze={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"};/**
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 Xe=e=>{for(const s in e)if(s.startsWith("aria-")||s==="role"||s==="title")return!0;return!1};/**
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 Ue=m.forwardRef(({color:e="currentColor",size:s=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:d,iconNode:l,...o},b)=>m.createElement("svg",{ref:b,...ze,width:s,height:s,stroke:e,strokeWidth:i?Number(n)*24/Number(s):n,className:G("lucide",r),...!d&&!Xe(o)&&{"aria-hidden":"true"},...o},[...l.map(([a,w])=>m.createElement(a,w)),...Array.isArray(d)?d:[d]]));/**
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 z=(e,s)=>{const n=m.forwardRef(({className:i,...r},d)=>m.createElement(Ue,{ref:d,iconNode:s,className:G(`lucide-${Le(Y(e))}`,`lucide-${e}`,i),...r}));return n.displayName=Y(e),n};/**
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 Qe=[["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"}]],Ye=z("calendar",Qe);/**
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 Ge=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Je=z("chevron-left",Ge);/**
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 Ze=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ke=z("chevron-right",Ze);function Me(e){const s=m.useRef(null);return m.useEffect(()=>{function n(i){s.current&&!s.current.contains(i.target)&&e()}return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[e]),s}const J="dd/MM/yyyy",et=e=>{if(!e)return null;const s=T.parse(e,J,new Date);return T.isValid(s)?s:null},tt=e=>e?T.format(e,J):"",st=({name:e,label:s="",placeholder:n="dd/mm/aaaa",className:i="",forceReadOnly:r=!1,forceHidden:d=!1,valueManual:l,onChangeManual:o,errorManual:b})=>{var p;const[a,w]=m.useState(!1),[x,$]=m.useState(new Date),A=Me(()=>w(!1)),P=l!==void 0&&!!o;let S=null;try{S=W.useFormContext()}catch{}const{isView:_}=E.useFluigRuntime(),{isReadOnly:y,isHidden:g}=E.useSection(),u=r||!!y(e),f=d||!!g(e),c=!P&&S?W.useController({name:e,control:S.control}):null,h=P?l:c==null?void 0:c.field.value,j=P?b:(p=c==null?void 0:c.fieldState.error)==null?void 0:p.message,F=m.useMemo(()=>et(h),[h]),O=k=>{if(u)return;const R=tt(k);P?o==null||o(R):c==null||c.field.onChange(R),w(!1)},C=k=>{const R=T.eachDayOfInterval({start:T.startOfWeek(T.startOfMonth(k)),end:T.endOfWeek(T.endOfMonth(k))});return t.jsxs("div",{className:"dfe-calendar-pane",children:[t.jsxs("div",{className:"dfe-calendar-header",children:[t.jsx("button",{type:"button",onClick:v=>{v.stopPropagation(),$(T.subMonths(x,1))},className:"dfe-nav-btn",children:t.jsx(Je,{size:16})}),t.jsx("span",{className:"dfe-month-label",children:T.format(k,"MMMM yyyy",{locale:Ie})}),t.jsx("button",{type:"button",onClick:v=>{v.stopPropagation(),$(T.addMonths(x,1))},className:"dfe-nav-btn",children:t.jsx(Ke,{size:16})})]}),t.jsx("div",{className:"dfe-calendar-grid-header",children:["D","S","T","Q","Q","S","S"].map((v,D)=>t.jsx("span",{children:v},D))}),t.jsx("div",{className:"dfe-calendar-grid",children:R.map((v,D)=>{const H=!T.isSameMonth(v,k),q=F&&T.isSameDay(v,F);return t.jsx("div",{onClick:()=>!H&&O(v),className:`dfe-calendar-day
57
- ${q?"selected":""}
58
- ${H?"outside":""}
59
- ${T.isToday(v)?"today":""}`,children:T.format(v,"d")},D)})})]})};return f?null:_?t.jsxs("div",{className:`form-group ${i}`,children:[s&&t.jsx("label",{children:s}),t.jsx("span",{className:"form-control readOnly",style:{display:"block",height:"auto"},children:h||"-"})]}):t.jsxs("div",{ref:A,className:`form-group dfe-datepicker-container ${i}`,style:{position:"relative"},children:[s&&t.jsx("label",{children:s}),t.jsxs("div",{className:`form-control dfe-datepicker-trigger ${j?"border-red":""} ${u?"disabled":""}`,onClick:()=>!u&&w(!a),style:{display:"flex",alignItems:"center",cursor:u?"default":"pointer"},children:[t.jsx(Ye,{size:16,className:"dfe-calendar-icon",style:{marginRight:"8px",opacity:.5}}),t.jsx("span",{children:h||n})]}),a&&!u&&t.jsx("div",{className:"dfe-popover-content",children:t.jsx("div",{className:"dfe-calendars-wrapper",children:C(x)})}),j&&t.jsx("p",{className:"text-danger",children:String(j)})]})},nt=m.memo(st);function rt({mapping:e={},defaultLabel:s="Não reconhecido",className:n="",hidden:i=!1,label:r}){const{activityId:d}=E.useFluigRuntime(),l=m.useMemo(()=>!e||d===null||d===void 0?null:e[d],[d,e]);if(!l)return t.jsxs("div",{className:`form-group ${i?"hidden":""}`,children:[r&&t.jsx("label",{children:r}),t.jsx("div",{className:`status-badge default ${n}`,children:s})]});const o={"--customColor":l.color};return t.jsxs("div",{className:`form-group ${i?"hidden":""}`,children:[r&&t.jsx("label",{children:r}),t.jsxs("div",{className:`status-badge ${n}`,style:o,children:[l.icon&&t.jsx("i",{className:l.icon}),t.jsx("span",{children:l.label})]})]})}const it=m.memo(rt);function at({name:e,control:s,defaultRowValue:n,isView:i,isReadOnly:r,filters:d=[]}){const{field:l}=W.useController({name:e,control:s}),[o,b]=m.useState([]),[a,w]=m.useState([]),x=()=>Date.now()+Math.random(),$=f=>{try{const c=JSON.parse(f);return Array.isArray(c)?c.map(h=>({...h,_uid:h._uid||x()})):[]}catch(c){return console.error(`Erro ao ler dados da tabela "${e}":`,c),[]}};m.useEffect(()=>{if(!(o.length>0&&!i)&&l.value&&typeof l.value=="string"){const f=JSON.stringify(o);if(l.value===f)return;const c=$(l.value);b(c)}},[l.value,i]),m.useEffect(()=>{if(r)return;const f=JSON.stringify(o);l.value!==f&&l.onChange(f)},[o,l,r]);const A=m.useCallback(()=>{const f={_uid:x(),...n};b(c=>[...c,f])},[n]),P=m.useCallback(()=>{b(f=>f.filter(c=>!a.includes(c._uid))),w([])},[a]),S=m.useCallback((f,c,h)=>{b(j=>j.map(F=>F._uid===f?{...F,[c]:h}:F))},[]),_=m.useCallback(f=>{w(c=>c.includes(f)?c.filter(h=>h!==f):[...c,f])},[]),y=m.useCallback(f=>{w(f?o.map(c=>c._uid):[])},[o]),g=o.length>0&&a.length===o.length,u=m.useMemo(()=>!d||d.length===0?o:o.filter(f=>d.every(c=>{if("custom"in c)return c.custom(f);const h=f[c.field];switch(c.operator){case"===":return h===c.value;case"!==":return h!==c.value;case">":return h>c.value;case"<":return h<c.value;case">=":return h>=c.value;case"<=":return h<=c.value;default:return!0}})),[o,d]);return{field:l,tableRows:o,visibleRows:u,selectedRowIds:a,isAllSelected:g,handle:{addRow:A,removeRows:P,updateCellValue:S,toggleSelection:_,toggleSelectAll:y}}}const ot=({name:e,title:s="Tabela Dinâmica",columns:n,defaultRowValue:i={},forceReadOnly:r=!1,layout:d="fluid",actions:l=!0,filters:o=[]})=>{const{control:b}=W.useFormContext(),{isView:a,isReadOnly:w}=E.useFluigRuntime(),{isReadOnly:x}=E.useSection(),$=r||a||w||x&&x(e),{field:A,visibleRows:P,selectedRowIds:S,isAllSelected:_,handle:y}=at({name:e,control:b,defaultRowValue:i,isView:a,isReadOnly:!!$,filters:o}),g=d==="fixed";return t.jsxs("div",{className:`table-wrapper ${g?"table-fixed":"table-fluid"}`,children:[t.jsx("input",{type:"hidden",...A}),t.jsxs("div",{className:"header-handle",children:[t.jsx("h3",{children:s}),!$&&l&&t.jsxs("div",{className:"handle-actions",children:[t.jsxs("button",{type:"button",className:`btn ${S.length>0?"btn-danger":"btn-primary"}`,disabled:S.length===0,onClick:y.removeRows,children:["Remover (",S.length,")"]}),t.jsx("button",{type:"button",className:"btn-add",onClick:y.addRow,children:"Adicionar"})]})]}),t.jsx("div",{className:"table-scroll",children:t.jsxs("table",{className:"table-custom",children:[t.jsx("thead",{children:t.jsxs("tr",{children:[!$&&t.jsx("th",{style:{width:"50px"},children:t.jsx("input",{type:"checkbox",checked:_,onChange:u=>y.toggleSelectAll(u.target.checked)})}),n.map(u=>t.jsx("th",{style:u.width?{minWidth:g?u.width:"100%"}:{width:"max-content"},children:u.label},String(u.key)))]})}),t.jsxs("tbody",{children:[P.map((u,f)=>t.jsxs("tr",{children:[!$&&t.jsx("td",{children:t.jsx("input",{type:"checkbox",checked:S.includes(u._uid),onChange:()=>y.toggleSelection(u._uid)})}),n.map(c=>t.jsx("td",{children:c.render?c.render.length<=1?c.render({row:u,index:f,updateRow:(h,j)=>y.updateCellValue(u._uid,String(h),j),isLocked:!!$,isView:!!a}):c.render(u,f,(h,j)=>y.updateCellValue(u._uid,h,j),!!$,!!a):u[c.key]},`${u._uid}-${String(c.key)}`))]},u._uid)),P.length===0&&t.jsx("tr",{className:"empty-row",children:t.jsx("td",{colSpan:100,className:"text-center",children:$?"Nenhum registro encontrado.":"Nenhum registro."})})]})]})})]})},ct=(e,s)=>{const[n,i]=m.useState(null);let r=null;try{r=W.useFormContext().watch}catch{}const d=s!==void 0?s:r?r(e):void 0,l=m.useCallback(()=>{try{const b=window.top.__REACT_ATTACHMENT_BRIDGE__;if(b){const a=b.getAttachment(e,d);i(a||(d?{name:d,documentId:0}:null))}else i(d?{name:d,documentId:0}:null)}catch{i(d?{name:d,documentId:0}:null)}},[e,d,s]);return m.useEffect(()=>{l();const o=setInterval(l,2e3);return()=>clearInterval(o)},[l]),{attachment:n,sync:l}},dt=({name:e,label:s,help:n,valueManual:i,onChangeManual:r,forceReadOnly:d=!1,forceHidden:l=!1})=>{const o=!!r,{isReadOnly:b,isHidden:a}=E.useSection(),{isView:w}=E.useFluigRuntime(),x=d||w||!!b(e),$=l||!!a(e),[A,P]=m.useState(!1);let S=null;try{S=W.useFormContext().control}catch{}const _=S&&!o?W.useController({name:e,control:S}).field:{value:i,onChange:O=>r==null?void 0:r(O)},{attachment:y,sync:g}=ct(e,i),u=()=>{var O;try{const C=window.top;return{bridge:C.__REACT_ATTACHMENT_BRIDGE__,toast:(O=C.FLUIGC)==null?void 0:O.toast}}catch{return{bridge:null,toast:null}}},f=m.useCallback(()=>{if(x)return;const O=document.createElement("input");O.type="file",O.onchange=C=>{const p=C.target.files[0];if(!p)return;const{bridge:k,toast:R}=u();P(!0),k?k.upload(p,e,v=>{o?r==null||r(v.name):_.onChange(v.name),setTimeout(()=>{P(!1),g()},1e3),R&&R({title:"Sucesso",message:"Arquivo enviado",type:"success"})}):(o?r==null||r(p.name):_.onChange(p.name),P(!1))},O.click()},[e,_,g,r,x,o]),c=O=>{if(O.stopPropagation(),x)return;const C=(y==null?void 0:y.name)||i||_.value;if(!C)return;const{bridge:p,toast:k}=u();p?p.removeByFileName(C)?(o?r==null||r(""):_.onChange(""),g()):k&&k({title:"Erro",message:"Erro ao remover anexo",type:"danger"}):(o?r==null||r(""):_.onChange(""),g())},h=!!y&&!A,j=(y==null?void 0:y.name)||i||_.value,F=["fluig-attachment__box",h?"fluig-attachment__box--has-file":"",A?"fluig-attachment__box--uploading":"",x&&!h?"readOnly":"",x&&h?"fluig-attachment__box--readonly-view":""].join(" ");return $?null:t.jsxs("div",{className:"form-group fluig-attachment",children:[s&&t.jsx("label",{className:"fluig-attachment__label",children:s}),t.jsxs("div",{className:F,onClick:()=>{if(h){const O=u(),C=(y==null?void 0:y.physicalFileName)||(y==null?void 0:y.description)||(y==null?void 0:y.name)||j;O.bridge&&C&&O.bridge.view(C)}else f()},children:[t.jsxs("span",{className:"fluig-attachment__content",children:[t.jsx("i",{className:`flaticon icon-sm ${A?"flaticon-loading":h?"flaticon-file":"flaticon-paperclip"} fluig-attachment__icon`}),t.jsx("span",{className:"fluig-attachment__filename",children:A?" Enviando...":h?j:x?"Nenhum arquivo":n||"Anexar"})]}),h&&!x&&t.jsx("button",{type:"button",className:"fluig-attachment__btn-remove btn btn-link text-danger",onClick:c,children:t.jsx("i",{className:"flaticon flaticon-trash icon-sm"})})]}),!o&&S&&t.jsx("input",{type:"hidden",name:e,value:_.value||""})]})},lt=m.memo(dt);function ut({title:e,isOpen:s,onOpen:n,onClose:i,content:r,footer:d,width:l}){const o=m.useCallback(b=>{b.key==="Escape"&&i()},[i]);return m.useEffect(()=>(s&&(document.addEventListener("keydown",o),n==null||n(),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",o),document.body.style.overflow="auto"}),[s,o,n]),s?t.jsx("div",{className:"modal-overlay",onClick:i,"aria-modal":"true",role:"dialog",children:t.jsxs("div",{style:{maxWidth:l},className:"modal-container",onClick:b=>b.stopPropagation(),children:[t.jsxs("div",{className:"modal-header",children:[t.jsx("h3",{children:e}),t.jsx("div",{className:"btn-close-modal",onClick:i,role:"button","aria-label":"Fechar modal",children:t.jsx("i",{className:"flaticon flaticon-close icon-md","aria-hidden":"true"})})]}),t.jsx("div",{className:"modal-content",children:r}),d&&t.jsx("div",{className:"modal-footer",children:d})]})}):null}exports.Attachment=lt;exports.Checkbox=re;exports.DatePicker=nt;exports.Input=te;exports.Modal=ut;exports.RadioBtn=ae;exports.Select=ne;exports.SimpleTable=ot;exports.StatusBadge=it;exports.TextArea=ce;
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;