diefra_ecm_ui 1.0.3 → 1.0.4

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.
@@ -1,34 +1,31 @@
1
1
  import { default as React, JSX } from '../../../node_modules/react';
2
+ import { TableFilter, TableRow } from './useSimpleTable';
2
3
 
3
- export type SimpleTableRenderProps = {
4
- row: any;
4
+ export type SimpleTableRenderProps<T> = {
5
+ row: TableRow<T>;
5
6
  index: number;
6
- updateRow: (key: string, value: any) => void;
7
+ updateRow: (key: keyof T | string, value: any) => void;
7
8
  isLocked: boolean;
8
9
  isView: boolean;
9
10
  };
10
- type SimpleTableColumn = {
11
- key: string;
11
+ export type SimpleTableColumn<T> = {
12
+ key: keyof T | string;
12
13
  label: string;
13
14
  width?: string | number;
14
- render?: (rowOrProps: any, index?: number, onChange?: (key: string, value: any) => void, isReadOnly?: boolean, isView?: boolean) => React.ReactNode;
15
+ render?: {
16
+ (props: SimpleTableRenderProps<T>): React.ReactNode;
17
+ (row: TableRow<T>, index: number, onChange: (key: keyof T | string, value: any) => void, isReadOnly: boolean, isView: boolean): React.ReactNode;
18
+ };
15
19
  };
16
- type TableFilter = {
17
- field: string;
18
- operator: "===" | "!==" | ">" | "<" | ">=" | "<=";
19
- value: any;
20
- } | {
21
- custom: (row: any) => boolean;
22
- };
23
- type SimpleTableProps = {
20
+ type SimpleTableProps<T> = {
24
21
  name: string;
25
22
  title?: string;
26
- columns: SimpleTableColumn[];
27
- defaultRowValue?: Record<string, any>;
23
+ columns: SimpleTableColumn<T>[];
24
+ defaultRowValue?: Partial<T>;
28
25
  forceReadOnly?: boolean;
29
26
  layout?: "fluid" | "fixed";
30
27
  actions?: boolean;
31
- filters?: TableFilter[];
28
+ filters?: TableFilter<T>[];
32
29
  };
33
- declare const SimpleTable: ({ name, title, columns, defaultRowValue, forceReadOnly, layout, actions, filters, }: SimpleTableProps) => JSX.Element;
30
+ declare const SimpleTable: <T extends Record<string, any>>({ name, title, columns, defaultRowValue, forceReadOnly, layout, actions, filters, }: SimpleTableProps<T>) => JSX.Element;
34
31
  export default SimpleTable;
@@ -1,34 +1,33 @@
1
1
  import { Control } from 'react-hook-form';
2
2
 
3
- export interface TableRow {
3
+ export type TableRow<T> = T & {
4
4
  _uid: number;
5
- [key: string]: any;
6
- }
7
- type TableFilter = {
8
- field: string;
5
+ };
6
+ export type TableFilter<T> = {
7
+ field: Extract<keyof T, string> | string;
9
8
  operator: "===" | "!==" | ">" | "<" | ">=" | "<=";
10
9
  value: any;
11
10
  } | {
12
- custom: (row: any) => boolean;
11
+ custom: (row: TableRow<T>) => boolean;
13
12
  };
14
- interface UseSimpleTableProps {
13
+ interface UseSimpleTableProps<T> {
15
14
  name: string;
16
15
  control: Control<any>;
17
- defaultRowValue: object;
16
+ defaultRowValue: Partial<T>;
18
17
  isView: boolean;
19
18
  isReadOnly: boolean;
20
- filters?: TableFilter[];
19
+ filters?: TableFilter<T>[];
21
20
  }
22
- export declare function useSimpleTable({ name, control, defaultRowValue, isView, isReadOnly, filters, }: UseSimpleTableProps): {
21
+ export declare function useSimpleTable<T extends Record<string, any>>({ name, control, defaultRowValue, isView, isReadOnly, filters, }: UseSimpleTableProps<T>): {
23
22
  field: import('react-hook-form').ControllerRenderProps<any, string>;
24
- tableRows: TableRow[];
25
- visibleRows: TableRow[];
23
+ tableRows: TableRow<T>[];
24
+ visibleRows: TableRow<T>[];
26
25
  selectedRowIds: number[];
27
26
  isAllSelected: boolean;
28
27
  handle: {
29
28
  addRow: () => void;
30
29
  removeRows: () => void;
31
- updateCellValue: (uid: number, key: string, value: any) => void;
30
+ updateCellValue: (uid: number, key: keyof T | string, value: any) => void;
32
31
  toggleSelection: (uid: number) => void;
33
32
  toggleSelectAll: (isChecked: boolean) => void;
34
33
  };
@@ -5,6 +5,6 @@ export { default as RadioBtn } from './RadioBtn';
5
5
  export { default as TextArea } from './TextArea';
6
6
  export { default as DatePicker } from './DatePicker';
7
7
  export { default as StatusBadge } from './StatusBadge';
8
- export { default as SimpleTable } from './SimpleTable';
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';
Binary file
Binary file
Binary file
@@ -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>label.btn{--btnBase: var(--dfe-border);--btnText: var(--dfe-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%);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-bg);color:var(--btnText)!important;transition:all .2s ease-in-out;font-weight:400}.btn-group>label.btn:hover{background-color:var(--hoverColor);border-color:var(--borderColor);color:var(--borderColor)}.btn-group label.btn:has(input[type=radio]:checked){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 label.btn i{font-size:1.1em}.btn-group.view-mode label.btn{opacity:.5;pointer-events:none;filter:grayscale(100%)}.btn-group.view-mode label.btn:has(input[type=radio]:checked){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{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: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{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}.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-light, #f9f9f9);border:1px solid var(--dfe-border)}.fluig-attachment__box.readOnly{background-color:var(--dfe-muted);color:var(--dfe-muted-fg);border-color:var(--dfe-border);cursor:not-allowed;pointer-events:none}.fluig-attachment__box--uploading .fluigicon-loop-test{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
+ .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>label.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%);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>label.btn:hover{background-color:var(--hoverColor);border-color:var(--borderColor);color:color-mix(in srgb,var(--bgColor),var(--dfe-fg) 20%)!important}.btn-group label.btn:has(input[type=radio]:checked){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 label.btn i{font-size:1.1em}.btn-group.view-mode label.btn{opacity:.5;pointer-events:none;filter:grayscale(100%)}.btn-group.view-mode label.btn:has(input[type=radio]:checked){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{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}
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=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:g,onChangeManual:a,errorManual:j}){var P,O;const p=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_}=E.useFluigRuntime();let h=null;try{h=W.useFormContext()}catch{}const y=!p&&h?W.useController({name:e,control:h.control}):null,m=!p&&h?W.useFormState({name:e}):null,f=p?g:y==null?void 0:y.field.value,c=p?j:(O=(P=m==null?void 0:m.errors)==null?void 0:P[e])==null?void 0:O.message,x=u.useMemo(()=>r?M[r]??r:null,[r]),v=u.useCallback(b=>{if(!b)return"";const D=b.replace(/\D/g,"");return(Number(D)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),N=u.useCallback(b=>i==="monetary"?v(b):b,[i,v]),w=b=>{const D=N(b);p?a==null||a(D):y==null||y.field.onChange(D)},$=()=>{p||y==null||y.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 k=`form-control ${C?"readOnly":""} ${c?"border-red":""} ${d}`;return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),x?t.jsx(K.IMaskInput,{name:e,mask:x,value:String(f??""),unmask:!1,onAccept:b=>w(b),placeholder:n,readOnly:C,className:k,inputRef:p||y==null?void 0:y.field.ref,onBlur:$}):t.jsx("input",{type:"text",name:e,value:f??"",onChange:b=>w(b.target.value),onBlur:$,placeholder:n,readOnly:C,className:k}),c&&t.jsx("p",{className:"text-danger",children:String(c)})]})}const te=u.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:g=!1,onSearchChange:a,debounceTime:j=300,onSelect:p,forceReadOnly:A=!1,forceHidden:F=!1,valueManual:C,onChangeManual:R,errorManual:_}){var Q;const h=C!==void 0&&!!R,{isReadOnly:y,isHidden:m}=E.useSection(),f=A||!!y(e),c=F||!!m(e),{isView:x}=E.useFluigRuntime();let v="",N=()=>{},w,$=null,k=()=>{};if(h)v=C;else try{const S=W.useFormContext(),V=W.useController({name:e,control:S.control});v=V.field.value,N=V.field.onChange,w=V.field.ref,$=(Q=V.fieldState)==null?void 0:Q.error,k=S.clearErrors}catch{}const[P,O]=u.useState(!1),[b,D]=u.useState(""),H=u.useRef(null),I=u.useRef(a);u.useEffect(()=>{I.current=a},[a]),u.useEffect(()=>{const S=V=>{H.current&&!H.current.contains(V.target)&&O(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),u.useEffect(()=>{P||D("")},[P]),u.useEffect(()=>{if(!l)return;const S=setTimeout(()=>{var V;(V=I.current)==null||V.call(I,b)},j);return()=>clearTimeout(S)},[b,l,j]);const X=u.useMemo(()=>l&&!a&&b.trim()?n.filter(S=>String((S==null?void 0:S[r])??"").toLowerCase().includes(b.toLowerCase())):n??[],[n,l,a,b,r]),U=u.useMemo(()=>{if(v==null)return"";if(typeof v=="object")return String(v[d]??"");const S=(n||[]).find(V=>String(V==null?void 0:V[d])===String(v));return String(S?(S==null?void 0:S[r])??"":v)},[v,n,d,r]),Z=S=>{f||(h?R==null||R(S[d]):(N(S[d]),k==null||k(e)),p==null||p(S),O(!1))};return t.jsxs("div",{className:`select-wrapper form-group ${c?"hidden":""}`,ref:H,children:[t.jsx("label",{className:"control-label",children:s}),x?t.jsx("span",{className:"form-control",children:U||"-"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:`select-control ${$?"border-red":""} ${f?"readOnly":""}`,onClick:()=>!f&&O(S=>!S),ref:w,children:[t.jsx("span",{className:`select-display ${f?"readOnly":""}`,children:U||i}),t.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),P&&!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:b,onChange:S=>D(S.target.value),placeholder:g?"Carregando...":o,autoFocus:!0,onClick:S=>S.stopPropagation()})}),t.jsx("ul",{className:"select-options",children:g?t.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):X.length>0?X.map(S=>t.jsx("li",{onClick:()=>Z(S),className:"select-option handleHover",children:S[r]},S[d])):t.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),!h&&t.jsx("input",{type:"hidden",name:e,value:v||""}),($||_)&&t.jsx("p",{className:"text-danger",children:String(($==null?void 0:$.message)??_)})]})}const ne=u.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:g}){var w,$;let a=null;try{a=W.useFormContext()}catch{}const j=o!==void 0&&!!g,{isView:p,isReadOnly:A}=E.useFluigRuntime(),{isReadOnly:F,isHidden:C}=E.useSection(),R=F?F(e):!1,_=C?C(e):!1,h=d||R,y=l||_,m=h||A||p,f=()=>s?s.reduce((k,P)=>{const O=String(P[i]);if(j)k[O]=!!(o!=null&&o[O]);else if(a){const b=a.getValues(O);k[O]=b==="on"}else k[O]=!1;return k},{}):{},c=!j&&a?a.watch(e):void 0,x=u.useMemo(()=>j&&o?o:c&&typeof c=="object"?c:f(),[c,o,s]);u.useEffect(()=>{if(j||!a)return;const k=a.getValues(e);(!k||typeof k!="object")&&a.setValue(e,x,{shouldDirty:!1,shouldValidate:!1})},[x,e,a,j]);const v=(k,P)=>{if(m)return;const O={...x,[k]:P};if(j){g&&g(O);return}a&&(a.setValue(e,O,{shouldDirty:!0,shouldValidate:!0}),a.setValue(k,P?"on":"",{shouldValidate:!1}))},N=j?null:($=(w=a==null?void 0:a.formState)==null?void 0:w.errors)==null?void 0:$[e];return t.jsxs("div",{className:`form-group ${y?"hidden":""}`,children:[n&&t.jsx("label",{children:n}),t.jsx("div",{className:`checkbox-group-custom ${m?"readOnly":""}`,children:s.map(k=>{const P=String(k[i]),O=x[P]===!0;return t.jsxs("div",{children:[!j&&a&&t.jsx("input",{type:"hidden",...a.register(P)}),t.jsxs("label",{className:`custom-checkbox ${O?"checked":""} ${m?"readOnly":""}`,children:[t.jsx("input",{type:"checkbox",checked:O,disabled:m,onChange:b=>v(P,b.target.checked)}),t.jsx("span",{className:"checkmark"}),t.jsx("span",{children:k[r]})]})]},P)})}),N&&t.jsx("p",{className:"text-danger",children:String(N.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:g,onChangeManual:a,errorManual:j}){var v;const p=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_,isReadOnly:h}=E.useFluigRuntime();let y=null,m=null;if(!p)try{const{control:N}=W.useFormContext(),w=W.useController({name:e,control:N});y=w.field,m=(v=w.fieldState)==null?void 0:v.error}catch{}const f=C||h||_,c=p?g:(y==null?void 0:y.value)??"",x=u.useCallback(N=>{f||(p?a==null||a(N):y==null||y.onChange(N))},[f,p,a,y]);return t.jsxs("div",{className:`form-group column ${R?"hidden":""}`,children:[s&&t.jsx("label",{className:"control-label",children:s}),t.jsx("div",{className:`btn-group ${f?"view-mode":""}`,"data-field-name":e,children:n.map(N=>{const w=N[i],$=c===w,k=N.color?{"--customColor":N.color}:void 0;return t.jsxs("label",{htmlFor:`${e}_${w}`,style:k,className:`btn fs-ellipsis ${$?"active":""}`,children:[t.jsx("input",{type:"radio",id:`${e}_${w}`,name:e,value:w,checked:$,className:"hidden",onChange:()=>x(w),disabled:f}),N[d]&&t.jsx("i",{className:`${N[d]} icon-sm`})," ",N[r]]},w)})}),(m||j)&&t.jsx("p",{className:"text-danger",children:String((m==null?void 0:m.message)??j)})]})}const ae=u.memo(ie),oe=({name:e,label:s="",placeholder:n="",className:i="",rows:r=4,maxLength:d,forceReadOnly:l=!1,forceHidden:o=!1,valueManual:g,onChangeManual:a,errorManual:j})=>{var x;const p=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_}=E.useFluigRuntime(),h=u.useRef(null);let y={value:g??"",onChange:v=>a==null?void 0:a(v)},m=null;if(!p)try{const{control:v}=W.useFormContext(),N=W.useController({name:e,control:v});y=N.field,m=(x=N.fieldState)==null?void 0:x.error}catch{}const f=()=>{h.current&&(h.current.style.height="auto",h.current.style.height=`${h.current.scrollHeight}px`)};if(u.useEffect(()=>{f()},[y.value]),_)return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[t.jsx("label",{children:s}),t.jsx("span",{className:"form-control",children:y.value||"-"})]});const c=`form-control ${C?"readOnly":""} ${m||j?"border-red":""} ${i}`;return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),t.jsx("textarea",{ref:h,rows:r,maxLength:d,value:y.value||"",placeholder:n,readOnly:C,className:c,style:{resize:"none",maxHeight:"400px",overflowY:"auto"},onChange:v=>{p?a==null||a(v.target.value):y.onChange(v)},onInput:f}),(m||j)&&t.jsx("p",{className:"text-danger",children:String((m==null?void 0:m.message)??j)})]})},ce=u.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 q(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],g=Array.isArray(o)?le(o,p=>p.test(l)):de(o,p=>p.test(l));let a;a=e.valueCallback?e.valueCallback(g):g,a=n.valueCallback?n.valueCallback(a):a;const j=s.slice(l.length);return{value:a,rest:j}}}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"},pe={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ye={date:B({formats:he,defaultWidth:"full"}),time:B({formats:xe,defaultWidth:"full"}),dateTime:B({formats:pe,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:q({values:be,defaultWidth:"wide"}),quarter:q({values:je,defaultWidth:"wide",argumentCallback:e=>e-1}),month:q({values:we,defaultWidth:"wide"}),day:q({values:ke,defaultWidth:"wide"}),dayPeriod:q({values:Ne,defaultWidth:"wide",formattingValues:Se,defaultFormattingWidth:"wide"})},Ce=/^(\d+)[ºªo]?/i,$e=/\d+/i,Oe={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}},Ie={ordinalNumber:ue({matchPattern:Ce,parsePattern:$e,valueCallback:e=>parseInt(e,10)}),era:L({matchPatterns:Oe,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"})},qe={code:"pt-BR",formatDistance:fe,formatLong:ye,formatRelative:ve,localize:Pe,match:Ie,options:{weekStartsOn:0,firstWeekContainsDate:1}};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=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:g,onChangeManual:a,errorManual:j}){var P,O;const y=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_}=E.useFluigRuntime();let h=null;try{h=W.useFormContext()}catch{}const p=!y&&h?W.useController({name:e,control:h.control}):null,m=!y&&h?W.useFormState({name:e}):null,f=y?g:p==null?void 0:p.field.value,c=y?j:(O=(P=m==null?void 0:m.errors)==null?void 0:P[e])==null?void 0:O.message,x=u.useMemo(()=>r?M[r]??r:null,[r]),v=u.useCallback(b=>{if(!b)return"";const D=b.replace(/\D/g,"");return(Number(D)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),N=u.useCallback(b=>i==="monetary"?v(b):b,[i,v]),w=b=>{const D=N(b);y?a==null||a(D):p==null||p.field.onChange(D)},$=()=>{y||p==null||p.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 k=`form-control ${C?"readOnly":""} ${c?"border-red":""} ${d}`;return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),x?t.jsx(K.IMaskInput,{name:e,mask:x,value:String(f??""),unmask:!1,onAccept:b=>w(b),placeholder:n,readOnly:C,className:k,inputRef:y||p==null?void 0:p.field.ref,onBlur:$}):t.jsx("input",{type:"text",name:e,value:f??"",onChange:b=>w(b.target.value),onBlur:$,placeholder:n,readOnly:C,className:k}),c&&t.jsx("p",{className:"text-danger",children:String(c)})]})}const te=u.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:g=!1,onSearchChange:a,debounceTime:j=300,onSelect:y,forceReadOnly:A=!1,forceHidden:F=!1,valueManual:C,onChangeManual:R,errorManual:_}){var Q;const h=C!==void 0&&!!R,{isReadOnly:p,isHidden:m}=E.useSection(),f=A||!!p(e),c=F||!!m(e),{isView:x}=E.useFluigRuntime();let v="",N=()=>{},w,$=null,k=()=>{};if(h)v=C;else try{const S=W.useFormContext(),V=W.useController({name:e,control:S.control});v=V.field.value,N=V.field.onChange,w=V.field.ref,$=(Q=V.fieldState)==null?void 0:Q.error,k=S.clearErrors}catch{}const[P,O]=u.useState(!1),[b,D]=u.useState(""),H=u.useRef(null),q=u.useRef(a);u.useEffect(()=>{q.current=a},[a]),u.useEffect(()=>{const S=V=>{H.current&&!H.current.contains(V.target)&&O(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[]),u.useEffect(()=>{P||D("")},[P]),u.useEffect(()=>{if(!l)return;const S=setTimeout(()=>{var V;(V=q.current)==null||V.call(q,b)},j);return()=>clearTimeout(S)},[b,l,j]);const X=u.useMemo(()=>l&&!a&&b.trim()?n.filter(S=>String((S==null?void 0:S[r])??"").toLowerCase().includes(b.toLowerCase())):n??[],[n,l,a,b,r]),U=u.useMemo(()=>{if(v==null)return"";if(typeof v=="object")return String(v[d]??"");const S=(n||[]).find(V=>String(V==null?void 0:V[d])===String(v));return String(S?(S==null?void 0:S[r])??"":v)},[v,n,d,r]),Z=S=>{f||(h?R==null||R(S[d]):(N(S[d]),k==null||k(e)),y==null||y(S),O(!1))};return t.jsxs("div",{className:`select-wrapper form-group ${c?"hidden":""}`,ref:H,children:[t.jsx("label",{className:"control-label",children:s}),x?t.jsx("span",{className:"form-control",children:U||"-"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:`select-control ${$?"border-red":""} ${f?"readOnly":""}`,onClick:()=>!f&&O(S=>!S),ref:w,children:[t.jsx("span",{className:`select-display ${f?"readOnly":""}`,children:U||i}),t.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),P&&!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:b,onChange:S=>D(S.target.value),placeholder:g?"Carregando...":o,autoFocus:!0,onClick:S=>S.stopPropagation()})}),t.jsx("ul",{className:"select-options",children:g?t.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):X.length>0?X.map(S=>t.jsx("li",{onClick:()=>Z(S),className:"select-option handleHover",children:S[r]},S[d])):t.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),!h&&t.jsx("input",{type:"hidden",name:e,value:v||""}),($||_)&&t.jsx("p",{className:"text-danger",children:String(($==null?void 0:$.message)??_)})]})}const ne=u.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:g}){var w,$;let a=null;try{a=W.useFormContext()}catch{}const j=o!==void 0&&!!g,{isView:y,isReadOnly:A}=E.useFluigRuntime(),{isReadOnly:F,isHidden:C}=E.useSection(),R=F?F(e):!1,_=C?C(e):!1,h=d||R,p=l||_,m=h||A||y,f=()=>s?s.reduce((k,P)=>{const O=String(P[i]);if(j)k[O]=!!(o!=null&&o[O]);else if(a){const b=a.getValues(O);k[O]=b==="on"}else k[O]=!1;return k},{}):{},c=!j&&a?a.watch(e):void 0,x=u.useMemo(()=>j&&o?o:c&&typeof c=="object"?c:f(),[c,o,s]);u.useEffect(()=>{if(j||!a)return;const k=a.getValues(e);(!k||typeof k!="object")&&a.setValue(e,x,{shouldDirty:!1,shouldValidate:!1})},[x,e,a,j]);const v=(k,P)=>{if(m)return;const O={...x,[k]:P};if(j){g&&g(O);return}a&&(a.setValue(e,O,{shouldDirty:!0,shouldValidate:!0}),a.setValue(k,P?"on":"",{shouldValidate:!1}))},N=j?null:($=(w=a==null?void 0:a.formState)==null?void 0:w.errors)==null?void 0:$[e];return t.jsxs("div",{className:`form-group ${p?"hidden":""}`,children:[n&&t.jsx("label",{children:n}),t.jsx("div",{className:`checkbox-group-custom ${m?"readOnly":""}`,children:s.map(k=>{const P=String(k[i]),O=x[P]===!0;return t.jsxs("div",{children:[!j&&a&&t.jsx("input",{type:"hidden",...a.register(P)}),t.jsxs("label",{className:`custom-checkbox ${O?"checked":""} ${m?"readOnly":""}`,children:[t.jsx("input",{type:"checkbox",checked:O,disabled:m,onChange:b=>v(P,b.target.checked)}),t.jsx("span",{className:"checkmark"}),t.jsx("span",{children:k[r]})]})]},P)})}),N&&t.jsx("p",{className:"text-danger",children:String(N.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:g,onChangeManual:a,errorManual:j}){var v;const y=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_,isReadOnly:h}=E.useFluigRuntime();let p=null,m=null;if(!y)try{const{control:N}=W.useFormContext(),w=W.useController({name:e,control:N});p=w.field,m=(v=w.fieldState)==null?void 0:v.error}catch{}const f=C||h||_,c=y?g:(p==null?void 0:p.value)??"",x=u.useCallback(N=>{f||(y?a==null||a(N):p==null||p.onChange(N))},[f,y,a,p]);return t.jsxs("div",{className:`form-group column ${R?"hidden":""}`,children:[s&&t.jsx("label",{className:"control-label",children:s}),t.jsx("div",{className:`btn-group ${f?"view-mode":""}`,"data-field-name":e,children:n.map(N=>{const w=N[i],$=c===w,k=N.color?{"--customColor":N.color}:void 0;return t.jsxs("label",{htmlFor:`${e}_${w}`,style:k,className:`btn fs-ellipsis ${$?"active":""}`,children:[t.jsx("input",{type:"radio",id:`${e}_${w}`,name:e,value:w,checked:$,className:"hidden",onChange:()=>x(w),disabled:f}),N[d]&&t.jsx("i",{className:`${N[d]} icon-sm`})," ",N[r]]},w)})}),(m||j)&&t.jsx("p",{className:"text-danger",children:String((m==null?void 0:m.message)??j)})]})}const ae=u.memo(ie),oe=({name:e,label:s="",placeholder:n="",className:i="",rows:r=4,maxLength:d,forceReadOnly:l=!1,forceHidden:o=!1,valueManual:g,onChangeManual:a,errorManual:j})=>{var x;const y=g!==void 0&&!!a,{isReadOnly:A,isHidden:F}=E.useSection(),C=l||!!A(e),R=o||!!F(e),{isView:_}=E.useFluigRuntime(),h=u.useRef(null);let p={value:g??"",onChange:v=>a==null?void 0:a(v)},m=null;if(!y)try{const{control:v}=W.useFormContext(),N=W.useController({name:e,control:v});p=N.field,m=(x=N.fieldState)==null?void 0:x.error}catch{}const f=()=>{h.current&&(h.current.style.height="auto",h.current.style.height=`${h.current.scrollHeight}px`)};if(u.useEffect(()=>{f()},[p.value]),_)return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[t.jsx("label",{children:s}),t.jsx("span",{className:"form-control",children:p.value||"-"})]});const c=`form-control ${C?"readOnly":""} ${m||j?"border-red":""} ${i}`;return t.jsxs("div",{className:`form-group ${R?"hidden":""}`,children:[s&&t.jsx("label",{children:s}),t.jsx("textarea",{ref:h,rows:r,maxLength:d,value:p.value||"",placeholder:n,readOnly:C,className:c,style:{resize:"none",maxHeight:"400px",overflowY:"auto"},onChange:v=>{y?a==null||a(v.target.value):p.onChange(v)},onInput:f}),(m||j)&&t.jsx("p",{className:"text-danger",children:String((m==null?void 0:m.message)??j)})]})},ce=u.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],g=Array.isArray(o)?le(o,y=>y.test(l)):de(o,y=>y.test(l));let a;a=e.valueCallback?e.valueCallback(g):g,a=n.valueCallback?n.valueCallback(a):a;const j=s.slice(l.length);return{value:a,rest:j}}}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,$e=/\d+/i,Oe={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:$e,valueCallback:e=>parseInt(e,10)}),era:L({matchPatterns:Oe,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}};/**
2
2
  * @license lucide-react v0.575.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -53,7 +53,7 @@
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=u.useRef(null);return u.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:g})=>{var k;const[a,j]=u.useState(!1),[p,A]=u.useState(new Date),F=Me(()=>j(!1)),C=l!==void 0&&!!o;let R=null;try{R=W.useFormContext()}catch{}const{isView:_}=E.useFluigRuntime(),{isReadOnly:h,isHidden:y}=E.useSection(),m=r||!!h(e),f=d||!!y(e),c=!C&&R?W.useController({name:e,control:R.control}):null,x=C?l:c==null?void 0:c.field.value,v=C?g:(k=c==null?void 0:c.fieldState.error)==null?void 0:k.message,N=u.useMemo(()=>et(x),[x]),w=P=>{if(m)return;const O=tt(P);C?o==null||o(O):c==null||c.field.onChange(O),j(!1)},$=P=>{const O=T.eachDayOfInterval({start:T.startOfWeek(T.startOfMonth(P)),end:T.endOfWeek(T.endOfMonth(P))});return t.jsxs("div",{className:"dfe-calendar-pane",children:[t.jsxs("div",{className:"dfe-calendar-header",children:[t.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),A(T.subMonths(p,1))},className:"dfe-nav-btn",children:t.jsx(Je,{size:16})}),t.jsx("span",{className:"dfe-month-label",children:T.format(P,"MMMM yyyy",{locale:qe})}),t.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),A(T.addMonths(p,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((b,D)=>t.jsx("span",{children:b},D))}),t.jsx("div",{className:"dfe-calendar-grid",children:O.map((b,D)=>{const H=!T.isSameMonth(b,P),I=N&&T.isSameDay(b,N);return t.jsx("div",{onClick:()=>!H&&w(b),className:`dfe-calendar-day
57
- ${I?"selected":""}
56
+ */const Ze=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ke=z("chevron-right",Ze);function Me(e){const s=u.useRef(null);return u.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:g})=>{var k;const[a,j]=u.useState(!1),[y,A]=u.useState(new Date),F=Me(()=>j(!1)),C=l!==void 0&&!!o;let R=null;try{R=W.useFormContext()}catch{}const{isView:_}=E.useFluigRuntime(),{isReadOnly:h,isHidden:p}=E.useSection(),m=r||!!h(e),f=d||!!p(e),c=!C&&R?W.useController({name:e,control:R.control}):null,x=C?l:c==null?void 0:c.field.value,v=C?g:(k=c==null?void 0:c.fieldState.error)==null?void 0:k.message,N=u.useMemo(()=>et(x),[x]),w=P=>{if(m)return;const O=tt(P);C?o==null||o(O):c==null||c.field.onChange(O),j(!1)},$=P=>{const O=T.eachDayOfInterval({start:T.startOfWeek(T.startOfMonth(P)),end:T.endOfWeek(T.endOfMonth(P))});return t.jsxs("div",{className:"dfe-calendar-pane",children:[t.jsxs("div",{className:"dfe-calendar-header",children:[t.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),A(T.subMonths(y,1))},className:"dfe-nav-btn",children:t.jsx(Je,{size:16})}),t.jsx("span",{className:"dfe-month-label",children:T.format(P,"MMMM yyyy",{locale:Ie})}),t.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),A(T.addMonths(y,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((b,D)=>t.jsx("span",{children:b},D))}),t.jsx("div",{className:"dfe-calendar-grid",children:O.map((b,D)=>{const H=!T.isSameMonth(b,P),q=N&&T.isSameDay(b,N);return t.jsx("div",{onClick:()=>!H&&w(b),className:`dfe-calendar-day
57
+ ${q?"selected":""}
58
58
  ${H?"outside":""}
59
- ${T.isToday(b)?"today":""}`,children:T.format(b,"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:x||"-"})]}):t.jsxs("div",{ref:F,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 ${v?"border-red":""} ${m?"disabled":""}`,onClick:()=>!m&&j(!a),style:{display:"flex",alignItems:"center",cursor:m?"default":"pointer"},children:[t.jsx(Ye,{size:16,className:"dfe-calendar-icon",style:{marginRight:"8px",opacity:.5}}),t.jsx("span",{children:x||n})]}),a&&!m&&t.jsx("div",{className:"dfe-popover-content",children:t.jsx("div",{className:"dfe-calendars-wrapper",children:$(p)})}),v&&t.jsx("p",{className:"text-danger",children:String(v)})]})},nt=u.memo(st);function rt({mapping:e={},defaultLabel:s="Não reconhecido",className:n="",hidden:i=!1,label:r}){const{activityId:d}=E.useFluigRuntime(),l=u.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=u.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,g]=u.useState([]),[a,j]=u.useState([]),p=()=>Date.now()+Math.random(),A=f=>{try{const c=JSON.parse(f);return Array.isArray(c)?c.map(x=>({...x,_uid:x._uid||p()})):[]}catch(c){return console.error(`Erro ao ler dados da tabela "${e}":`,c),[]}};u.useEffect(()=>{if(!(o.length>0&&!i)&&l.value&&typeof l.value=="string"){const f=JSON.stringify(o);if(l.value===f)return;const c=A(l.value);g(c)}},[l.value,i]),u.useEffect(()=>{if(r)return;const f=JSON.stringify(o);l.value!==f&&l.onChange(f)},[o,l,r]);const F=u.useCallback(()=>{const f={_uid:p(),...n};g(c=>[...c,f])},[n]),C=u.useCallback(()=>{g(f=>f.filter(c=>!a.includes(c._uid))),j([])},[a]),R=u.useCallback((f,c,x)=>{g(v=>v.map(N=>N._uid===f?{...N,[c]:x}:N))},[]),_=u.useCallback(f=>{j(c=>c.includes(f)?c.filter(x=>x!==f):[...c,f])},[]),h=u.useCallback(f=>{j(f?o.map(c=>c._uid):[])},[o]),y=o.length>0&&a.length===o.length,m=u.useMemo(()=>!d||d.length===0?o:o.filter(f=>d.every(c=>{if("custom"in c)return c.custom(f);const x=f[c.field];switch(c.operator){case"===":return x===c.value;case"!==":return x!==c.value;case">":return x>c.value;case"<":return x<c.value;case">=":return x>=c.value;case"<=":return x<=c.value;default:return!0}})),[o,d]);return{field:l,tableRows:o,visibleRows:m,selectedRowIds:a,isAllSelected:y,handle:{addRow:F,removeRows:C,updateCellValue:R,toggleSelection:_,toggleSelectAll:h}}}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:g}=W.useFormContext(),{isView:a,isReadOnly:j}=E.useFluigRuntime(),{isReadOnly:p}=E.useSection(),A=r||a||j||p&&p(e),{field:F,visibleRows:C,selectedRowIds:R,isAllSelected:_,handle:h}=at({name:e,control:g,defaultRowValue:i,isView:a,isReadOnly:!!A,filters:o}),y=d==="fixed";return t.jsxs("div",{className:`table-wrapper ${y?"table-fixed":"table-fluid"}`,children:[t.jsx("input",{type:"hidden",...F}),t.jsxs("div",{className:"header-handle",children:[t.jsx("h3",{children:s}),!A&&l&&t.jsxs("div",{className:"handle-actions",children:[t.jsxs("button",{type:"button",className:`btn ${R.length>0?"btn-danger":"btn-primary"}`,disabled:R.length===0,onClick:h.removeRows,children:["Remover (",R.length,")"]}),t.jsx("button",{type:"button",className:"btn-add",onClick:h.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:[!A&&t.jsx("th",{style:{width:"50px"},children:t.jsx("input",{type:"checkbox",checked:_,onChange:m=>h.toggleSelectAll(m.target.checked)})}),n.map(m=>t.jsx("th",{style:m.width?{minWidth:y?m.width:"100%"}:{width:"max-content"},children:m.label},m.key))]})}),t.jsxs("tbody",{children:[C.map((m,f)=>t.jsxs("tr",{children:[!A&&t.jsx("td",{children:t.jsx("input",{type:"checkbox",checked:R.includes(m._uid),onChange:()=>h.toggleSelection(m._uid)})}),n.map(c=>t.jsx("td",{children:c.render?c.render.length<=1?c.render({row:m,index:f,updateRow:(x,v)=>h.updateCellValue(m._uid,x,v),isLocked:!!A,isView:!!a}):c.render(m,f,(x,v)=>h.updateCellValue(m._uid,x,v),!!A,!!a):m[c.key]},`${m._uid}-${c.key}`))]},m._uid)),C.length===0&&t.jsx("tr",{className:"empty-row",children:t.jsx("td",{colSpan:100,className:"text-center",children:A?"Nenhum registro encontrado.":"Nenhum registro."})})]})]})})]})},ct=(e,s)=>{const[n,i]=u.useState(null);let r=null;try{r=W.useFormContext().watch}catch{}const d=s!==void 0?s:r?r(e):void 0,l=u.useCallback(()=>{try{const g=window.top.__REACT_ATTACHMENT_BRIDGE__;if(g){const a=g.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 u.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=i!==void 0&&!!r,{isReadOnly:g,isHidden:a}=E.useSection(),{isView:j}=E.useFluigRuntime(),p=d||j||!!g(e),A=l||!!a(e),[F,C]=u.useState(!1);let R=null;try{R=W.useFormContext().control}catch{}const _=R&&!o?W.useController({name:e,control:R}).field:{value:i,onChange:w=>r==null?void 0:r(w)},{attachment:h,sync:y}=ct(e,i),m=()=>{var w;try{const $=window.top;return{bridge:$.__REACT_ATTACHMENT_BRIDGE__,toast:(w=$.FLUIGC)==null?void 0:w.toast}}catch{return{bridge:null,toast:null}}},f=u.useCallback(()=>{if(p)return;const w=document.createElement("input");w.type="file",w.onchange=$=>{const k=$.target.files[0];if(!k)return;const{bridge:P,toast:O}=m();C(!0),P?P.upload(k,e,b=>{o?r==null||r(b.name):_.onChange(b.name),setTimeout(()=>{C(!1),y()},1e3),O&&O({title:"Sucesso",message:"Arquivo enviado",type:"success"})}):(o?r==null||r(k.name):_.onChange(k.name),C(!1))},w.click()},[e,_,y,r,p,o]),c=w=>{if(w.stopPropagation(),p)return;const $=(h==null?void 0:h.name)||i||_.value;if(!$)return;const{bridge:k,toast:P}=m();k?k.removeByFileName($)?(o?r==null||r(""):_.onChange(""),y()):P&&P({title:"Erro",message:"Erro ao remover anexo",type:"danger"}):(o?r==null||r(""):_.onChange(""),y())},x=!!h&&!F,v=(h==null?void 0:h.name)||i||_.value,N=["fluig-attachment__box",x?"fluig-attachment__box--has-file":"",F?"fluig-attachment__box--uploading":"",p&&!x?"readOnly":"",p&&x?"fluig-attachment__box--readonly-view":""].join(" ");return A?null:t.jsxs("div",{className:"form-group fluig-attachment",children:[s&&t.jsx("label",{className:"fluig-attachment__label",children:s}),t.jsxs("div",{className:N,onClick:()=>{if(x){const w=m(),$=(h==null?void 0:h.physicalFileName)||(h==null?void 0:h.description)||(h==null?void 0:h.name)||v;w.bridge&&$&&w.bridge.view($)}else f()},children:[t.jsxs("span",{className:"fluig-attachment__content",children:[t.jsx("i",{className:`fluigicon icon-sm ${F?"fluigicon-loop-test":x?"fluigicon-file-pdf":"fluigicon-paperclip"} fluig-attachment__icon`}),t.jsx("span",{className:"fluig-attachment__filename",children:F?" Enviando...":x?v:p?"Nenhum arquivo":n||"Anexar"})]}),x&&!p&&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&&R&&t.jsx("input",{type:"hidden",name:e,value:_.value||""})]})},lt=u.memo(dt);function ut({title:e,isOpen:s,onOpen:n,onClose:i,content:r,footer:d,width:l}){const o=u.useCallback(g=>{g.key==="Escape"&&i()},[i]);return u.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:g=>g.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;
59
+ ${T.isToday(b)?"today":""}`,children:T.format(b,"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:x||"-"})]}):t.jsxs("div",{ref:F,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 ${v?"border-red":""} ${m?"disabled":""}`,onClick:()=>!m&&j(!a),style:{display:"flex",alignItems:"center",cursor:m?"default":"pointer"},children:[t.jsx(Ye,{size:16,className:"dfe-calendar-icon",style:{marginRight:"8px",opacity:.5}}),t.jsx("span",{children:x||n})]}),a&&!m&&t.jsx("div",{className:"dfe-popover-content",children:t.jsx("div",{className:"dfe-calendars-wrapper",children:$(y)})}),v&&t.jsx("p",{className:"text-danger",children:String(v)})]})},nt=u.memo(st);function rt({mapping:e={},defaultLabel:s="Não reconhecido",className:n="",hidden:i=!1,label:r}){const{activityId:d}=E.useFluigRuntime(),l=u.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=u.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,g]=u.useState([]),[a,j]=u.useState([]),y=()=>Date.now()+Math.random(),A=f=>{try{const c=JSON.parse(f);return Array.isArray(c)?c.map(x=>({...x,_uid:x._uid||y()})):[]}catch(c){return console.error(`Erro ao ler dados da tabela "${e}":`,c),[]}};u.useEffect(()=>{if(!(o.length>0&&!i)&&l.value&&typeof l.value=="string"){const f=JSON.stringify(o);if(l.value===f)return;const c=A(l.value);g(c)}},[l.value,i]),u.useEffect(()=>{if(r)return;const f=JSON.stringify(o);l.value!==f&&l.onChange(f)},[o,l,r]);const F=u.useCallback(()=>{const f={_uid:y(),...n};g(c=>[...c,f])},[n]),C=u.useCallback(()=>{g(f=>f.filter(c=>!a.includes(c._uid))),j([])},[a]),R=u.useCallback((f,c,x)=>{g(v=>v.map(N=>N._uid===f?{...N,[c]:x}:N))},[]),_=u.useCallback(f=>{j(c=>c.includes(f)?c.filter(x=>x!==f):[...c,f])},[]),h=u.useCallback(f=>{j(f?o.map(c=>c._uid):[])},[o]),p=o.length>0&&a.length===o.length,m=u.useMemo(()=>!d||d.length===0?o:o.filter(f=>d.every(c=>{if("custom"in c)return c.custom(f);const x=f[c.field];switch(c.operator){case"===":return x===c.value;case"!==":return x!==c.value;case">":return x>c.value;case"<":return x<c.value;case">=":return x>=c.value;case"<=":return x<=c.value;default:return!0}})),[o,d]);return{field:l,tableRows:o,visibleRows:m,selectedRowIds:a,isAllSelected:p,handle:{addRow:F,removeRows:C,updateCellValue:R,toggleSelection:_,toggleSelectAll:h}}}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:g}=W.useFormContext(),{isView:a,isReadOnly:j}=E.useFluigRuntime(),{isReadOnly:y}=E.useSection(),A=r||a||j||y&&y(e),{field:F,visibleRows:C,selectedRowIds:R,isAllSelected:_,handle:h}=at({name:e,control:g,defaultRowValue:i,isView:a,isReadOnly:!!A,filters:o}),p=d==="fixed";return t.jsxs("div",{className:`table-wrapper ${p?"table-fixed":"table-fluid"}`,children:[t.jsx("input",{type:"hidden",...F}),t.jsxs("div",{className:"header-handle",children:[t.jsx("h3",{children:s}),!A&&l&&t.jsxs("div",{className:"handle-actions",children:[t.jsxs("button",{type:"button",className:`btn ${R.length>0?"btn-danger":"btn-primary"}`,disabled:R.length===0,onClick:h.removeRows,children:["Remover (",R.length,")"]}),t.jsx("button",{type:"button",className:"btn-add",onClick:h.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:[!A&&t.jsx("th",{style:{width:"50px"},children:t.jsx("input",{type:"checkbox",checked:_,onChange:m=>h.toggleSelectAll(m.target.checked)})}),n.map(m=>t.jsx("th",{style:m.width?{minWidth:p?m.width:"100%"}:{width:"max-content"},children:m.label},String(m.key)))]})}),t.jsxs("tbody",{children:[C.map((m,f)=>t.jsxs("tr",{children:[!A&&t.jsx("td",{children:t.jsx("input",{type:"checkbox",checked:R.includes(m._uid),onChange:()=>h.toggleSelection(m._uid)})}),n.map(c=>t.jsx("td",{children:c.render?c.render.length<=1?c.render({row:m,index:f,updateRow:(x,v)=>h.updateCellValue(m._uid,String(x),v),isLocked:!!A,isView:!!a}):c.render(m,f,(x,v)=>h.updateCellValue(m._uid,x,v),!!A,!!a):m[c.key]},`${m._uid}-${String(c.key)}`))]},m._uid)),C.length===0&&t.jsx("tr",{className:"empty-row",children:t.jsx("td",{colSpan:100,className:"text-center",children:A?"Nenhum registro encontrado.":"Nenhum registro."})})]})]})})]})},ct=(e,s)=>{const[n,i]=u.useState(null);let r=null;try{r=W.useFormContext().watch}catch{}const d=s!==void 0?s:r?r(e):void 0,l=u.useCallback(()=>{try{const g=window.top.__REACT_ATTACHMENT_BRIDGE__;if(g){const a=g.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 u.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=i!==void 0&&!!r,{isReadOnly:g,isHidden:a}=E.useSection(),{isView:j}=E.useFluigRuntime(),y=d||j||!!g(e),A=l||!!a(e),[F,C]=u.useState(!1);let R=null;try{R=W.useFormContext().control}catch{}const _=R&&!o?W.useController({name:e,control:R}).field:{value:i,onChange:w=>r==null?void 0:r(w)},{attachment:h,sync:p}=ct(e,i),m=()=>{var w;try{const $=window.top;return{bridge:$.__REACT_ATTACHMENT_BRIDGE__,toast:(w=$.FLUIGC)==null?void 0:w.toast}}catch{return{bridge:null,toast:null}}},f=u.useCallback(()=>{if(y)return;const w=document.createElement("input");w.type="file",w.onchange=$=>{const k=$.target.files[0];if(!k)return;const{bridge:P,toast:O}=m();C(!0),P?P.upload(k,e,b=>{o?r==null||r(b.name):_.onChange(b.name),setTimeout(()=>{C(!1),p()},1e3),O&&O({title:"Sucesso",message:"Arquivo enviado",type:"success"})}):(o?r==null||r(k.name):_.onChange(k.name),C(!1))},w.click()},[e,_,p,r,y,o]),c=w=>{if(w.stopPropagation(),y)return;const $=(h==null?void 0:h.name)||i||_.value;if(!$)return;const{bridge:k,toast:P}=m();k?k.removeByFileName($)?(o?r==null||r(""):_.onChange(""),p()):P&&P({title:"Erro",message:"Erro ao remover anexo",type:"danger"}):(o?r==null||r(""):_.onChange(""),p())},x=!!h&&!F,v=(h==null?void 0:h.name)||i||_.value,N=["fluig-attachment__box",x?"fluig-attachment__box--has-file":"",F?"fluig-attachment__box--uploading":"",y&&!x?"readOnly":"",y&&x?"fluig-attachment__box--readonly-view":""].join(" ");return A?null:t.jsxs("div",{className:"form-group fluig-attachment",children:[s&&t.jsx("label",{className:"fluig-attachment__label",children:s}),t.jsxs("div",{className:N,onClick:()=>{if(x){const w=m(),$=(h==null?void 0:h.physicalFileName)||(h==null?void 0:h.description)||(h==null?void 0:h.name)||v;w.bridge&&$&&w.bridge.view($)}else f()},children:[t.jsxs("span",{className:"fluig-attachment__content",children:[t.jsx("i",{className:`flaticon icon-sm ${F?"flaticon-loading":x?"flaticon-file":"flaticon-paperclip"} fluig-attachment__icon`}),t.jsx("span",{className:"fluig-attachment__filename",children:F?" Enviando...":x?v:y?"Nenhum arquivo":n||"Anexar"})]}),x&&!y&&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&&R&&t.jsx("input",{type:"hidden",name:e,value:_.value||""})]})},lt=u.memo(dt);function ut({title:e,isOpen:s,onOpen:n,onClose:i,content:r,footer:d,width:l}){const o=u.useCallback(g=>{g.key==="Escape"&&i()},[i]);return u.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:g=>g.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;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsxs as x, jsx as r, Fragment as de } from "react/jsx-runtime";
2
- import { memo as z, useMemo as B, useCallback as C, useState as L, useRef as G, useEffect as E, forwardRef as se, createElement as Z } from "react";
2
+ import { memo as z, useMemo as B, useCallback as C, useState as F, useRef as G, useEffect as E, forwardRef as se, createElement as Z } from "react";
3
3
  import { useFormContext as H, useController as X, useFormState as ce } from "react-hook-form";
4
4
  import { IMaskInput as le } from "react-imask";
5
- import { useSection as F, useFluigRuntime as I } from "@fluig-kit/ecm";
5
+ import { useSection as I, useFluigRuntime as L } from "@fluig-kit/ecm";
6
6
  import { parse as ue, isValid as me, eachDayOfInterval as he, endOfWeek as fe, endOfMonth as pe, startOfWeek as ye, startOfMonth as ve, subMonths as ge, format as K, addMonths as be, isSameMonth as we, isSameDay as Ne, isToday as ke } from "date-fns";
7
7
  const xe = {
8
8
  cpf: "000.000.000-00",
@@ -10,7 +10,7 @@ const xe = {
10
10
  telefone: "(00) 00000-0000",
11
11
  cep: "00000-000"
12
12
  };
13
- function Re({
13
+ function Se({
14
14
  name: e,
15
15
  label: t = "",
16
16
  placeholder: n = "",
@@ -24,7 +24,7 @@ function Re({
24
24
  errorManual: w
25
25
  }) {
26
26
  var $, A;
27
- const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = F(), _ = l || !!V(e), P = o || !!D(e), { isView: W } = I();
27
+ const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = I(), _ = l || !!V(e), P = o || !!D(e), { isView: W } = L();
28
28
  let h = null;
29
29
  try {
30
30
  h = H();
@@ -40,11 +40,11 @@ function Re({
40
40
  style: "currency",
41
41
  currency: "BRL"
42
42
  });
43
- }, []), R = C(
43
+ }, []), S = C(
44
44
  (b) => i === "monetary" ? g(b) : b,
45
45
  [i, g]
46
46
  ), N = (b) => {
47
- const j = R(b);
47
+ const j = S(b);
48
48
  p ? a == null || a(j) : y == null || y.field.onChange(j);
49
49
  }, O = () => {
50
50
  p || y == null || y.field.onBlur();
@@ -87,8 +87,8 @@ function Re({
87
87
  d && /* @__PURE__ */ r("p", { className: "text-danger", children: String(d) })
88
88
  ] });
89
89
  }
90
- const Vt = z(Re);
91
- function Se({
90
+ const Vt = z(Se);
91
+ function Re({
92
92
  name: e,
93
93
  label: t = "",
94
94
  options: n = [],
@@ -108,48 +108,48 @@ function Se({
108
108
  errorManual: W
109
109
  }) {
110
110
  var ne;
111
- const h = _ !== void 0 && !!P, { isReadOnly: y, isHidden: u } = F(), m = V || !!y(e), d = D || !!u(e), { isView: f } = I();
112
- let g = "", R = () => {
111
+ const h = _ !== void 0 && !!P, { isReadOnly: y, isHidden: u } = I(), m = V || !!y(e), d = D || !!u(e), { isView: f } = L();
112
+ let g = "", S = () => {
113
113
  }, N, O = null, k = () => {
114
114
  };
115
115
  if (h)
116
116
  g = _;
117
117
  else
118
118
  try {
119
- const S = H(), T = X({ name: e, control: S.control });
120
- g = T.field.value, R = T.field.onChange, N = T.field.ref, O = (ne = T.fieldState) == null ? void 0 : ne.error, k = S.clearErrors;
119
+ const R = H(), T = X({ name: e, control: R.control });
120
+ g = T.field.value, S = T.field.onChange, N = T.field.ref, O = (ne = T.fieldState) == null ? void 0 : ne.error, k = R.clearErrors;
121
121
  } catch {
122
122
  }
123
- const [$, A] = L(!1), [b, j] = L(""), q = G(null), U = G(a);
123
+ const [$, A] = F(!1), [b, j] = F(""), q = G(null), U = G(a);
124
124
  E(() => {
125
125
  U.current = a;
126
126
  }, [a]), E(() => {
127
- const S = (T) => {
127
+ const R = (T) => {
128
128
  q.current && !q.current.contains(T.target) && A(!1);
129
129
  };
130
- return document.addEventListener("mousedown", S), () => document.removeEventListener("mousedown", S);
130
+ return document.addEventListener("mousedown", R), () => document.removeEventListener("mousedown", R);
131
131
  }, []), E(() => {
132
132
  $ || j("");
133
133
  }, [$]), E(() => {
134
134
  if (!l) return;
135
- const S = setTimeout(() => {
135
+ const R = setTimeout(() => {
136
136
  var T;
137
137
  (T = U.current) == null || T.call(U, b);
138
138
  }, w);
139
- return () => clearTimeout(S);
139
+ return () => clearTimeout(R);
140
140
  }, [b, l, w]);
141
141
  const ee = B(() => l && !a && b.trim() ? n.filter(
142
- (S) => String((S == null ? void 0 : S[s]) ?? "").toLowerCase().includes(b.toLowerCase())
142
+ (R) => String((R == null ? void 0 : R[s]) ?? "").toLowerCase().includes(b.toLowerCase())
143
143
  ) : n ?? [], [n, l, a, b, s]), te = B(() => {
144
144
  if (g == null) return "";
145
145
  if (typeof g == "object")
146
146
  return String(g[c] ?? "");
147
- const S = (n || []).find(
147
+ const R = (n || []).find(
148
148
  (T) => String(T == null ? void 0 : T[c]) === String(g)
149
149
  );
150
- return String(S ? (S == null ? void 0 : S[s]) ?? "" : g);
151
- }, [g, n, c, s]), oe = (S) => {
152
- m || (h ? P == null || P(S[c]) : (R(S[c]), k == null || k(e)), p == null || p(S), A(!1));
150
+ return String(R ? (R == null ? void 0 : R[s]) ?? "" : g);
151
+ }, [g, n, c, s]), oe = (R) => {
152
+ m || (h ? P == null || P(R[c]) : (S(R[c]), k == null || k(e)), p == null || p(R), A(!1));
153
153
  };
154
154
  return /* @__PURE__ */ x(
155
155
  "div",
@@ -163,7 +163,7 @@ function Se({
163
163
  "div",
164
164
  {
165
165
  className: `select-control ${O ? "border-red" : ""} ${m ? "readOnly" : ""}`,
166
- onClick: () => !m && A((S) => !S),
166
+ onClick: () => !m && A((R) => !R),
167
167
  ref: N,
168
168
  children: [
169
169
  /* @__PURE__ */ r("span", { className: `select-display ${m ? "readOnly" : ""}`, children: te || i }),
@@ -178,20 +178,20 @@ function Se({
178
178
  type: "text",
179
179
  className: "select-search-input",
180
180
  value: b,
181
- onChange: (S) => j(S.target.value),
181
+ onChange: (R) => j(R.target.value),
182
182
  placeholder: v ? "Carregando..." : o,
183
183
  autoFocus: !0,
184
- onClick: (S) => S.stopPropagation()
184
+ onClick: (R) => R.stopPropagation()
185
185
  }
186
186
  ) }),
187
- /* @__PURE__ */ r("ul", { className: "select-options", children: v ? /* @__PURE__ */ r("li", { className: "select-option readOnly", children: "Carregando..." }) : ee.length > 0 ? ee.map((S) => /* @__PURE__ */ r(
187
+ /* @__PURE__ */ r("ul", { className: "select-options", children: v ? /* @__PURE__ */ r("li", { className: "select-option readOnly", children: "Carregando..." }) : ee.length > 0 ? ee.map((R) => /* @__PURE__ */ r(
188
188
  "li",
189
189
  {
190
- onClick: () => oe(S),
190
+ onClick: () => oe(R),
191
191
  className: "select-option handleHover",
192
- children: S[s]
192
+ children: R[s]
193
193
  },
194
- S[c]
194
+ R[c]
195
195
  )) : /* @__PURE__ */ r("li", { className: "select-option readOnly", children: "Sem resultados" }) })
196
196
  ] })
197
197
  ] }),
@@ -201,7 +201,7 @@ function Se({
201
201
  }
202
202
  );
203
203
  }
204
- const Dt = z(Se);
204
+ const Dt = z(Re);
205
205
  function Tt({
206
206
  name: e,
207
207
  options: t = [],
@@ -219,7 +219,7 @@ function Tt({
219
219
  a = H();
220
220
  } catch {
221
221
  }
222
- const w = o !== void 0 && !!v, { isView: p, isReadOnly: V } = I(), { isReadOnly: D, isHidden: _ } = F(), P = D ? D(e) : !1, W = _ ? _(e) : !1, h = c || P, y = l || W, u = h || V || p, m = () => t ? t.reduce(
222
+ const w = o !== void 0 && !!v, { isView: p, isReadOnly: V } = L(), { isReadOnly: D, isHidden: _ } = I(), P = D ? D(e) : !1, W = _ ? _(e) : !1, h = c || P, y = l || W, u = h || V || p, m = () => t ? t.reduce(
223
223
  (k, $) => {
224
224
  const A = String($[i]);
225
225
  if (w)
@@ -252,7 +252,7 @@ function Tt({
252
252
  shouldDirty: !0,
253
253
  shouldValidate: !0
254
254
  }), a.setValue(k, $ ? "on" : "", { shouldValidate: !1 }));
255
- }, R = w ? null : (O = (N = a == null ? void 0 : a.formState) == null ? void 0 : N.errors) == null ? void 0 : O[e];
255
+ }, S = w ? null : (O = (N = a == null ? void 0 : a.formState) == null ? void 0 : N.errors) == null ? void 0 : O[e];
256
256
  return /* @__PURE__ */ x("div", { className: `form-group ${y ? "hidden" : ""}`, children: [
257
257
  n && /* @__PURE__ */ r("label", { children: n }),
258
258
  /* @__PURE__ */ r(
@@ -286,7 +286,7 @@ function Tt({
286
286
  })
287
287
  }
288
288
  ),
289
- R && /* @__PURE__ */ r("p", { className: "text-danger", children: String(R.message) })
289
+ S && /* @__PURE__ */ r("p", { className: "text-danger", children: String(S.message) })
290
290
  ] });
291
291
  }
292
292
  function Pe({
@@ -303,17 +303,17 @@ function Pe({
303
303
  errorManual: w
304
304
  }) {
305
305
  var g;
306
- const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = F(), _ = l || !!V(e), P = o || !!D(e), { isView: W, isReadOnly: h } = I();
306
+ const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = I(), _ = l || !!V(e), P = o || !!D(e), { isView: W, isReadOnly: h } = L();
307
307
  let y = null, u = null;
308
308
  if (!p)
309
309
  try {
310
- const { control: R } = H(), N = X({ name: e, control: R });
310
+ const { control: S } = H(), N = X({ name: e, control: S });
311
311
  y = N.field, u = (g = N.fieldState) == null ? void 0 : g.error;
312
312
  } catch {
313
313
  }
314
314
  const m = _ || h || W, d = p ? v : (y == null ? void 0 : y.value) ?? "", f = C(
315
- (R) => {
316
- m || (p ? a == null || a(R) : y == null || y.onChange(R));
315
+ (S) => {
316
+ m || (p ? a == null || a(S) : y == null || y.onChange(S));
317
317
  },
318
318
  [m, p, a, y]
319
319
  );
@@ -324,8 +324,8 @@ function Pe({
324
324
  {
325
325
  className: `btn-group ${m ? "view-mode" : ""}`,
326
326
  "data-field-name": e,
327
- children: n.map((R) => {
328
- const N = R[i], O = d === N, k = R.color ? { "--customColor": R.color } : void 0;
327
+ children: n.map((S) => {
328
+ const N = S[i], O = d === N, k = S.color ? { "--customColor": S.color } : void 0;
329
329
  return /* @__PURE__ */ x(
330
330
  "label",
331
331
  {
@@ -346,9 +346,9 @@ function Pe({
346
346
  disabled: m
347
347
  }
348
348
  ),
349
- R[c] && /* @__PURE__ */ r("i", { className: `${R[c]} icon-sm` }),
349
+ S[c] && /* @__PURE__ */ r("i", { className: `${S[c]} icon-sm` }),
350
350
  " ",
351
- R[s]
351
+ S[s]
352
352
  ]
353
353
  },
354
354
  N
@@ -373,15 +373,15 @@ const jt = z(Pe), $e = ({
373
373
  errorManual: w
374
374
  }) => {
375
375
  var f;
376
- const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = F(), _ = l || !!V(e), P = o || !!D(e), { isView: W } = I(), h = G(null);
376
+ const p = v !== void 0 && !!a, { isReadOnly: V, isHidden: D } = I(), _ = l || !!V(e), P = o || !!D(e), { isView: W } = L(), h = G(null);
377
377
  let y = {
378
378
  value: v ?? "",
379
379
  onChange: (g) => a == null ? void 0 : a(g)
380
380
  }, u = null;
381
381
  if (!p)
382
382
  try {
383
- const { control: g } = H(), R = X({ name: e, control: g });
384
- y = R.field, u = (f = R.fieldState) == null ? void 0 : f.error;
383
+ const { control: g } = H(), S = X({ name: e, control: g });
384
+ y = S.field, u = (f = S.fieldState) == null ? void 0 : f.error;
385
385
  } catch {
386
386
  }
387
387
  const m = () => {
@@ -589,15 +589,15 @@ const We = {
589
589
  }, He = (e, t, n, i) => {
590
590
  const s = Ee[e];
591
591
  return typeof s == "function" ? s(t) : s;
592
- }, Ie = {
592
+ }, Le = {
593
593
  narrow: ["AC", "DC"],
594
594
  abbreviated: ["AC", "DC"],
595
595
  wide: ["antes de cristo", "depois de cristo"]
596
- }, Le = {
596
+ }, Fe = {
597
597
  narrow: ["1", "2", "3", "4"],
598
598
  abbreviated: ["T1", "T2", "T3", "T4"],
599
599
  wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"]
600
- }, Fe = {
600
+ }, Ie = {
601
601
  narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
602
602
  abbreviated: [
603
603
  "jan",
@@ -716,16 +716,16 @@ const We = {
716
716
  }, Ue = {
717
717
  ordinalNumber: Xe,
718
718
  era: Q({
719
- values: Ie,
719
+ values: Le,
720
720
  defaultWidth: "wide"
721
721
  }),
722
722
  quarter: Q({
723
- values: Le,
723
+ values: Fe,
724
724
  defaultWidth: "wide",
725
725
  argumentCallback: (e) => e - 1
726
726
  }),
727
727
  month: Q({
728
- values: Fe,
728
+ values: Ie,
729
729
  defaultWidth: "wide"
730
730
  }),
731
731
  day: Q({
@@ -1028,13 +1028,13 @@ const ae = "dd/MM/yyyy", bt = (e) => {
1028
1028
  errorManual: v
1029
1029
  }) => {
1030
1030
  var k;
1031
- const [a, w] = L(!1), [p, V] = L(/* @__PURE__ */ new Date()), D = gt(() => w(!1)), _ = l !== void 0 && !!o;
1031
+ const [a, w] = F(!1), [p, V] = F(/* @__PURE__ */ new Date()), D = gt(() => w(!1)), _ = l !== void 0 && !!o;
1032
1032
  let P = null;
1033
1033
  try {
1034
1034
  P = H();
1035
1035
  } catch {
1036
1036
  }
1037
- const { isView: W } = I(), { isReadOnly: h, isHidden: y } = F(), u = s || !!h(e), m = c || !!y(e), d = !_ && P ? X({ name: e, control: P.control }) : null, f = _ ? l : d == null ? void 0 : d.field.value, g = _ ? v : (k = d == null ? void 0 : d.fieldState.error) == null ? void 0 : k.message, R = B(() => bt(f), [f]), N = ($) => {
1037
+ const { isView: W } = L(), { isReadOnly: h, isHidden: y } = I(), u = s || !!h(e), m = c || !!y(e), d = !_ && P ? X({ name: e, control: P.control }) : null, f = _ ? l : d == null ? void 0 : d.field.value, g = _ ? v : (k = d == null ? void 0 : d.fieldState.error) == null ? void 0 : k.message, S = B(() => bt(f), [f]), N = ($) => {
1038
1038
  if (u) return;
1039
1039
  const A = wt($);
1040
1040
  _ ? o == null || o(A) : d == null || d.field.onChange(A), w(!1);
@@ -1071,7 +1071,7 @@ const ae = "dd/MM/yyyy", bt = (e) => {
1071
1071
  ] }),
1072
1072
  /* @__PURE__ */ r("div", { className: "dfe-calendar-grid-header", children: ["D", "S", "T", "Q", "Q", "S", "S"].map((b, j) => /* @__PURE__ */ r("span", { children: b }, j)) }),
1073
1073
  /* @__PURE__ */ r("div", { className: "dfe-calendar-grid", children: A.map((b, j) => {
1074
- const q = !we(b, $), U = R && Ne(b, R);
1074
+ const q = !we(b, $), U = S && Ne(b, S);
1075
1075
  return /* @__PURE__ */ r(
1076
1076
  "div",
1077
1077
  {
@@ -1089,14 +1089,7 @@ const ae = "dd/MM/yyyy", bt = (e) => {
1089
1089
  };
1090
1090
  return m ? null : W ? /* @__PURE__ */ x("div", { className: `form-group ${i}`, children: [
1091
1091
  t && /* @__PURE__ */ r("label", { children: t }),
1092
- /* @__PURE__ */ r(
1093
- "span",
1094
- {
1095
- className: "form-control readOnly",
1096
- style: { display: "block", height: "auto" },
1097
- children: f || "-"
1098
- }
1099
- )
1092
+ /* @__PURE__ */ r("span", { className: "form-control readOnly", style: { display: "block", height: "auto" }, children: f || "-" })
1100
1093
  ] }) : /* @__PURE__ */ x(
1101
1094
  "div",
1102
1095
  {
@@ -1116,14 +1109,7 @@ const ae = "dd/MM/yyyy", bt = (e) => {
1116
1109
  cursor: u ? "default" : "pointer"
1117
1110
  },
1118
1111
  children: [
1119
- /* @__PURE__ */ r(
1120
- ht,
1121
- {
1122
- size: 16,
1123
- className: "dfe-calendar-icon",
1124
- style: { marginRight: "8px", opacity: 0.5 }
1125
- }
1126
- ),
1112
+ /* @__PURE__ */ r(ht, { size: 16, className: "dfe-calendar-icon", style: { marginRight: "8px", opacity: 0.5 } }),
1127
1113
  /* @__PURE__ */ r("span", { children: f || n })
1128
1114
  ]
1129
1115
  }
@@ -1141,7 +1127,7 @@ function kt({
1141
1127
  hidden: i = !1,
1142
1128
  label: s
1143
1129
  }) {
1144
- const { activityId: c } = I(), l = B(() => !e || c === null || c === void 0 ? null : e[c], [c, e]);
1130
+ const { activityId: c } = L(), l = B(() => !e || c === null || c === void 0 ? null : e[c], [c, e]);
1145
1131
  if (!l)
1146
1132
  return /* @__PURE__ */ x("div", { className: `form-group ${i ? "hidden" : ""}`, children: [
1147
1133
  s && /* @__PURE__ */ r("label", { children: s }),
@@ -1167,7 +1153,7 @@ function xt({
1167
1153
  isReadOnly: s,
1168
1154
  filters: c = []
1169
1155
  }) {
1170
- const { field: l } = X({ name: e, control: t }), [o, v] = L([]), [a, w] = L([]), p = () => Date.now() + Math.random(), V = (m) => {
1156
+ const { field: l } = X({ name: e, control: t }), [o, v] = F([]), [a, w] = F([]), p = () => Date.now() + Math.random(), V = (m) => {
1171
1157
  try {
1172
1158
  const d = JSON.parse(m);
1173
1159
  return Array.isArray(d) ? d.map((f) => ({
@@ -1194,22 +1180,11 @@ function xt({
1194
1180
  const m = { _uid: p(), ...n };
1195
1181
  v((d) => [...d, m]);
1196
1182
  }, [n]), _ = C(() => {
1197
- v(
1198
- (m) => m.filter((d) => !a.includes(d._uid))
1199
- ), w([]);
1200
- }, [a]), P = C(
1201
- (m, d, f) => {
1202
- v(
1203
- (g) => g.map(
1204
- (R) => R._uid === m ? { ...R, [d]: f } : R
1205
- )
1206
- );
1207
- },
1208
- []
1209
- ), W = C((m) => {
1210
- w(
1211
- (d) => d.includes(m) ? d.filter((f) => f !== m) : [...d, m]
1212
- );
1183
+ v((m) => m.filter((d) => !a.includes(d._uid))), w([]);
1184
+ }, [a]), P = C((m, d, f) => {
1185
+ v((g) => g.map((S) => S._uid === m ? { ...S, [d]: f } : S));
1186
+ }, []), W = C((m) => {
1187
+ w((d) => d.includes(m) ? d.filter((f) => f !== m) : [...d, m]);
1213
1188
  }, []), h = C(
1214
1189
  (m) => {
1215
1190
  w(m ? o.map((d) => d._uid) : []);
@@ -1253,7 +1228,7 @@ function xt({
1253
1228
  }
1254
1229
  };
1255
1230
  }
1256
- const It = ({
1231
+ const Lt = ({
1257
1232
  name: e,
1258
1233
  title: t = "Tabela Dinâmica",
1259
1234
  columns: n,
@@ -1263,7 +1238,7 @@ const It = ({
1263
1238
  actions: l = !0,
1264
1239
  filters: o = []
1265
1240
  }) => {
1266
- const { control: v } = H(), { isView: a, isReadOnly: w } = I(), { isReadOnly: p } = F(), V = s || a || w || p && p(e), { field: D, visibleRows: _, selectedRowIds: P, isAllSelected: W, handle: h } = xt({
1241
+ const { control: v } = H(), { isView: a, isReadOnly: w } = L(), { isReadOnly: p } = I(), V = s || a || w || p && p(e), { field: D, visibleRows: _, selectedRowIds: P, isAllSelected: W, handle: h } = xt({
1267
1242
  name: e,
1268
1243
  control: v,
1269
1244
  defaultRowValue: i,
@@ -1309,7 +1284,7 @@ const It = ({
1309
1284
  style: u.width ? { minWidth: y ? u.width : "100%" } : { width: "max-content" },
1310
1285
  children: u.label
1311
1286
  },
1312
- u.key
1287
+ String(u.key)
1313
1288
  ))
1314
1289
  ] }) }),
1315
1290
  /* @__PURE__ */ x("tbody", { children: [
@@ -1325,7 +1300,7 @@ const It = ({
1325
1300
  n.map((d) => /* @__PURE__ */ r("td", { children: d.render ? d.render.length <= 1 ? d.render({
1326
1301
  row: u,
1327
1302
  index: m,
1328
- updateRow: (f, g) => h.updateCellValue(u._uid, f, g),
1303
+ updateRow: (f, g) => h.updateCellValue(u._uid, String(f), g),
1329
1304
  isLocked: !!V,
1330
1305
  isView: !!a
1331
1306
  }) : d.render(
@@ -1334,14 +1309,14 @@ const It = ({
1334
1309
  (f, g) => h.updateCellValue(u._uid, f, g),
1335
1310
  !!V,
1336
1311
  !!a
1337
- ) : u[d.key] }, `${u._uid}-${d.key}`))
1312
+ ) : u[d.key] }, `${u._uid}-${String(d.key)}`))
1338
1313
  ] }, u._uid)),
1339
1314
  _.length === 0 && /* @__PURE__ */ r("tr", { className: "empty-row", children: /* @__PURE__ */ r("td", { colSpan: 100, className: "text-center", children: V ? "Nenhum registro encontrado." : "Nenhum registro." }) })
1340
1315
  ] })
1341
1316
  ] }) })
1342
1317
  ] });
1343
- }, Rt = (e, t) => {
1344
- const [n, i] = L(null);
1318
+ }, St = (e, t) => {
1319
+ const [n, i] = F(null);
1345
1320
  let s = null;
1346
1321
  try {
1347
1322
  s = H().watch;
@@ -1364,7 +1339,7 @@ const It = ({
1364
1339
  const o = setInterval(l, 2e3);
1365
1340
  return () => clearInterval(o);
1366
1341
  }, [l]), { attachment: n, sync: l };
1367
- }, St = ({
1342
+ }, Rt = ({
1368
1343
  name: e,
1369
1344
  label: t,
1370
1345
  help: n,
@@ -1373,7 +1348,7 @@ const It = ({
1373
1348
  forceReadOnly: c = !1,
1374
1349
  forceHidden: l = !1
1375
1350
  }) => {
1376
- const o = i !== void 0 && !!s, { isReadOnly: v, isHidden: a } = F(), { isView: w } = I(), p = c || w || !!v(e), V = l || !!a(e), [D, _] = L(!1);
1351
+ const o = i !== void 0 && !!s, { isReadOnly: v, isHidden: a } = I(), { isView: w } = L(), p = c || w || !!v(e), V = l || !!a(e), [D, _] = F(!1);
1377
1352
  let P = null;
1378
1353
  try {
1379
1354
  P = H().control;
@@ -1382,7 +1357,7 @@ const It = ({
1382
1357
  const W = P && !o ? X({ name: e, control: P }).field : {
1383
1358
  value: i,
1384
1359
  onChange: (N) => s == null ? void 0 : s(N)
1385
- }, { attachment: h, sync: y } = Rt(e, i), u = () => {
1360
+ }, { attachment: h, sync: y } = St(e, i), u = () => {
1386
1361
  var N;
1387
1362
  try {
1388
1363
  const O = window.top;
@@ -1420,11 +1395,10 @@ const It = ({
1420
1395
  message: "Erro ao remover anexo",
1421
1396
  type: "danger"
1422
1397
  }) : (o ? s == null || s("") : W.onChange(""), y());
1423
- }, f = !!h && !D, g = (h == null ? void 0 : h.name) || i || W.value, R = [
1398
+ }, f = !!h && !D, g = (h == null ? void 0 : h.name) || i || W.value, S = [
1424
1399
  "fluig-attachment__box",
1425
1400
  f ? "fluig-attachment__box--has-file" : "",
1426
1401
  D ? "fluig-attachment__box--uploading" : "",
1427
- // Só aplica a classe visual readOnly se NÃO tiver arquivo ou se realmente quisermos o estilo cinza
1428
1402
  p && !f ? "readOnly" : "",
1429
1403
  p && f ? "fluig-attachment__box--readonly-view" : ""
1430
1404
  ].join(" ");
@@ -1433,7 +1407,7 @@ const It = ({
1433
1407
  /* @__PURE__ */ x(
1434
1408
  "div",
1435
1409
  {
1436
- className: R,
1410
+ className: S,
1437
1411
  onClick: () => {
1438
1412
  if (f) {
1439
1413
  const N = u(), O = (h == null ? void 0 : h.physicalFileName) || (h == null ? void 0 : h.description) || (h == null ? void 0 : h.name) || g;
@@ -1446,7 +1420,7 @@ const It = ({
1446
1420
  /* @__PURE__ */ r(
1447
1421
  "i",
1448
1422
  {
1449
- className: `fluigicon icon-sm ${D ? "fluigicon-loop-test" : f ? "fluigicon-file-pdf" : "fluigicon-paperclip"} fluig-attachment__icon`
1423
+ className: `flaticon icon-sm ${D ? "flaticon-loading" : f ? "flaticon-file" : "flaticon-paperclip"} fluig-attachment__icon`
1450
1424
  }
1451
1425
  ),
1452
1426
  /* @__PURE__ */ r("span", { className: "fluig-attachment__filename", children: D ? " Enviando..." : f ? g : p ? "Nenhum arquivo" : n || "Anexar" })
@@ -1465,8 +1439,8 @@ const It = ({
1465
1439
  ),
1466
1440
  !o && P && /* @__PURE__ */ r("input", { type: "hidden", name: e, value: W.value || "" })
1467
1441
  ] });
1468
- }, Lt = z(St);
1469
- function Ft({
1442
+ }, Ft = z(Rt);
1443
+ function It({
1470
1444
  title: e,
1471
1445
  isOpen: t,
1472
1446
  onOpen: n,
@@ -1525,14 +1499,14 @@ function Ft({
1525
1499
  ) : null;
1526
1500
  }
1527
1501
  export {
1528
- Lt as Attachment,
1502
+ Ft as Attachment,
1529
1503
  Tt as Checkbox,
1530
1504
  Et as DatePicker,
1531
1505
  Vt as Input,
1532
- Ft as Modal,
1506
+ It as Modal,
1533
1507
  jt as RadioBtn,
1534
1508
  Dt as Select,
1535
- It as SimpleTable,
1509
+ Lt as SimpleTable,
1536
1510
  Ht as StatusBadge,
1537
1511
  Ct as TextArea
1538
1512
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "diefra_ecm_ui",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },