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