@nice2dev/ui-enterprise 1.3.7 → 1.3.8

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.
Files changed (3) hide show
  1. package/dist/index.cjs +3 -3
  2. package/dist/index.mjs +1126 -1085
  3. package/package.json +3 -3
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("@nice2dev/icons"),T=require("@nice2dev/ui"),r=require("react");function ve(s,i,a){const c=a.csvDelimiter||",",t=[];return a.includeHeaders!==!1&&t.push(i.filter(l=>l.include).map(l=>`"${l.label}"`).join(c)),s.forEach(l=>{const h=i.filter(o=>o.include).map(o=>{let d=l[o.field];return o.transform&&(d=o.transform(d)),d==null?"":typeof d=="string"?`"${d.replace(/"/g,'""')}"`:String(d)});t.push(h.join(c))}),t.join(`
2
- `)}function fe(s,i,a){const c=i.filter(l=>l.include),t=s.map(l=>{const h={};return c.forEach(o=>{let d=l[o.field];o.transform&&(d=o.transform(d)),h[o.field]=d}),h});return JSON.stringify(t,null,2)}const ue={csv:{label:"CSV",icon:e.jsx(n.NtdFileText,{size:20}),description:"Comma-separated values"},xlsx:{label:"Excel",icon:e.jsx(n.NtdBarChart,{size:20}),description:"Microsoft Excel"},json:{label:"JSON",icon:e.jsx(n.NtdBrackets,{size:20}),description:"JavaScript Object Notation"},pdf:{label:"PDF",icon:e.jsx(n.NtdFile,{size:20}),description:"Portable Document Format"},xml:{label:"XML",icon:e.jsx(n.NtdClipboard,{size:20}),description:"Extensible Markup Language"}},ye=({formats:s,selected:i,onChange:a})=>e.jsx("div",{className:"nice-export-formats",children:s.map(c=>{const t=ue[c];return e.jsxs("button",{type:"button",className:`nice-export-format ${i===c?"nice-export-format--selected":""}`,onClick:()=>a(c),title:t.description,children:[e.jsx("span",{className:"nice-export-format-icon",children:t.icon}),e.jsx("span",{className:"nice-export-format-label",children:t.label})]},c)})}),ke=({fields:s,onChange:i})=>{const{t:a}=T.useNiceTranslation(),c=h=>{const o=[...s];o[h]={...o[h],include:!o[h].include},i(o)},t=h=>{i(s.map(o=>({...o,include:h})))},l=s.filter(h=>h.include).length;return e.jsxs("div",{className:"nice-export-fields",children:[e.jsxs("div",{className:"nice-export-fields-header",children:[e.jsx("span",{children:a("dataExportCenter.fieldsToExport","Fields to export ({selectedCount}/{fields})").replace("{selectedCount}",String(l)).replace("{fields}",String(s.length))}),e.jsxs("div",{className:"nice-export-fields-actions",children:[e.jsx("button",{type:"button",onClick:()=>t(!0),children:a("dataExportCenter.selectAll","Select all")}),e.jsx("button",{type:"button",onClick:()=>t(!1),children:a("dataExportCenter.deselectAll","Deselect all")})]})]}),e.jsx("div",{className:"nice-export-fields-list",children:s.map((h,o)=>e.jsxs("label",{className:"nice-export-field",children:[e.jsx("input",{type:"checkbox",checked:h.include,onChange:()=>c(o)}),e.jsx("span",{className:"nice-export-field-label",children:h.label}),e.jsx("span",{className:"nice-export-field-name",children:h.field})]},h.field))})]})},we=({format:s,options:i,onChange:a})=>{const{t:c}=T.useNiceTranslation(),t=(l,h)=>{a({...i,[l]:h})};return e.jsxs("div",{className:"nice-export-options",children:[e.jsx("h4",{children:c("dataExportCenter.exportOptions","Export Options")}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("input",{type:"checkbox",checked:i.includeHeaders!==!1,onChange:l=>t("includeHeaders",l.target.checked)}),c("dataExportCenter.includeHeaders","Include headers")]}),s==="csv"&&e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.delimiter","Delimiter:")}),e.jsxs("select",{value:i.csvDelimiter||",",onChange:l=>t("csvDelimiter",l.target.value),children:[e.jsx("option",{value:",",children:c("dataExportCenter.comma","Comma (,)")}),e.jsx("option",{value:";",children:c("dataExportCenter.semicolon","Semicolon (;)")}),e.jsx("option",{value:"\\t",children:c("dataExportCenter.tab","Tab")}),e.jsx("option",{value:"|",children:c("dataExportCenter.pipe","Pipe (|)")})]})]}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.dateFormat","Date format:")}),e.jsxs("select",{value:i.dateFormat||"YYYY-MM-DD",onChange:l=>t("dateFormat",l.target.value),children:[e.jsx("option",{value:"YYYY-MM-DD",children:c("dataExportCenter.yyyyMmDd","YYYY-MM-DD")}),e.jsx("option",{value:"DD/MM/YYYY",children:c("dataExportCenter.ddMmYyyy","DD/MM/YYYY")}),e.jsx("option",{value:"MM/DD/YYYY",children:c("dataExportCenter.mmDdYyyy","MM/DD/YYYY")}),e.jsx("option",{value:"ISO",children:c("dataExportCenter.iso8601","ISO 8601")})]})]}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.encoding","Encoding:")}),e.jsxs("select",{value:i.encoding||"utf-8",onChange:l=>t("encoding",l.target.value),children:[e.jsx("option",{value:"utf-8",children:c("dataExportCenter.utf8","UTF-8")}),e.jsx("option",{value:"utf-16",children:c("dataExportCenter.utf16","UTF-16")}),e.jsx("option",{value:"iso-8859-1",children:c("dataExportCenter.iso88591","ISO-8859-1")})]})]}),(s==="xlsx"||s==="pdf")&&e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.passwordProtect","Password protect:")}),e.jsx("input",{type:"password",value:i.password||"",onChange:l=>t("password",l.target.value||void 0),placeholder:c("dataExportCenter.leaveEmptyForNoPassword","Leave empty for no password")})]})]})},Ce=({jobs:s,onDownload:i})=>{const{t:a}=T.useNiceTranslation();if(s.length===0)return e.jsx("div",{className:"nice-export-history-empty",children:a("dataExportCenter.noExportHistory","No export history")});const c=t=>t?t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`:"-";return e.jsxs("div",{className:"nice-export-history",children:[e.jsx("h4",{children:a("dataExportCenter.exportHistory","Export History")}),e.jsx("div",{className:"nice-export-history-list",children:s.map(t=>e.jsxs("div",{className:`nice-export-job nice-export-job--${t.status}`,children:[e.jsxs("div",{className:"nice-export-job-info",children:[e.jsx("span",{className:"nice-export-job-name",children:t.name}),e.jsx("span",{className:"nice-export-job-format",children:t.format.toUpperCase()}),e.jsx("span",{className:"nice-export-job-date",children:new Date(t.createdAt).toLocaleString()})]}),e.jsxs("div",{className:"nice-export-job-meta",children:[t.rowCount&&e.jsx("span",{children:a("dataExportCenter.rows","{rowCount} rows").replace("{rowCount}",String(t.rowCount))}),t.fileSize&&e.jsx("span",{children:c(t.fileSize)})]}),e.jsxs("div",{className:"nice-export-job-status",children:[t.status==="processing"&&e.jsx("div",{className:"nice-export-job-progress",children:e.jsx("div",{className:"nice-export-job-progress-bar",style:{width:`${t.progress}%`}})}),t.status==="completed"&&t.downloadUrl&&e.jsx("button",{type:"button",className:"nice-export-job-download",onClick:()=>i==null?void 0:i(t),children:a("dataExportCenter.download","Download")}),t.status==="failed"&&e.jsx("span",{className:"nice-export-job-error",title:t.error,children:a("dataExportCenter.failed","Failed")})]})]},t.id))})]})},Se=Object.assign(r.forwardRef(({dataSource:s,formats:i=["csv","xlsx","json","pdf"],templates:a=[],enableScheduling:c=!1,exportHistory:t=[],onExportStart:l,onExportComplete:h,onExportError:o,onSaveTemplate:d,onDeleteTemplate:v,onSchedule:S,customExportHandler:F,title:y,description:z,className:$="",style:J},E)=>{const{t:_}=T.useNiceTranslation(),se=y??_("dataExportCenter.title","Data Export"),[M,G]=r.useState(i[0]),[I,x]=r.useState(s.getFields()),[j,g]=r.useState({includeHeaders:!0,dateFormat:"YYYY-MM-DD",encoding:"utf-8"}),[W,m]=r.useState(!1),[H,R]=r.useState(0),[O,D]=r.useState("export"),X=r.useCallback(async()=>{const b={id:Date.now().toString(),name:`Export ${new Date().toISOString()}`,format:M,status:"processing",progress:0,createdAt:new Date};m(!0),R(0),l==null||l(b);try{const k=await s.fetchData({fields:I,filters:void 0,sorting:void 0});R(50);let A;if(F)A=await F(M,k,j);else switch(M){case"csv":A=ve(k,I,j);break;case"json":A=fe(k,I,j);break;default:throw new Error(`Format ${M} requires a custom export handler`)}R(100);const Z=typeof A=="string"?new Blob([A],{type:"text/plain"}):A,Y=URL.createObjectURL(Z),f=document.createElement("a");f.href=Y,f.download=`export-${Date.now()}.${M}`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(Y);const P={...b,status:"completed",progress:100,completedAt:new Date,rowCount:k.length,fileSize:Z.size};h==null||h(P)}catch(k){const A={...b,status:"failed",error:k instanceof Error?k.message:"Unknown error"};o==null||o(A,k instanceof Error?k:new Error("Export failed"))}finally{m(!1),R(0)}},[M,I,j,s,F,l,h,o]),B=r.useCallback(b=>{const k=a.find(A=>A.id===b);k&&(G(k.format),x(k.fields),k.options&&g(k.options))},[a]);return r.useImperativeHandle(E,()=>({exportNow:async b=>{G(b),await X()},getSelectedFields:()=>I,loadTemplate:B})),e.jsxs("div",{className:`nice-export-center ${$}`,style:J,children:[e.jsx("div",{className:"nice-export-header",children:e.jsxs("div",{className:"nice-export-title-area",children:[e.jsx("h3",{className:"nice-export-title",children:se}),z&&e.jsx("p",{className:"nice-export-description",children:z})]})}),e.jsxs("div",{className:"nice-export-tabs",children:[e.jsx("button",{type:"button",className:`nice-export-tab ${O==="export"?"nice-export-tab--active":""}`,onClick:()=>D("export"),children:_("dataExportCenter.export","Export")}),a.length>0&&e.jsx("button",{type:"button",className:`nice-export-tab ${O==="templates"?"nice-export-tab--active":""}`,onClick:()=>D("templates"),children:_("dataExportCenter.templates","Templates ({templates})").replace("{templates}",String(a.length))}),t.length>0&&e.jsx("button",{type:"button",className:`nice-export-tab ${O==="history"?"nice-export-tab--active":""}`,onClick:()=>D("history"),children:_("dataExportCenter.history","History")})]}),e.jsxs("div",{className:"nice-export-content",children:[O==="export"&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{formats:i,selected:M,onChange:G}),e.jsx(ke,{fields:I,onChange:x}),e.jsx(we,{format:M,options:j,onChange:g}),e.jsxs("div",{className:"nice-export-actions",children:[e.jsx("button",{type:"button",className:"nice-export-btn nice-export-btn--primary",onClick:X,disabled:W||I.filter(b=>b.include).length===0,children:W?_("dataExportCenter.exporting","Exporting... {progress}%").replace("{progress}",String(H)):_("dataExportCenter.exportNow","Export Now")}),d&&e.jsx("button",{type:"button",className:"nice-export-btn nice-export-btn--secondary",onClick:()=>d({id:Date.now().toString(),name:`Template ${a.length+1}`,format:M,fields:I,options:j}),children:_("dataExportCenter.saveAsTemplate","Save as Template")})]})]}),O==="templates"&&e.jsx("div",{className:"nice-export-templates",children:a.map(b=>e.jsxs("div",{className:"nice-export-template",children:[e.jsxs("div",{className:"nice-export-template-info",children:[e.jsx("span",{className:"nice-export-template-name",children:b.name}),e.jsxs("span",{className:"nice-export-template-format",children:[ue[b.format].icon," ",ue[b.format].label]}),b.description&&e.jsx("span",{className:"nice-export-template-desc",children:b.description})]}),e.jsxs("div",{className:"nice-export-template-actions",children:[e.jsx("button",{type:"button",onClick:()=>{B(b.id),D("export")},children:_("dataExportCenter.use","Use")}),v&&e.jsx("button",{type:"button",onClick:()=>v(b.id),children:_("dataExportCenter.delete","Delete")})]})]},b.id))}),O==="history"&&e.jsx(Ce,{jobs:t,onDownload:b=>{b.downloadUrl&&window.open(b.downloadUrl,"_blank")}})]})]})}),{displayName:"NiceDataExportCenter"}),ne={create:{icon:e.jsx(n.NtdPlus,{size:16}),label:"Created",color:"var(--nice-color-success, #10b981)"},update:{icon:e.jsx(n.NtdEdit,{size:16}),label:"Updated",color:"var(--nice-color-primary, #3b82f6)"},delete:{icon:e.jsx(n.NtdClose,{size:16}),label:"Deleted",color:"var(--nice-color-error, #ef4444)"},view:{icon:e.jsx(n.NtdEye,{size:16}),label:"Viewed",color:"var(--nice-text-muted, #6b7280)"},export:{icon:e.jsx(n.NtdDownload,{size:16}),label:"Exported",color:"var(--nice-color-accent, #8b5cf6)"},import:{icon:e.jsx(n.NtdUpload,{size:16}),label:"Imported",color:"var(--nice-color-accent, #8b5cf6)"},approve:{icon:e.jsx(n.NtdCheck,{size:16}),label:"Approved",color:"var(--nice-color-success, #10b981)"},reject:{icon:e.jsx(n.NtdError,{size:16}),label:"Rejected",color:"var(--nice-color-error, #ef4444)"},login:{icon:e.jsx(n.NtdLogIn,{size:16}),label:"Login",color:"var(--nice-color-success, #10b981)"},logout:{icon:e.jsx(n.NtdLogOut,{size:16}),label:"Logout",color:"var(--nice-text-muted, #6b7280)"},permission_change:{icon:e.jsx(n.NtdKey,{size:16}),label:"Permissions",color:"var(--nice-color-warning, #f59e0b)"},config_change:{icon:e.jsx(n.NtdSettings,{size:16}),label:"Config",color:"var(--nice-color-warning, #f59e0b)"},custom:{icon:e.jsx(n.NtdCircle,{size:16}),label:"Action",color:"var(--nice-text-muted, #6b7280)"}},Te=({filter:s,onChange:i,availableFilters:a})=>{var l,h;const{t:c}=T.useNiceTranslation(),t=(o,d)=>{i({...s,[o]:d})};return e.jsxs("div",{className:"nice-audit-filters",children:[e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.dateRange","Date Range")}),e.jsxs("div",{className:"nice-audit-date-range",children:[e.jsx("input",{type:"date",value:((l=s.startDate)==null?void 0:l.toISOString().split("T")[0])||"",onChange:o=>t("startDate",o.target.value?new Date(o.target.value):void 0)}),e.jsx("span",{children:c("auditTrail.to","to")}),e.jsx("input",{type:"date",value:((h=s.endDate)==null?void 0:h.toISOString().split("T")[0])||"",onChange:o=>t("endDate",o.target.value?new Date(o.target.value):void 0)})]})]}),e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.actions","Actions")}),e.jsx("div",{className:"nice-audit-action-chips",children:Object.keys(ne).slice(0,8).map(o=>{var S;const d=ne[o],v=(S=s.actions)==null?void 0:S.includes(o);return e.jsxs("button",{type:"button",className:`nice-audit-chip ${v?"nice-audit-chip--selected":""}`,style:{"--chip-color":d.color},onClick:()=>{const F=s.actions||[];t("actions",v?F.filter(y=>y!==o):[...F,o])},children:[e.jsx("span",{className:"nice-audit-chip-icon",children:d.icon}),d.label]},o)})})]}),e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.search","Search")}),e.jsx("input",{type:"text",className:"nice-audit-search",placeholder:c("auditTrail.searchEntries","Search entries..."),value:s.searchQuery||"",onChange:o=>t("searchQuery",o.target.value||void 0)})]})]})},De=({changes:s})=>{if(!s.length)return null;const i=(a,c)=>c||(a==null?"(empty)":typeof a=="object"?JSON.stringify(a,null,2):String(a));return e.jsx("div",{className:"nice-audit-diff",children:s.map((a,c)=>e.jsxs("div",{className:"nice-audit-diff-row",children:[e.jsx("span",{className:"nice-audit-diff-field",children:a.field}),e.jsxs("div",{className:"nice-audit-diff-values",children:[e.jsx("span",{className:"nice-audit-diff-old",children:i(a.oldValue,a.displayOldValue)}),e.jsx("span",{className:"nice-audit-diff-arrow",children:e.jsx(n.NtdArrowRight,{size:14})}),e.jsx("span",{className:"nice-audit-diff-new",children:i(a.newValue,a.displayNewValue)})]})]},c))})},Ee=({entry:s,showDiff:i,renderActionIcon:a,renderUser:c,onClick:t})=>{const{t:l}=T.useNiceTranslation(),[h,o]=r.useState(!1),d=ne[s.action]||ne.custom;return e.jsxs("div",{onKeyDown:T.clickOnActivationKey,className:`nice-audit-timeline-entry nice-audit-timeline-entry--${s.severity||"info"}`,onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,children:[e.jsx("div",{className:"nice-audit-timeline-marker",style:{"--marker-color":d.color},children:a?a(s.action):d.icon}),e.jsxs("div",{className:"nice-audit-timeline-content",children:[e.jsxs("div",{className:"nice-audit-timeline-header",children:[e.jsx("span",{className:"nice-audit-timeline-action",children:s.actionLabel||d.label}),e.jsxs("span",{className:"nice-audit-timeline-entity",children:[s.entityType," ",s.entityName&&`"${s.entityName}"`]}),e.jsx("span",{className:"nice-audit-timeline-time",children:new Date(s.timestamp).toLocaleString()})]}),e.jsx("div",{className:"nice-audit-timeline-user",children:c?c(s):e.jsxs(e.Fragment,{children:[s.userAvatar&&e.jsx("img",{src:s.userAvatar,alt:"",className:"nice-audit-avatar"}),e.jsx("span",{className:"nice-audit-username",children:s.userName}),s.userRole&&e.jsx("span",{className:"nice-audit-role",children:s.userRole})]})}),s.notes&&e.jsx("div",{className:"nice-audit-timeline-notes",children:s.notes}),i&&s.changes&&s.changes.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"nice-audit-expand-btn",onClick:v=>{v.stopPropagation(),o(!h)},children:h?e.jsxs(e.Fragment,{children:[e.jsx(n.NtdChevronDown,{size:14})," ",l("auditTrail.hideChanges","Hide changes")]}):e.jsxs(e.Fragment,{children:[e.jsx(n.NtdChevronRight,{size:14})," ",l("auditTrail.showChanges","Show {changes} changes").replace("{changes}",String(s.changes.length))]})}),h&&e.jsx(De,{changes:s.changes})]}),s.ipAddress&&e.jsxs("div",{className:"nice-audit-timeline-meta",children:[e.jsx("span",{children:l("auditTrail.ip","IP: {ipAddress}").replace("{ipAddress}",String(s.ipAddress))}),s.location&&e.jsxs("span",{children:["• ",s.location]})]})]})]})},Le=({entries:s,showDiff:i,onEntryClick:a})=>{const{t:c}=T.useNiceTranslation();return e.jsxs("table",{className:"nice-audit-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:c("auditTrail.timestamp","Timestamp")}),e.jsx("th",{children:c("auditTrail.action","Action")}),e.jsx("th",{children:c("auditTrail.user","User")}),e.jsx("th",{children:c("auditTrail.entity","Entity")}),e.jsx("th",{children:c("auditTrail.changes","Changes")}),e.jsx("th",{children:c("auditTrail.ipAddress","IP Address")})]})}),e.jsx("tbody",{children:s.map(t=>{const l=ne[t.action]||ne.custom;return e.jsxs("tr",{className:`nice-audit-row nice-audit-row--${t.severity||"info"}`,onClick:()=>a==null?void 0:a(t),role:a?"button":void 0,children:[e.jsx("td",{className:"nice-audit-cell-time",children:new Date(t.timestamp).toLocaleString()}),e.jsx("td",{children:e.jsxs("span",{className:"nice-audit-action-badge",style:{"--badge-color":l.color},children:[l.icon," ",t.actionLabel||l.label]})}),e.jsxs("td",{className:"nice-audit-cell-user",children:[t.userAvatar&&e.jsx("img",{src:t.userAvatar,alt:"",className:"nice-audit-avatar-sm"}),t.userName]}),e.jsxs("td",{children:[t.entityType,t.entityName&&`: ${t.entityName}`]}),e.jsx("td",{children:t.changes&&t.changes.length>0?e.jsx("span",{className:"nice-audit-changes-count",children:c("auditTrail.fieldS","{changes} field(s)").replace("{changes}",String(t.changes.length))}):"-"}),e.jsx("td",{className:"nice-audit-cell-ip",children:t.ipAddress||"-"})]},t.id)})})]})},ze=Object.assign(r.forwardRef(({dataSource:s,initialFilter:i={},pageSize:a=50,viewMode:c="timeline",enableExport:t=!0,showDiffs:l=!0,renderActionIcon:h,renderUser:o,onEntryClick:d,onExport:v,title:S,className:F="",style:y},z)=>{const{t:$}=T.useNiceTranslation(),J=S??$("auditTrail.title","Audit Trail"),[E,_]=r.useState([]),[se,M]=r.useState(0),[G,I]=r.useState(i),[x,j]=r.useState(1),[g,W]=r.useState(!1),[m,H]=r.useState(c),[R,O]=r.useState(!1),D=r.useCallback(async()=>{W(!0);try{const b=await s.fetchEntries(G,{page:x,pageSize:a});_(b.entries),M(b.totalCount)}finally{W(!1)}},[s,G,x,a]);r.useEffect(()=>{D()},[D]);const X=r.useCallback(b=>{if(v)v(E,b);else{let k,A;if(b==="json")k=JSON.stringify(E,null,2),A="application/json";else{const P=["Timestamp","Action","User","Entity Type","Entity","IP","Changes"],K=E.map(q=>{var N;return[new Date(q.timestamp).toISOString(),q.action,q.userName,q.entityType,q.entityName||q.entityId,q.ipAddress||"",((N=q.changes)==null?void 0:N.length)||0]});k=[P.join(","),...K.map(q=>q.join(","))].join(`
3
- `),A="text/csv"}const Z=new Blob([k],{type:A}),Y=URL.createObjectURL(Z),f=document.createElement("a");f.href=Y,f.download=`audit-trail-${Date.now()}.${b}`,f.click(),URL.revokeObjectURL(Y)}},[E,v]);r.useImperativeHandle(z,()=>({refresh:D,setFilter:b=>{I(b),j(1)},getEntries:()=>E}));const B=Math.ceil(se/a);return e.jsxs("div",{className:`nice-audit-trail ${F}`,style:y,children:[e.jsxs("div",{className:"nice-audit-header",children:[e.jsx("h3",{className:"nice-audit-title",children:J}),e.jsxs("div",{className:"nice-audit-header-actions",children:[e.jsx("button",{type:"button",className:`nice-audit-view-btn ${m==="timeline"?"nice-audit-view-btn--active":""}`,onClick:()=>H("timeline"),title:$("auditTrail.timelineView","Timeline view"),children:e.jsx(n.NtdList,{size:16})}),e.jsx("button",{type:"button",className:`nice-audit-view-btn ${m==="table"?"nice-audit-view-btn--active":""}`,onClick:()=>H("table"),title:$("auditTrail.tableView","Table view"),children:e.jsx(n.NtdGrid,{size:16})}),e.jsxs("button",{type:"button",className:`nice-audit-filter-btn ${R?"nice-audit-filter-btn--active":""}`,onClick:()=>O(!R),children:[e.jsx(n.NtdSearch,{size:16})," ",$("auditTrail.filter","Filter")]}),t&&e.jsxs("div",{className:"nice-audit-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-audit-export-btn",children:[e.jsx(n.NtdDownload,{size:16})," ",$("auditTrail.export","Export")]}),e.jsxs("div",{className:"nice-audit-export-menu",children:[e.jsx("button",{type:"button",onClick:()=>X("csv"),children:$("auditTrail.exportAsCsv","Export as CSV")}),e.jsx("button",{type:"button",onClick:()=>X("json"),children:$("auditTrail.exportAsJson","Export as JSON")})]})]})]})]}),R&&e.jsx(Te,{filter:G,onChange:I}),e.jsxs("div",{className:"nice-audit-stats",children:[e.jsx("span",{children:$("auditTrail.showingOfEntries","Showing {entries} of {totalCount} entries").replace("{entries}",String(E.length)).replace("{totalCount}",String(se))}),G.startDate&&G.endDate&&e.jsxs("span",{className:"nice-audit-date-indicator",children:[G.startDate.toLocaleDateString()," - ",G.endDate.toLocaleDateString()]})]}),e.jsxs("div",{className:`nice-audit-content ${g?"nice-audit-content--loading":""}`,children:[g&&e.jsx("div",{className:"nice-audit-loader",children:e.jsx("div",{className:"nice-audit-spinner"})}),m==="timeline"?e.jsx("div",{className:"nice-audit-timeline",children:E.map(b=>e.jsx(Ee,{entry:b,showDiff:l,renderActionIcon:h,renderUser:o,onClick:d?()=>d(b):void 0},b.id))}):e.jsx(Le,{entries:E,showDiff:l,onEntryClick:d}),E.length===0&&!g&&e.jsx("div",{className:"nice-audit-empty",children:$("auditTrail.noAuditEntriesFoundMatching","No audit entries found matching the current filters.")})]}),B>1&&e.jsxs("div",{className:"nice-audit-pagination",children:[e.jsx("button",{type:"button",disabled:x===1,onClick:()=>j(x-1),children:$("auditTrail.previous","Previous")}),e.jsx("span",{children:$("auditTrail.pageOf","Page {page} of {totalPages}").replace("{page}",String(x)).replace("{totalPages}",String(B))}),e.jsx("button",{type:"button",disabled:x===B,onClick:()=>j(x+1),children:$("auditTrail.next","Next")})]})]})}),{displayName:"NiceAuditTrail"}),Ae=[{target:".nice-contract-editor",titleKey:"tutorial.contractEditor.intro.title",title:"Contract editor",contentKey:"tutorial.contractEditor.intro.content",content:"Assemble the contract from the clause library, fill template variables, track versions and approvals, then save or export to PDF/DOCX/HTML.",placement:"auto"}],ie={general:{label:"General",color:"var(--nice-text-muted, #6b7280)",icon:e.jsx(n.NtdFileText,{size:16})},liability:{label:"Liability",color:"var(--nice-color-error, #ef4444)",icon:e.jsx(n.NtdWarning,{size:16})},payment:{label:"Payment",color:"var(--nice-color-success, #10b981)",icon:e.jsx(n.NtdDollar,{size:16})},termination:{label:"Termination",color:"var(--nice-color-warning, #f59e0b)",icon:e.jsx(n.NtdOctagon,{size:16})},confidentiality:{label:"Confidentiality",color:"var(--nice-color-accent, #8b5cf6)",icon:e.jsx(n.NtdLock,{size:16})},compliance:{label:"Compliance",color:"var(--nice-color-primary, #3b82f6)",icon:e.jsx(n.NtdCheck,{size:16})},custom:{label:"Custom",color:"var(--nice-text-muted, #64748b)",icon:e.jsx(n.NtdEdit,{size:16})}},_e={draft:{label:"Draft",color:"var(--nice-text-muted, #6b7280)"},pending_review:{label:"Pending Review",color:"var(--nice-color-warning, #f59e0b)"},approved:{label:"Approved",color:"var(--nice-color-success, #10b981)"},rejected:{label:"Rejected",color:"var(--nice-color-error, #ef4444)"},signed:{label:"Signed",color:"var(--nice-color-accent, #8b5cf6)"}},Ie=({clauses:s,onInsert:i})=>{const{t:a}=T.useNiceTranslation(),[c,t]=r.useState(""),[l,h]=r.useState("all"),o=s.filter(d=>{const v=c===""||d.name.toLowerCase().includes(c.toLowerCase())||d.content.toLowerCase().includes(c.toLowerCase()),S=l==="all"||d.category===l;return v&&S});return e.jsxs("div",{className:"nice-contract-library",children:[e.jsxs("div",{className:"nice-contract-library-header",children:[e.jsx("h4",{children:a("contractEditor.clauseLibrary","Clause Library")}),e.jsx("input",{type:"text",placeholder:a("contractEditor.searchClauses","Search clauses..."),value:c,onChange:d=>t(d.target.value),className:"nice-contract-library-search"})]}),e.jsxs("div",{className:"nice-contract-library-categories",children:[e.jsx("button",{type:"button",className:`nice-contract-category-btn ${l==="all"?"nice-contract-category-btn--active":""}`,onClick:()=>h("all"),children:a("contractEditor.all","All")}),Object.keys(ie).map(d=>e.jsxs("button",{type:"button",className:`nice-contract-category-btn ${l===d?"nice-contract-category-btn--active":""}`,onClick:()=>h(d),style:{"--cat-color":ie[d].color},children:[ie[d].icon," ",ie[d].label]},d))]}),e.jsxs("div",{className:"nice-contract-library-list",children:[o.map(d=>e.jsxs("div",{className:"nice-contract-library-item",children:[e.jsxs("div",{className:"nice-contract-library-item-header",children:[e.jsx("span",{className:"nice-contract-library-item-name",children:d.name}),e.jsx("span",{className:"nice-contract-library-item-cat",style:{"--cat-color":ie[d.category].color},children:ie[d.category].icon})]}),d.description&&e.jsx("p",{className:"nice-contract-library-item-desc",children:d.description}),e.jsxs("button",{type:"button",className:"nice-contract-library-insert",onClick:()=>i(d),children:[e.jsx(n.NtdPlus,{size:14})," ",a("contractEditor.insert","Insert")]})]},d.id)),o.length===0&&e.jsx("div",{className:"nice-contract-library-empty",children:a("contractEditor.noMatchingClauses","No matching clauses")})]})]})},Fe=({variables:s,definitions:i,onChange:a})=>{const{t:c}=T.useNiceTranslation();return e.jsxs("div",{className:"nice-contract-variables",children:[e.jsx("h4",{children:c("contractEditor.variables","Variables")}),e.jsx("div",{className:"nice-contract-variables-list",children:i.map(t=>e.jsxs("div",{className:"nice-contract-variable",children:[e.jsxs("label",{children:[t.name,t.required&&e.jsx("span",{className:"nice-contract-required",children:"*"})]}),t.type==="select"&&t.options?e.jsxs("select",{value:s[t.name]||t.defaultValue||"",onChange:l=>a(t.name,l.target.value),children:[e.jsx("option",{value:"",children:c("contractEditor.select","Select...")}),t.options.map(l=>e.jsx("option",{value:l,children:l},l))]}):t.type==="date"?e.jsx("input",{type:"date",value:s[t.name]||t.defaultValue||"",onChange:l=>a(t.name,l.target.value)}):e.jsx("input",{type:t.type==="number"||t.type==="currency"?"number":"text",value:s[t.name]||t.defaultValue||"",placeholder:t.placeholder,onChange:l=>a(t.name,l.target.value)})]},t.name))})]})},Re=({section:s,variables:i,readOnly:a,onToggle:c,onRemoveClause:t,onMoveClause:l})=>{const{t:h}=T.useNiceTranslation(),o=d=>d.replace(/\{\{(\w+)\}\}/g,(v,S)=>i[S]||`[${S}]`);return e.jsxs("div",{className:`nice-contract-section ${s.collapsed?"nice-contract-section--collapsed":""}`,children:[e.jsxs("div",{role:"button",tabIndex:0,"aria-expanded":!s.collapsed,onKeyDown:T.clickOnActivationKey,className:"nice-contract-section-header",onClick:c,children:[e.jsx("span",{className:"nice-contract-section-toggle",children:s.collapsed?e.jsx(n.NtdChevronRight,{size:14}):e.jsx(n.NtdChevronDown,{size:14})}),e.jsx("h3",{children:s.title}),e.jsx("span",{className:"nice-contract-section-count",children:h("contractEditor.clauseS","{clauses} clause(s)").replace("{clauses}",String(s.clauses.length))})]}),!s.collapsed&&e.jsxs("div",{className:"nice-contract-section-content",children:[s.clauses.map((d,v)=>e.jsxs("div",{className:"nice-contract-clause",children:[e.jsxs("div",{className:"nice-contract-clause-header",children:[e.jsx("span",{className:"nice-contract-clause-cat",style:{"--cat-color":ie[d.category].color},children:ie[d.category].icon}),e.jsx("span",{className:"nice-contract-clause-name",children:d.name}),d.isRequired&&e.jsx("span",{className:"nice-contract-clause-required",children:h("contractEditor.required","Required")}),!a&&e.jsxs("div",{className:"nice-contract-clause-actions",children:[e.jsx("button",{type:"button",onClick:()=>l(d.id,"up"),disabled:v===0,children:e.jsx(n.NtdArrowUp,{size:14})}),e.jsx("button",{type:"button",onClick:()=>l(d.id,"down"),disabled:v===s.clauses.length-1,children:e.jsx(n.NtdArrowDown,{size:14})}),e.jsx("button",{type:"button",onClick:()=>t(d.id),children:e.jsx(n.NtdClose,{size:14})})]})]}),e.jsx("div",{className:"nice-contract-clause-content",dangerouslySetInnerHTML:{__html:o(d.content)}})]},d.id)),s.clauses.length===0&&e.jsx("div",{className:"nice-contract-section-empty",children:h("contractEditor.noClausesInThisSection","No clauses in this section. Drag clauses here or use the library.")})]})]})},Oe=({workflow:s,onAction:i})=>{const{t:a}=T.useNiceTranslation(),[c,t]=r.useState(null),[l,h]=r.useState("");return e.jsxs("div",{className:"nice-contract-workflow",children:[e.jsx("h4",{children:a("contractEditor.approvalWorkflow","Approval Workflow")}),e.jsx("div",{className:"nice-contract-workflow-steps",children:s.steps.map((o,d)=>e.jsxs("div",{className:`nice-contract-workflow-step nice-contract-workflow-step--${o.status}`,children:[e.jsxs("div",{className:"nice-contract-workflow-step-header",children:[e.jsx("span",{className:"nice-contract-workflow-step-num",children:d+1}),e.jsx("span",{className:"nice-contract-workflow-step-name",children:o.name}),e.jsx("span",{className:`nice-contract-workflow-step-status nice-contract-workflow-step-status--${o.status}`,children:o.status})]}),e.jsx("div",{className:"nice-contract-workflow-approvers",children:o.approvers.map(v=>e.jsxs("div",{className:"nice-contract-approver",children:[v.avatar&&e.jsx("img",{src:v.avatar,alt:"",className:"nice-contract-approver-avatar"}),e.jsx("span",{children:v.name}),e.jsx("span",{className:"nice-contract-approver-role",children:v.role})]},v.id))}),o.status==="pending"&&s.currentStep===d&&e.jsx("div",{className:"nice-contract-workflow-actions",children:c===o.id?e.jsxs(e.Fragment,{children:[e.jsx("textarea",{placeholder:a("contractEditor.commentsOptional","Comments (optional)"),value:l,onChange:v=>h(v.target.value)}),e.jsxs("div",{className:"nice-contract-workflow-btns",children:[e.jsxs("button",{type:"button",className:"nice-contract-btn nice-contract-btn--approve",onClick:()=>{i(o.id,"approve",l),t(null),h("")},children:[e.jsx(n.NtdCheck,{size:14})," ",a("contractEditor.approve","Approve")]}),e.jsxs("button",{type:"button",className:"nice-contract-btn nice-contract-btn--reject",onClick:()=>{i(o.id,"reject",l),t(null),h("")},children:[e.jsx(n.NtdError,{size:14})," ",a("contractEditor.reject","Reject")]}),e.jsx("button",{type:"button",onClick:()=>t(null),children:a("contractEditor.cancel","Cancel")})]})]}):e.jsx("button",{type:"button",className:"nice-contract-btn",onClick:()=>t(o.id),children:a("contractEditor.review","Review")})})]},o.id))})]})},Pe=Object.assign(r.forwardRef(({document:s,clauseLibrary:i=[],readOnly:a=!1,showClauseLibrary:c=!0,showVersionHistory:t=!1,showComments:l=!1,showWorkflow:h=!0,currentUser:o,onChange:d,onAddClause:v,onRemoveClause:S,onVariableChange:F,onAddComment:y,onApprovalAction:z,onRestoreVersion:$,onSave:J,onExport:E,className:_="",style:se,tutorial:M},G)=>{var q;const{t:I}=T.useNiceTranslation(),[x,j]=r.useState(s),[g,W]=r.useState(c?"library":null),[m,H]=r.useState(((q=x.sections[0])==null?void 0:q.id)||null),O=x.sections.flatMap(N=>N.clauses.flatMap(w=>w.variables||[])).filter((N,w,C)=>C.findIndex(Q=>Q.name===N.name)===w),D=r.useCallback(N=>{const w={...x,...N,updatedAt:new Date};j(w),d==null||d(w)},[x,d]),X=r.useCallback((N,w)=>{const C=x.sections.map(Q=>Q.id===w?{...Q,clauses:[...Q.clauses,{...N,id:`${N.id}-${Date.now()}`}]}:Q);D({sections:C}),v==null||v(N,w)},[x,D,v]),B=r.useCallback((N,w)=>{const C=x.sections.map(Q=>Q.id===w?{...Q,clauses:Q.clauses.filter(ee=>ee.id!==N)}:Q);D({sections:C}),S==null||S(N,w)},[x,D,S]),b=r.useCallback((N,w,C)=>{const Q=x.sections.map(ee=>{if(ee.id!==N)return ee;const u=ee.clauses.findIndex(ce=>ce.id===w);if(u===-1)return ee;const V=C==="up"?u-1:u+1;if(V<0||V>=ee.clauses.length)return ee;const L=[...ee.clauses];return[L[u],L[V]]=[L[V],L[u]],{...ee,clauses:L}});D({sections:Q})},[x,D]),k=r.useCallback(N=>{const w=x.sections.map(C=>C.id===N?{...C,collapsed:!C.collapsed}:C);D({sections:w})},[x,D]),A=r.useCallback((N,w)=>{D({variables:{...x.variables,[N]:w}}),F==null||F(N,w)},[x,D,F]),Z=r.useCallback(()=>{const N=[];return O.forEach(w=>{w.required&&!x.variables[w.name]&&N.push(`Missing required variable: ${w.name}`)}),x.sections.forEach(w=>{w.clauses.forEach(C=>{C.isRequired&&!C.content&&N.push(`Required clause "${C.name}" is empty`)})}),{valid:N.length===0,errors:N}},[x,O]);r.useImperativeHandle(G,()=>({getDocument:()=>x,insertClause:X,setVariable:A,exportDocument:N=>E==null?void 0:E(N),validate:Z}));const Y=_e[x.status],f=e.jsxs("div",{className:"nice-contract-header",children:[e.jsxs("div",{className:"nice-contract-header-info",children:[e.jsx("h2",{className:"nice-contract-title",children:x.title}),e.jsx("span",{className:"nice-contract-status",style:{"--status-color":Y.color},children:Y.label})]}),e.jsxs("div",{className:"nice-contract-header-actions",children:[J&&!a&&e.jsx("button",{type:"button",className:"nice-contract-btn nice-contract-btn--primary",onClick:()=>J(x),children:I("contractEditor.save","Save")}),E&&e.jsxs("div",{className:"nice-contract-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-contract-btn",children:[I("contractEditor.export","Export")," ",e.jsx(n.NtdChevronDown,{size:14})]}),e.jsxs("div",{className:"nice-contract-export-menu",children:[e.jsx("button",{type:"button",onClick:()=>E("pdf"),children:"PDF"}),e.jsx("button",{type:"button",onClick:()=>E("docx"),children:"Word (.docx)"}),e.jsx("button",{type:"button",onClick:()=>E("html"),children:I("contractEditor.html","HTML")})]})]})]})]}),P=e.jsxs("div",{className:"nice-contract-toolbar",children:[c&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="library"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>W(g==="library"?null:"library"),children:[e.jsx(n.NtdBook,{size:16})," ",I("contractEditor.library","Library")]}),e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="variables"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>W(g==="variables"?null:"variables"),children:[e.jsx(n.NtdBrackets,{size:16})," ",I("contractEditor.variables","Variables")]}),h&&x.workflow&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="workflow"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>W(g==="workflow"?null:"workflow"),children:[e.jsx(n.NtdCheck,{size:16})," ",I("contractEditor.workflow","Workflow")]}),t&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="history"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>W(g==="history"?null:"history"),children:[e.jsx(n.NtdClock,{size:16})," ",I("contractEditor.history","History")]})]}),K=g?e.jsxs("div",{className:"nice-contract-panel",children:[g==="library"&&e.jsx(Ie,{clauses:i,onInsert:N=>m&&X(N,m)}),g==="variables"&&e.jsx(Fe,{variables:x.variables,definitions:O,onChange:A}),g==="workflow"&&x.workflow&&e.jsx(Oe,{workflow:x.workflow,onAction:(N,w,C)=>z==null?void 0:z(N,w,C)})]}):void 0;return e.jsx(T.NiceAppShell,{flush:!0,className:`nice-contract-editor ${_}`,style:se,menubar:f,toolbar:P,sidebar:K,children:e.jsxs("div",{className:"nice-contract-document",children:[e.jsx("span",{style:{position:"absolute",top:6,right:6,zIndex:30},children:e.jsx(T.NiceTutorialButton,{steps:T.resolveTutorial(M,Ae)})}),x.sections.map(N=>e.jsx(Re,{section:N,variables:x.variables,readOnly:a,onToggle:()=>k(N.id),onRemoveClause:w=>B(w,N.id),onMoveClause:(w,C)=>b(N.id,w,C)},N.id))]})})}),{displayName:"NiceContractEditor"}),$e=[{id:"necessary",label:"Necessary",description:"Essential cookies for site functionality. Cannot be disabled.",required:!0,enabled:!0,cookies:["session_id","csrf_token","consent"]},{id:"analytics",label:"Analytics",description:"Help us understand how visitors interact with our website.",enabled:!1,cookies:["_ga","_gid","_gat"],partners:["Google Analytics","Hotjar"]},{id:"marketing",label:"Marketing",description:"Used to deliver personalized advertisements.",enabled:!1,cookies:["_fbp","_gcl_au","ads_id"],partners:["Facebook","Google Ads","LinkedIn"]},{id:"preferences",label:"Preferences",description:"Remember your settings and preferences.",enabled:!1,cookies:["theme","language","timezone"]},{id:"social",label:"Social Media",description:"Enable social sharing and embedded content.",enabled:!1,cookies:["social_session"],partners:["Twitter","YouTube","Instagram"]}],Me={title:"Cookie Preferences",description:"We use cookies to enhance your experience. Choose which types of cookies you allow.",acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",savePreferences:"Save Preferences",necessary:"Necessary",analytics:"Analytics",marketing:"Marketing",preferences:"Preferences",social:"Social Media",dataRights:"Your Data Rights",exportData:"Export My Data",deleteData:"Delete My Data",pending:"Pending",processing:"Processing",completed:"Completed",close:"Close"},Ue=({option:s,enabled:i,onChange:a})=>{const{t:c}=T.useNiceTranslation();return e.jsxs("div",{className:"nice-gdpr-option",children:[e.jsxs("div",{className:"nice-gdpr-option-header",children:[e.jsxs("label",{className:"nice-gdpr-option-toggle",children:[e.jsx("input",{type:"checkbox",checked:i,onChange:t=>a(t.target.checked),disabled:s.required}),e.jsx("span",{className:"nice-gdpr-toggle-slider"})]}),e.jsxs("div",{className:"nice-gdpr-option-info",children:[e.jsxs("span",{className:"nice-gdpr-option-label",children:[s.label,s.required&&e.jsx("span",{className:"nice-gdpr-required",children:c("gdprConsent.required","Required")})]}),e.jsx("span",{className:"nice-gdpr-option-desc",children:s.description})]})]}),s.partners&&s.partners.length>0&&e.jsxs("div",{className:"nice-gdpr-option-partners",children:[e.jsxs("span",{children:[c("gdprConsent.partners","Partners:")," "]}),s.partners.join(", ")]})]})},Ye=({requests:s,policies:i,onRequest:a,onDownload:c,labels:t})=>{const{t:l}=T.useNiceTranslation();return e.jsxs("div",{className:"nice-gdpr-rights",children:[e.jsx("h4",{children:t.dataRights}),e.jsxs("div",{className:"nice-gdpr-rights-actions",children:[e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--secondary",onClick:()=>a("export"),children:[e.jsx(n.NtdDownload,{size:16})," ",t.exportData]}),e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--danger",onClick:()=>a("delete"),children:[e.jsx(n.NtdTrash,{size:16})," ",t.deleteData]})]}),s.length>0&&e.jsxs("div",{className:"nice-gdpr-requests",children:[e.jsx("h5",{children:l("gdprConsent.previousRequests","Previous Requests")}),s.map(h=>e.jsxs("div",{className:`nice-gdpr-request nice-gdpr-request--${h.status}`,children:[e.jsx("span",{className:"nice-gdpr-request-type",children:h.type}),e.jsx("span",{className:"nice-gdpr-request-date",children:new Date(h.requestedAt).toLocaleDateString()}),e.jsx("span",{className:"nice-gdpr-request-status",children:h.status}),h.status==="completed"&&h.downloadUrl&&e.jsx("button",{type:"button",className:"nice-gdpr-download-btn",onClick:()=>c(h.id),children:l("gdprConsent.download","Download")})]},h.id))]}),i.length>0&&e.jsxs("div",{className:"nice-gdpr-policies",children:[e.jsx("h5",{children:l("gdprConsent.dataRetention","Data Retention")}),e.jsxs("table",{className:"nice-gdpr-policies-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:l("gdprConsent.category","Category")}),e.jsx("th",{children:l("gdprConsent.retention","Retention")}),e.jsx("th",{children:l("gdprConsent.legalBasis","Legal Basis")})]})}),e.jsx("tbody",{children:i.map((h,o)=>e.jsxs("tr",{children:[e.jsx("td",{children:h.category}),e.jsx("td",{children:l("gdprConsent.days","{retentionDays} days").replace("{retentionDays}",String(h.retentionDays))}),e.jsx("td",{children:h.legalBasis})]},o))})]})]})]})},qe=Object.assign(r.forwardRef(({appName:s,companyName:i,options:a=$e,currentConsent:c=null,retentionPolicies:t=[],dataRequests:l=[],privacyPolicy:h=[],storageKey:o="nice_gdpr_consent",consentVersion:d="1.0",variant:v="banner",position:S="bottom",onConsentChange:F,onDataRequest:y,onDownloadExport:z,privacyPolicyUrl:$,cookiePolicyUrl:J,termsUrl:E,labels:_,className:se="",style:M},G)=>{const{t:I}=T.useNiceTranslation(),x={...Me,..._},[j,g]=r.useState(!1),[W,m]=r.useState(!1),[H,R]=r.useState(!1),[O,D]=r.useState(()=>{const f={};return a.forEach(P=>{f[P.id]=(c==null?void 0:c.categories[P.id])??P.enabled}),f});r.useEffect(()=>{(!c||c.version!==d)&&g(!0)},[c,d]);const X=r.useCallback((f,P)=>{const K=P||O;K.necessary=!0;const q={version:d,timestamp:new Date,categories:K,action:f};try{localStorage.setItem(o,JSON.stringify(q))}catch{}D(K),g(!1),m(!1),F==null||F(q)},[O,d,o,F]),B=r.useCallback(()=>{const f={};a.forEach(P=>{f[P.id]=!0}),X("accept_all",f)},[a,X]),b=r.useCallback(()=>{const f={};a.forEach(P=>{f[P.id]=P.required||!1}),X("reject_all",f)},[a,X]),k=r.useCallback(async f=>{y&&await y(f)},[y]);r.useImperativeHandle(G,()=>({showBanner:()=>g(!0),hideBanner:()=>g(!1),getConsent:()=>{try{const f=localStorage.getItem(o);return f?JSON.parse(f):null}catch{return null}},revokeConsent:()=>{try{localStorage.removeItem(o)}catch{}g(!0)},openPreferences:()=>{g(!0),m(!0)}}));const A=r.useRef(null);if(T.useOverlayFocus(A,{open:j&&v==="modal"}),!j&&v!=="embedded")return null;const Z=e.jsxs("div",{className:"nice-gdpr-content",children:[e.jsxs("div",{className:"nice-gdpr-header",children:[e.jsx("div",{className:"nice-gdpr-icon",children:e.jsx(n.NtdCookieConsent,{size:32})}),e.jsxs("div",{className:"nice-gdpr-header-text",children:[e.jsx("h3",{children:x.title}),e.jsx("p",{children:x.description.replace("{app}",s).replace("{company}",i)})]})]}),!W&&!H&&e.jsxs("div",{className:"nice-gdpr-quick-actions",children:[e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--primary",onClick:B,children:x.acceptAll}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--secondary",onClick:b,children:x.rejectAll}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>m(!0),children:x.customize})]}),W&&!H&&e.jsxs("div",{className:"nice-gdpr-preferences",children:[e.jsx("div",{className:"nice-gdpr-options",children:a.map(f=>e.jsx(Ue,{option:f,enabled:O[f.id],onChange:P=>D(K=>({...K,[f.id]:P}))},f.id))}),e.jsxs("div",{className:"nice-gdpr-pref-actions",children:[e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--primary",onClick:()=>X("custom"),children:x.savePreferences}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>R(!0),children:x.dataRights})]})]}),H&&e.jsxs(e.Fragment,{children:[e.jsx(Ye,{requests:l,policies:t,onRequest:k,onDownload:f=>z==null?void 0:z(f),labels:x}),e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>R(!1),children:[e.jsx(n.NtdArrowLeft,{size:14})," ",I("gdprConsent.backToPreferences","Back to preferences")]})]}),e.jsxs("div",{className:"nice-gdpr-footer",children:[$&&e.jsx("a",{href:$,target:"_blank",rel:"noopener noreferrer",children:I("gdprConsent.privacyPolicy","Privacy Policy")}),J&&e.jsx("a",{href:J,target:"_blank",rel:"noopener noreferrer",children:I("gdprConsent.cookiePolicy","Cookie Policy")}),E&&e.jsx("a",{href:E,target:"_blank",rel:"noopener noreferrer",children:I("gdprConsent.termsOfService","Terms of Service")})]})]}),Y=`nice-gdpr-consent nice-gdpr-consent--${v} nice-gdpr-consent--${S} ${se}`;return v==="modal"?e.jsx("div",{className:"nice-gdpr-overlay",children:e.jsx("div",{ref:A,className:Y,style:M,role:"dialog","aria-modal":"true","aria-label":x.title,children:Z})}):e.jsx("div",{className:Y,style:M,children:Z})}),{displayName:"NiceGDPRConsent"}),Ve=[],be={document:e.jsx(n.NtdFileText,{size:16}),user:e.jsx(n.NtdUser,{size:16}),task:e.jsx(n.NtdCheck,{size:16}),project:e.jsx(n.NtdFolder,{size:16}),setting:e.jsx(n.NtdSettings,{size:16}),help:e.jsx(n.NtdHelp,{size:16}),action:e.jsx(n.NtdLightning,{size:16}),custom:e.jsx(n.NtdCircle,{size:16})},He=({value:s,onChange:i,onKeyDown:a,placeholder:c,isLoading:t,inputRef:l,listboxId:h,activeId:o,expanded:d})=>{const{t:v}=T.useNiceTranslation();return e.jsxs("div",{className:"nice-search-input-container",children:[e.jsx("span",{className:"nice-search-icon",children:e.jsx(n.NtdSearch,{size:16})}),e.jsx("input",{ref:l,type:"text",className:"nice-search-input",placeholder:c,value:s,onChange:S=>i(S.target.value),onKeyDown:a,"aria-label":v("globalSearch.search","Search"),role:"combobox","aria-autocomplete":"list","aria-expanded":d,"aria-controls":h,"aria-activedescendant":o}),t&&e.jsx("span",{className:"nice-search-loader"}),s&&!t&&e.jsx("button",{type:"button",className:"nice-search-clear",onClick:()=>i(""),"aria-label":v("globalSearch.clearSearch","Clear search"),children:e.jsx(n.NtdClose,{size:16})})]})},Be=({result:s,isSelected:i,onSelect:a,renderResult:c,id:t})=>c?e.jsx("div",{id:t,role:"option","aria-selected":i,onClick:a,children:c(s,i)}):e.jsxs("div",{id:t,className:`nice-search-result ${i?"nice-search-result--selected":""}`,onClick:a,role:"option","aria-selected":i,children:[e.jsx("div",{className:"nice-search-result-icon",children:s.icon||(s.image?e.jsx("img",{src:s.image,alt:""}):be[s.type])}),e.jsxs("div",{className:"nice-search-result-content",children:[e.jsx("span",{className:"nice-search-result-title",children:s.title}),s.subtitle&&e.jsx("span",{className:"nice-search-result-subtitle",children:s.subtitle}),s.description&&e.jsx("span",{className:"nice-search-result-desc",children:s.description})]}),e.jsxs("div",{className:"nice-search-result-meta",children:[e.jsx("span",{className:"nice-search-result-source",children:s.source}),e.jsx("span",{className:"nice-search-result-type",children:s.type})]}),s.actions&&s.actions.length>0&&e.jsx("div",{className:"nice-search-result-actions",children:s.actions.map(l=>e.jsx("button",{type:"button",className:"nice-search-action-btn",onClick:h=>{h.stopPropagation(),l.onClick()},title:l.label,children:l.icon||l.label},l.id))})]}),Ke=({categories:s,selected:i,onSelect:a})=>{const{t:c}=T.useNiceTranslation();return e.jsxs("div",{className:"nice-search-categories",children:[e.jsx("button",{type:"button",className:`nice-search-category ${i===null?"nice-search-category--active":""}`,onClick:()=>a(null),children:c("globalSearch.all","All")}),s.map(t=>e.jsxs("button",{type:"button",className:`nice-search-category ${i===t.id?"nice-search-category--active":""}`,onClick:()=>a(t.id),children:[t.icon&&e.jsx("span",{className:"nice-search-category-icon",children:t.icon}),t.label,t.count!==void 0&&e.jsx("span",{className:"nice-search-category-count",children:t.count})]},t.id))]})},Je=({searches:s,onSelect:i,onClear:a,label:c,clearLabel:t})=>e.jsxs("div",{className:"nice-search-recent",children:[e.jsxs("div",{className:"nice-search-recent-header",children:[e.jsx("span",{children:c}),e.jsx("button",{type:"button",onClick:a,children:t})]}),e.jsx("div",{className:"nice-search-recent-list",children:s.map((l,h)=>e.jsxs("button",{type:"button",className:"nice-search-recent-item",onClick:()=>i(l.query),children:[e.jsx("span",{className:"nice-search-recent-icon",children:e.jsx(n.NtdClock,{size:14})}),e.jsx("span",{className:"nice-search-recent-query",children:l.query})]},h))})]}),Ge={placeholder:"Search...",recent:"Recent Searches",noResults:"No results found for",searching:"Searching...",clearRecent:"Clear",categories:"Categories",filters:"Filters"},We=Object.assign(r.forwardRef(({sources:s=Ve,placeholder:i,minQueryLength:a=2,debounceMs:c=300,showCategories:t=!0,filters:l=[],showRecent:h=!0,maxRecent:o=5,showShortcuts:d=!0,hotkey:v="k",onResultSelect:S,onSearch:F,onClose:y,renderResult:z,renderEmpty:$,defaultOpen:J=!1,open:E,variant:_="modal",labels:se,className:M="",style:G},I)=>{const{t:x}=T.useNiceTranslation(),j={...Ge,...se},g=r.useRef(null),W=r.useRef(void 0),[m,H]=r.useState(J),[R,O]=r.useState(""),[D,X]=r.useState([]),[B,b]=r.useState(!1),[k,A]=r.useState(0),[Z,Y]=r.useState(null),[f,P]=r.useState([]),K=E!==void 0?E:m;r.useEffect(()=>{try{const p=localStorage.getItem("nice_recent_searches");p&&P(JSON.parse(p))}catch{}},[]);const q=r.useCallback((p,U)=>{const ae=[{query:p,timestamp:new Date,resultCount:U},...f.filter(oe=>oe.query!==p)].slice(0,o);P(ae);try{localStorage.setItem("nice_recent_searches",JSON.stringify(ae))}catch{}},[f,o]),N=r.useCallback(async p=>{if(p.length<a){X([]);return}b(!0);try{const U=s.map(async ae=>{try{return(await ae.search(p)).map(me=>({...me,source:ae.name,relevanceScore:me.relevanceScore*(ae.priority||1)}))}catch{return[]}}),te=(await Promise.all(U)).flat();te.sort((ae,oe)=>oe.relevanceScore-ae.relevanceScore),X(te),A(0),F==null||F(p,te),te.length>0&&q(p,te.length)}finally{b(!1)}},[s,a,F,q]),w=r.useCallback(p=>{O(p),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{N(p)},c)},[N,c]),C=Z?D.filter(p=>p.type===Z):D,Q=r.useCallback(p=>{switch(p.key){case"ArrowDown":p.preventDefault(),A(U=>Math.min(U+1,C.length-1));break;case"ArrowUp":p.preventDefault(),A(U=>Math.max(U-1,0));break;case"PageDown":case"PageUp":{p.preventDefault();const U=p.key==="PageDown"?10:-10;A(te=>Math.max(0,Math.min(C.length-1,te+U)));break}case"Enter":p.preventDefault(),C[k]&&(S==null||S(C[k]),H(!1),y==null||y());break;case"Escape":if(_==="modal")break;p.preventDefault(),H(!1),y==null||y();break}},[C,k,S,y,_]),ee=r.useRef(null),u=r.useRef(null),L=`${r.useId()}-results`,ce=r.useCallback(()=>{H(!1),y==null||y()},[y]);T.useOverlayFocus(ee,{open:K&&_==="modal",initialFocus:g,onClose:ce}),T.useIntent(["navigate","activate"],p=>{if(p.source==="keyboard"||C.length===0)return!1;if(p.intent==="activate"){const U=C[k];U&&(S==null||S(U),ce())}else if(p.direction==="down"||p.direction==="up"){const U=p.direction==="down"?1:-1;A(te=>Math.min(Math.max(te+U,0),C.length-1))}else return!1},{ref:u,enabled:K||_==="inline"}),r.useEffect(()=>{const p=U=>{(U.metaKey||U.ctrlKey)&&U.key===v&&(U.preventDefault(),H(!0),setTimeout(()=>{var te;return(te=g.current)==null?void 0:te.focus()},0))};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[v]),r.useEffect(()=>{K&&setTimeout(()=>{var p;return(p=g.current)==null?void 0:p.focus()},0)},[K]);const he=Array.from(new Set(D.map(p=>p.type))).map(p=>({id:p,label:p.charAt(0).toUpperCase()+p.slice(1),icon:be[p],count:D.filter(U=>U.type===p).length}));if(r.useImperativeHandle(I,()=>({open:()=>H(!0),close:()=>{H(!1),y==null||y()},focus:()=>{var p;return(p=g.current)==null?void 0:p.focus()},clear:()=>{O(""),X([])},search:async p=>{O(p),await N(p)}})),!K&&_!=="inline")return null;const pe=e.jsxs("div",{className:"nice-search-content",ref:u,children:[e.jsx(He,{value:R,onChange:w,onKeyDown:Q,placeholder:i||j.placeholder,isLoading:B,inputRef:g,listboxId:L,activeId:C[k]?`${L}-${k}`:void 0,expanded:C.length>0}),t&&he.length>1&&R.length>=a&&e.jsx(Ke,{categories:he,selected:Z,onSelect:Y}),e.jsxs("div",{className:"nice-search-results",role:"listbox",id:L,children:[B&&R.length>=a&&e.jsx("div",{className:"nice-search-loading",children:j.searching}),!B&&R.length>=a&&C.length===0&&e.jsx("div",{className:"nice-search-empty",children:$?$(R):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"nice-search-empty-icon",children:e.jsx(n.NtdSearch,{size:32})}),e.jsxs("span",{children:[j.noResults,' "',R,'"']})]})}),C.map((p,U)=>e.jsx(Be,{id:`${L}-${U}`,result:p,isSelected:U===k,onSelect:()=>{S==null||S(p),H(!1),y==null||y()},renderResult:z},p.id))]}),h&&R.length<a&&f.length>0&&e.jsx(Je,{searches:f,onSelect:p=>{O(p),N(p)},onClear:()=>{P([]),localStorage.removeItem("nice_recent_searches")},label:j.recent,clearLabel:j.clearRecent}),d&&e.jsxs("div",{className:"nice-search-shortcuts",children:[e.jsxs("span",{children:[e.jsx(T.NiceKeyCap,{keys:"ArrowUp ArrowDown",size:"sm"})," ",x("globalSearch.navigate","Navigate")]}),e.jsxs("span",{children:[e.jsx(T.NiceKeyCap,{keys:"Enter",size:"sm"})," ",x("globalSearch.select","Select")]}),e.jsxs("span",{children:[e.jsx(T.NiceKeyCap,{keys:"Escape",size:"sm"})," ",x("globalSearch.close","Close")]})]})]});return _==="modal"?e.jsx("div",{className:"nice-search-overlay",role:"presentation",onClick:p=>{p.stopPropagation(),p.target===p.currentTarget&&(H(!1),y==null||y())},children:e.jsx("div",{ref:ee,className:`nice-global-search nice-global-search--modal ${M}`,style:G,role:"dialog","aria-modal":"true","aria-label":i||j.placeholder,children:pe})}):e.jsx("div",{className:`nice-global-search nice-global-search--${_} ${M}`,style:G,children:pe})}),{displayName:"NiceGlobalSearch"}),Xe=[],le={title:"Access Log",filters:"Filters",search:"Search users, IPs...",export:"Export",refresh:"Refresh",details:"Details",stats:"Statistics",map:"Geographic Distribution",timeline:"Timeline",showMore:"Show More",noResults:"No access logs found",eventTypes:{login_success:"Login Success",login_failed:"Login Failed",logout:"Logout",password_change:"Password Change",password_reset:"Password Reset",mfa_enabled:"MFA Enabled",mfa_disabled:"MFA Disabled",mfa_challenged:"MFA Challenge",permission_change:"Permission Change",session_expired:"Session Expired",account_locked:"Account Locked",account_unlocked:"Account Unlocked",api_key_created:"API Key Created",api_key_revoked:"API Key Revoked",token_refresh:"Token Refresh",suspicious_activity:"Suspicious Activity"},riskLevels:{low:"Low",medium:"Medium",high:"High",critical:"Critical"},deviceTypes:{desktop:"Desktop",mobile:"Mobile",tablet:"Tablet",unknown:"Unknown"},columns:{timestamp:"Time",user:"User",event:"Event",ip:"IP Address",location:"Location",device:"Device",risk:"Risk",status:"Status"}},de={login_success:e.jsx(n.NtdCheck,{size:16}),login_failed:e.jsx(n.NtdError,{size:16}),logout:e.jsx(n.NtdLogOut,{size:16}),password_change:e.jsx(n.NtdKey,{size:16}),password_reset:e.jsx(n.NtdRefresh,{size:16}),mfa_enabled:e.jsx(n.NtdShield,{size:16}),mfa_disabled:e.jsx(n.NtdWarning,{size:16}),mfa_challenged:e.jsx(n.NtdSmartphone,{size:16}),permission_change:e.jsx(n.NtdUser,{size:16}),session_expired:e.jsx(n.NtdClock,{size:16}),account_locked:e.jsx(n.NtdLock,{size:16}),account_unlocked:e.jsx(n.NtdUnlock,{size:16}),api_key_created:e.jsx(n.NtdKey,{size:16}),api_key_revoked:e.jsx(n.NtdError,{size:16}),token_refresh:e.jsx(n.NtdRefresh,{size:16}),suspicious_activity:e.jsx(n.NtdLightning,{size:16})},re={low:"var(--nice-color-success, #22c55e)",medium:"var(--nice-color-warning, #f59e0b)",high:"var(--nice-color-error, #ef4444)",critical:"var(--nice-color-accent-hover, #7c3aed)"},xe={desktop:e.jsx(n.NtdMonitor,{size:16}),mobile:e.jsx(n.NtdSmartphone,{size:16}),tablet:e.jsx(n.NtdSmartphone,{size:16}),unknown:e.jsx(n.NtdHelp,{size:16})},ge=s=>(typeof s=="string"?new Date(s):s).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}),je=s=>{if(!s)return"Unknown";const i=[];return s.city&&i.push(s.city),s.country&&i.push(s.country),i.length>0?i.join(", "):"Unknown"},Ze=s=>{if(!s)return"Unknown";const i=[];return s.browser&&i.push(s.browser),s.os&&i.push(s.os),i.length>0?i.join(" / "):s.type},Ne=s=>s>=80?re.critical:s>=60?re.high:s>=40?re.medium:re.low,Qe=(s,i)=>{var a,c,t,l,h;if(i.startDate){const o=typeof i.startDate=="string"?new Date(i.startDate):i.startDate;if((typeof s.timestamp=="string"?new Date(s.timestamp):s.timestamp)<o)return!1}if(i.endDate){const o=typeof i.endDate=="string"?new Date(i.endDate):i.endDate;if((typeof s.timestamp=="string"?new Date(s.timestamp):s.timestamp)>o)return!1}if((a=i.eventTypes)!=null&&a.length&&!i.eventTypes.includes(s.eventType)||(c=i.riskLevels)!=null&&c.length&&!i.riskLevels.includes(s.riskLevel)||i.userId&&s.userId!==i.userId||i.ipAddress&&!s.ipAddress.includes(i.ipAddress)||i.country&&((t=s.location)==null?void 0:t.country)!==i.country||i.successOnly&&!s.success||i.failedOnly&&s.success)return!1;if(i.searchQuery){const o=i.searchQuery.toLowerCase();if(![s.userName,s.userEmail,s.userId,s.ipAddress,(l=s.location)==null?void 0:l.city,(h=s.location)==null?void 0:h.country].filter(Boolean).join(" ").toLowerCase().includes(o))return!1}return!0},es=Object.assign(r.forwardRef(function(i,a){var Q,ee;const{t:c}=T.useNiceTranslation(),{entries:t=Xe,filter:l={},stats:h,realtime:o=!1,pollingInterval:d=3e4,showMap:v=!1,showStats:S=!0,showDetails:F=!0,pageSize:y=50,labels:z,loading:$=!1,onFilterChange:J,onExport:E,onEntrySelect:_,onBlockIP:se,onRefresh:M,className:G="",...I}=i,x=r.useRef(null);r.useId();const j=r.useMemo(()=>({...le,...z,eventTypes:{...le.eventTypes,...z==null?void 0:z.eventTypes},riskLevels:{...le.riskLevels,...z==null?void 0:z.riskLevels},deviceTypes:{...le.deviceTypes,...z==null?void 0:z.deviceTypes},columns:{...le.columns,...z==null?void 0:z.columns}}),[z]),[g,W]=r.useState(l),[m,H]=r.useState(null),[R,O]=r.useState(y),[D,X]=r.useState(!1),[B,b]=r.useState("table"),k=r.useMemo(()=>t.filter(u=>Qe(u,g)),[t,g]),A=r.useMemo(()=>k.slice(0,R),[k,R]),Z=r.useMemo(()=>{if(h)return h;const u=new Set(t.map(L=>L.ipAddress)),V=new Set(t.map(L=>{var ce;return(ce=L.location)==null?void 0:ce.country}).filter(Boolean));return{totalEvents:t.length,successfulLogins:t.filter(L=>L.eventType==="login_success").length,failedLogins:t.filter(L=>L.eventType==="login_failed").length,uniqueIPs:u.size,uniqueCountries:V.size,highRiskEvents:t.filter(L=>L.riskLevel==="high"||L.riskLevel==="critical").length,suspiciousActivities:t.filter(L=>L.eventType==="suspicious_activity").length}},[t,h]),Y=r.useCallback(u=>{const V={...g,...u};W(V),O(y),J==null||J(V)},[g,J,y]),f=r.useCallback(()=>{W({}),O(y),J==null||J({})},[J,y]),P=r.useCallback(u=>{H(u),_==null||_(u)},[_]),K=r.useCallback(u=>{E==null||E(u)},[E]),q=r.useCallback(()=>{M==null||M()},[M]),N=r.useCallback(()=>{O(u=>u+y)},[y]);r.useImperativeHandle(a,()=>({getFilter:()=>g,applyFilter:Y,clearFilters:f,export:K,refresh:q,getSelectedEntry:()=>m,getElement:()=>x.current}),[g,Y,f,K,q,m]);const w=u=>{var V,L;return e.jsxs("tr",{className:`nice-accesslog-row ${(m==null?void 0:m.id)===u.id?"nice-accesslog-row--selected":""} ${u.success?"":"nice-accesslog-row--failed"}`,onClick:()=>P(u),children:[e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--timestamp",children:ge(u.timestamp)}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--user",children:e.jsxs("div",{className:"nice-accesslog-user",children:[e.jsx("span",{className:"nice-accesslog-username",children:u.userName||u.userId}),u.userEmail&&e.jsx("span",{className:"nice-accesslog-email",children:u.userEmail})]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--event",children:e.jsxs("span",{className:`nice-accesslog-event nice-accesslog-event--${u.eventType}`,children:[e.jsx("span",{className:"nice-accesslog-event-icon",children:de[u.eventType]}),j.eventTypes[u.eventType]]})}),e.jsxs("td",{className:"nice-accesslog-cell nice-accesslog-cell--ip",children:[e.jsx("span",{className:"nice-accesslog-ip",children:u.ipAddress}),se&&e.jsx("button",{type:"button",className:"nice-accesslog-block-btn",onClick:ce=>{ce.stopPropagation(),se(u.ipAddress)},title:c("accessLog.blockIp","Block IP"),children:e.jsx(n.NtdSlash,{size:14})})]}),e.jsxs("td",{className:"nice-accesslog-cell nice-accesslog-cell--location",children:[((V=u.location)==null?void 0:V.countryCode)&&e.jsx("span",{className:"nice-accesslog-flag",children:e.jsx(n.NtdFlag,{size:14})}),je(u.location)]}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--device",children:e.jsxs("span",{className:"nice-accesslog-device",children:[xe[((L=u.device)==null?void 0:L.type)||"unknown"],Ze(u.device)]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--risk",children:e.jsxs("span",{className:`nice-accesslog-risk nice-accesslog-risk--${u.riskLevel}`,style:{"--risk-color":Ne(u.riskScore)},children:[e.jsx("span",{className:"nice-accesslog-risk-score",children:u.riskScore}),e.jsx("span",{className:"nice-accesslog-risk-label",children:j.riskLevels[u.riskLevel]})]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--status",children:e.jsx("span",{className:`nice-accesslog-status ${u.success?"nice-accesslog-status--success":"nice-accesslog-status--failed"}`,children:u.success?e.jsx(n.NtdCheck,{size:14}):e.jsx(n.NtdError,{size:14})})})]},u.id)},C=u=>e.jsxs("div",{role:"button",tabIndex:0,onKeyDown:T.clickOnActivationKey,className:`nice-accesslog-timeline-item nice-accesslog-timeline-item--${u.riskLevel}`,onClick:()=>P(u),children:[e.jsx("div",{className:"nice-accesslog-timeline-marker",style:{background:re[u.riskLevel]}}),e.jsxs("div",{className:"nice-accesslog-timeline-content",children:[e.jsxs("div",{className:"nice-accesslog-timeline-header",children:[e.jsxs("span",{className:"nice-accesslog-timeline-event",children:[de[u.eventType]," ",j.eventTypes[u.eventType]]}),e.jsx("span",{className:"nice-accesslog-timeline-time",children:ge(u.timestamp)})]}),e.jsxs("div",{className:"nice-accesslog-timeline-details",children:[e.jsx("span",{children:u.userName||u.userId}),e.jsx("span",{children:"•"}),e.jsx("span",{children:u.ipAddress}),e.jsx("span",{children:"•"}),e.jsx("span",{children:je(u.location)})]}),u.flags&&u.flags.length>0&&e.jsx("div",{className:"nice-accesslog-timeline-flags",children:u.flags.map((V,L)=>e.jsx("span",{className:"nice-accesslog-flag-badge",children:V},L))})]})]},u.id);return e.jsxs("div",{ref:x,className:`nice-accesslog ${G}`,...I,children:[e.jsxs("div",{className:"nice-accesslog-header",children:[e.jsxs("div",{className:"nice-accesslog-header-left",children:[e.jsx("h2",{className:"nice-accesslog-title",children:j.title}),o&&e.jsxs("span",{className:"nice-accesslog-realtime-badge",children:[e.jsx(n.NtdCircle,{size:10})," ",c("accessLog.live","Live")]})]}),e.jsxs("div",{className:"nice-accesslog-header-actions",children:[e.jsxs("button",{type:"button",className:"nice-accesslog-btn",onClick:q,disabled:$,children:[e.jsx(n.NtdRefresh,{size:16})," ",j.refresh]}),e.jsxs("div",{className:"nice-accesslog-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-accesslog-btn",children:[e.jsx(n.NtdDownload,{size:16})," ",j.export]}),e.jsxs("div",{className:"nice-accesslog-export-menu",children:[e.jsx("button",{onClick:()=>K("csv"),children:"CSV"}),e.jsx("button",{onClick:()=>K("json"),children:c("accessLog.json","JSON")}),e.jsx("button",{onClick:()=>K("pdf"),children:"PDF"})]})]})]})]}),S&&e.jsxs("div",{className:"nice-accesslog-stats",children:[e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.totalEvents}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.totalEvents","Total Events")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--success",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.successfulLogins}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.successful","Successful")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--failed",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.failedLogins}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.failed","Failed")})]}),e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.uniqueIPs}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.uniqueIps","Unique IPs")})]}),e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.uniqueCountries}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.countries","Countries")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--warning",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Z.highRiskEvents}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.highRisk","High Risk")})]})]}),e.jsxs("div",{className:"nice-accesslog-filters",children:[e.jsxs("div",{className:"nice-accesslog-filters-row",children:[e.jsxs("div",{className:"nice-accesslog-search",children:[e.jsx("span",{className:"nice-accesslog-search-icon",children:e.jsx(n.NtdSearch,{size:16})}),e.jsx("input",{type:"text",placeholder:j.search,value:g.searchQuery||"",onChange:u=>Y({searchQuery:u.target.value})})]}),e.jsxs("div",{className:"nice-accesslog-filter-quick",children:[e.jsx("button",{type:"button",className:`nice-accesslog-filter-chip ${g.failedOnly?"nice-accesslog-filter-chip--active":""}`,onClick:()=>Y({failedOnly:!g.failedOnly,successOnly:!1}),children:c("accessLog.failedOnly","Failed Only")}),e.jsx("button",{type:"button",className:`nice-accesslog-filter-chip ${(Q=g.riskLevels)!=null&&Q.includes("high")||(ee=g.riskLevels)!=null&&ee.includes("critical")?"nice-accesslog-filter-chip--active":""}`,onClick:()=>{var u;return Y({riskLevels:(u=g.riskLevels)!=null&&u.includes("high")?[]:["high","critical"]})},children:c("accessLog.highRisk","High Risk")}),e.jsx("button",{type:"button",className:"nice-accesslog-filter-toggle",onClick:()=>X(!D),children:D?e.jsxs(e.Fragment,{children:[e.jsx(n.NtdMinus,{size:14})," ",c("accessLog.less","Less")]}):e.jsxs(e.Fragment,{children:[e.jsx(n.NtdPlus,{size:14})," ",c("accessLog.more","More")]})})]})]}),D&&e.jsxs("div",{className:"nice-accesslog-filters-expanded",children:[e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.eventType","Event Type")}),e.jsx("select",{multiple:!0,value:g.eventTypes||[],onChange:u=>{const V=Array.from(u.target.selectedOptions,L=>L.value);Y({eventTypes:V.length?V:void 0})},children:Object.entries(j.eventTypes).map(([u,V])=>e.jsx("option",{value:u,children:V},u))})]}),e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.dateRange","Date Range")}),e.jsxs("div",{className:"nice-accesslog-date-range",children:[e.jsx("input",{type:"date",value:g.startDate?new Date(g.startDate).toISOString().split("T")[0]:"",onChange:u=>Y({startDate:u.target.value||void 0})}),e.jsx("span",{children:c("accessLog.to","to")}),e.jsx("input",{type:"date",value:g.endDate?new Date(g.endDate).toISOString().split("T")[0]:"",onChange:u=>Y({endDate:u.target.value||void 0})})]})]}),e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.ipAddress","IP Address")}),e.jsx("input",{type:"text",placeholder:"e.g., 192.168",value:g.ipAddress||"",onChange:u=>Y({ipAddress:u.target.value||void 0})})]}),e.jsx("button",{type:"button",className:"nice-accesslog-clear-filters",onClick:f,children:c("accessLog.clearAllFilters","Clear All Filters")})]})]}),e.jsxs("div",{className:"nice-accesslog-tabs",children:[e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${B==="table"?"nice-accesslog-tab--active":""}`,onClick:()=>b("table"),children:[e.jsx(n.NtdTable,{size:16})," ",c("accessLog.table","Table")]}),e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${B==="timeline"?"nice-accesslog-tab--active":""}`,onClick:()=>b("timeline"),children:[e.jsx(n.NtdCalendar,{size:16})," ",j.timeline]}),v&&e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${B==="map"?"nice-accesslog-tab--active":""}`,onClick:()=>b("map"),children:[e.jsx(n.NtdMap,{size:16})," ",j.map]}),e.jsx("span",{className:"nice-accesslog-count",children:c("accessLog.entries","{filteredEntries} entries").replace("{filteredEntries}",String(k.length))})]}),e.jsx("div",{className:"nice-accesslog-content",children:$?e.jsxs("div",{className:"nice-accesslog-loading",children:[e.jsx("div",{className:"nice-accesslog-spinner"}),c("accessLog.loadingAccessLogs","Loading access logs...")]}):k.length===0?e.jsxs("div",{className:"nice-accesslog-empty",children:[e.jsx("span",{className:"nice-accesslog-empty-icon",children:e.jsx(n.NtdShield,{size:32})}),e.jsx("span",{children:j.noResults})]}):e.jsxs(e.Fragment,{children:[B==="table"&&e.jsx("div",{className:"nice-accesslog-table-wrapper",children:e.jsxs("table",{className:"nice-accesslog-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:j.columns.timestamp}),e.jsx("th",{children:j.columns.user}),e.jsx("th",{children:j.columns.event}),e.jsx("th",{children:j.columns.ip}),e.jsx("th",{children:j.columns.location}),e.jsx("th",{children:j.columns.device}),e.jsx("th",{children:j.columns.risk}),e.jsx("th",{children:j.columns.status})]})}),e.jsx("tbody",{children:A.map(w)})]})}),B==="timeline"&&e.jsx("div",{className:"nice-accesslog-timeline",children:A.map(C)}),B==="map"&&e.jsx("div",{className:"nice-accesslog-map",children:e.jsxs("div",{className:"nice-accesslog-map-placeholder",children:[e.jsx(n.NtdMap,{size:16})," ",c("accessLog.geographicVisualizationWouldRenderHere","Geographic visualization would render here")]})}),R<k.length&&e.jsx("button",{type:"button",className:"nice-accesslog-show-more",onClick:N,children:c("accessLog.remaining","{showMore} ({filteredEntries} remaining)").replace("{showMore}",String(j.showMore)).replace("{filteredEntries}",String(k.length-R))})]})}),F&&m&&e.jsxs("div",{className:"nice-accesslog-detail",children:[e.jsxs("div",{className:"nice-accesslog-detail-header",children:[e.jsx("h3",{children:j.details}),e.jsx("button",{type:"button",className:"nice-accesslog-detail-close",onClick:()=>H(null),children:e.jsx(n.NtdClose,{size:16})})]}),e.jsxs("div",{className:"nice-accesslog-detail-content",children:[e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.eventId","Event ID")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.id})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.timestamp","Timestamp")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:new Date(m.timestamp).toISOString()})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.user","User")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[m.userName," (",m.userId,")",m.userEmail&&e.jsx("div",{children:m.userEmail})]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.eventType","Event Type")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[de[m.eventType]," ",j.eventTypes[m.eventType]]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.ipAddress","IP Address")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.ipAddress})]}),m.location&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.location","Location")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[m.location.city,", ",m.location.region,","," ",m.location.country,m.location.latitude&&m.location.longitude&&e.jsxs("div",{className:"nice-accesslog-coords",children:["(",m.location.latitude,", ",m.location.longitude,")"]})]})]}),m.device&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.device","Device")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[xe[m.device.type]," ",m.device.os," ",m.device.osVersion,e.jsxs("div",{children:[m.device.browser," ",m.device.browserVersion]}),m.device.fingerprint&&e.jsx("div",{className:"nice-accesslog-fingerprint",children:c("accessLog.fingerprint","Fingerprint: {fingerprint}").replace("{fingerprint}",String(m.device.fingerprint))})]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.riskScore","Risk Score")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:e.jsxs("span",{style:{color:Ne(m.riskScore)},children:[m.riskScore,"/100 (",j.riskLevels[m.riskLevel],")"]})})]}),m.flags&&m.flags.length>0&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.flags","Flags")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.flags.map((u,V)=>e.jsx("span",{className:"nice-accesslog-flag-badge",children:u},V))})]}),m.details&&Object.keys(m.details).length>0&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.additionalDetails","Additional Details")}),e.jsx("pre",{className:"nice-accesslog-detail-json",children:JSON.stringify(m.details,null,2)})]})]})]})]})}),{displayName:"NiceAccessLog"});exports.NiceAccessLog=es;exports.NiceAuditTrail=ze;exports.NiceContractEditor=Pe;exports.NiceDataExportCenter=Se;exports.NiceGDPRConsent=qe;exports.NiceGlobalSearch=We;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("@nice2dev/icons"),D=require("@nice2dev/ui"),r=require("react");function ye(s,i,a){const c=a.csvDelimiter||",",t=[];return a.includeHeaders!==!1&&t.push(i.filter(l=>l.include).map(l=>`"${l.label}"`).join(c)),s.forEach(l=>{const h=i.filter(o=>o.include).map(o=>{let d=l[o.field];return o.transform&&(d=o.transform(d)),d==null?"":typeof d=="string"?`"${d.replace(/"/g,'""')}"`:String(d)});t.push(h.join(c))}),t.join(`
2
+ `)}function ke(s,i,a){const c=i.filter(l=>l.include),t=s.map(l=>{const h={};return c.forEach(o=>{let d=l[o.field];o.transform&&(d=o.transform(d)),h[o.field]=d}),h});return JSON.stringify(t,null,2)}const pe={csv:{label:"CSV",icon:e.jsx(n.NtdFileText,{size:20}),description:"Comma-separated values"},xlsx:{label:"Excel",icon:e.jsx(n.NtdBarChart,{size:20}),description:"Microsoft Excel"},json:{label:"JSON",icon:e.jsx(n.NtdBrackets,{size:20}),description:"JavaScript Object Notation"},pdf:{label:"PDF",icon:e.jsx(n.NtdFile,{size:20}),description:"Portable Document Format"},xml:{label:"XML",icon:e.jsx(n.NtdClipboard,{size:20}),description:"Extensible Markup Language"}},we=({formats:s,selected:i,onChange:a})=>e.jsx("div",{className:"nice-export-formats",children:s.map(c=>{const t=pe[c];return e.jsxs("button",{type:"button",className:`nice-export-format ${i===c?"nice-export-format--selected":""}`,onClick:()=>a(c),title:t.description,children:[e.jsx("span",{className:"nice-export-format-icon",children:t.icon}),e.jsx("span",{className:"nice-export-format-label",children:t.label})]},c)})}),Ce=({fields:s,onChange:i})=>{const{t:a}=D.useNiceTranslation(),c=h=>{const o=[...s];o[h]={...o[h],include:!o[h].include},i(o)},t=h=>{i(s.map(o=>({...o,include:h})))},l=s.filter(h=>h.include).length;return e.jsxs("div",{className:"nice-export-fields",children:[e.jsxs("div",{className:"nice-export-fields-header",children:[e.jsx("span",{children:a("dataExportCenter.fieldsToExport","Fields to export ({selectedCount}/{fields})").replace("{selectedCount}",String(l)).replace("{fields}",String(s.length))}),e.jsxs("div",{className:"nice-export-fields-actions",children:[e.jsx("button",{type:"button",onClick:()=>t(!0),children:a("dataExportCenter.selectAll","Select all")}),e.jsx("button",{type:"button",onClick:()=>t(!1),children:a("dataExportCenter.deselectAll","Deselect all")})]})]}),e.jsx("div",{className:"nice-export-fields-list",children:s.map((h,o)=>e.jsxs("label",{className:"nice-export-field",children:[e.jsx("input",{type:"checkbox",checked:h.include,onChange:()=>c(o)}),e.jsx("span",{className:"nice-export-field-label",children:h.label}),e.jsx("span",{className:"nice-export-field-name",children:h.field})]},h.field))})]})},Se=({format:s,options:i,onChange:a})=>{const{t:c}=D.useNiceTranslation(),t=(l,h)=>{a({...i,[l]:h})};return e.jsxs("div",{className:"nice-export-options",children:[e.jsx("h4",{children:c("dataExportCenter.exportOptions","Export Options")}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("input",{type:"checkbox",checked:i.includeHeaders!==!1,onChange:l=>t("includeHeaders",l.target.checked)}),c("dataExportCenter.includeHeaders","Include headers")]}),s==="csv"&&e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.delimiter","Delimiter:")}),e.jsxs("select",{value:i.csvDelimiter||",",onChange:l=>t("csvDelimiter",l.target.value),children:[e.jsx("option",{value:",",children:c("dataExportCenter.comma","Comma (,)")}),e.jsx("option",{value:";",children:c("dataExportCenter.semicolon","Semicolon (;)")}),e.jsx("option",{value:"\\t",children:c("dataExportCenter.tab","Tab")}),e.jsx("option",{value:"|",children:c("dataExportCenter.pipe","Pipe (|)")})]})]}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.dateFormat","Date format:")}),e.jsxs("select",{value:i.dateFormat||"YYYY-MM-DD",onChange:l=>t("dateFormat",l.target.value),children:[e.jsx("option",{value:"YYYY-MM-DD",children:c("dataExportCenter.yyyyMmDd","YYYY-MM-DD")}),e.jsx("option",{value:"DD/MM/YYYY",children:c("dataExportCenter.ddMmYyyy","DD/MM/YYYY")}),e.jsx("option",{value:"MM/DD/YYYY",children:c("dataExportCenter.mmDdYyyy","MM/DD/YYYY")}),e.jsx("option",{value:"ISO",children:c("dataExportCenter.iso8601","ISO 8601")})]})]}),e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.encoding","Encoding:")}),e.jsxs("select",{value:i.encoding||"utf-8",onChange:l=>t("encoding",l.target.value),children:[e.jsx("option",{value:"utf-8",children:c("dataExportCenter.utf8","UTF-8")}),e.jsx("option",{value:"utf-16",children:c("dataExportCenter.utf16","UTF-16")}),e.jsx("option",{value:"iso-8859-1",children:c("dataExportCenter.iso88591","ISO-8859-1")})]})]}),(s==="xlsx"||s==="pdf")&&e.jsxs("label",{className:"nice-export-option",children:[e.jsx("span",{children:c("dataExportCenter.passwordProtect","Password protect:")}),e.jsx("input",{type:"password",value:i.password||"",onChange:l=>t("password",l.target.value||void 0),placeholder:c("dataExportCenter.leaveEmptyForNoPassword","Leave empty for no password")})]})]})},Te=({jobs:s,onDownload:i})=>{const{t:a}=D.useNiceTranslation();if(s.length===0)return e.jsx("div",{className:"nice-export-history-empty",children:a("dataExportCenter.noExportHistory","No export history")});const c=t=>t?t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`:"-";return e.jsxs("div",{className:"nice-export-history",children:[e.jsx("h4",{children:a("dataExportCenter.exportHistory","Export History")}),e.jsx("div",{className:"nice-export-history-list",children:s.map(t=>e.jsxs("div",{className:`nice-export-job nice-export-job--${t.status}`,children:[e.jsxs("div",{className:"nice-export-job-info",children:[e.jsx("span",{className:"nice-export-job-name",children:t.name}),e.jsx("span",{className:"nice-export-job-format",children:t.format.toUpperCase()}),e.jsx("span",{className:"nice-export-job-date",children:new Date(t.createdAt).toLocaleString()})]}),e.jsxs("div",{className:"nice-export-job-meta",children:[t.rowCount&&e.jsx("span",{children:a("dataExportCenter.rows","{rowCount} rows").replace("{rowCount}",String(t.rowCount))}),t.fileSize&&e.jsx("span",{children:c(t.fileSize)})]}),e.jsxs("div",{className:"nice-export-job-status",children:[t.status==="processing"&&e.jsx("div",{className:"nice-export-job-progress",children:e.jsx("div",{className:"nice-export-job-progress-bar",style:{width:`${t.progress}%`}})}),t.status==="completed"&&t.downloadUrl&&e.jsx("button",{type:"button",className:"nice-export-job-download",onClick:()=>i==null?void 0:i(t),children:a("dataExportCenter.download","Download")}),t.status==="failed"&&e.jsx("span",{className:"nice-export-job-error",title:t.error,children:a("dataExportCenter.failed","Failed")})]})]},t.id))})]})},De=Object.assign(r.forwardRef(({dataSource:s,formats:i=["csv","xlsx","json","pdf"],templates:a=[],enableScheduling:c=!1,exportHistory:t=[],onExportStart:l,onExportComplete:h,onExportError:o,onSaveTemplate:d,onDeleteTemplate:v,onSchedule:T,customExportHandler:I,title:y,description:z,className:ce="",style:K,testId:S,"data-testid":J},G)=>{const{t:P}=D.useNiceTranslation(),te=y??P("dataExportCenter.title","Data Export"),[q,W]=r.useState(i[0]),[_,x]=r.useState(s.getFields()),[j,g]=r.useState({includeHeaders:!0,dateFormat:"YYYY-MM-DD",encoding:"utf-8"}),[X,m]=r.useState(!1),[V,F]=r.useState(0),[R,E]=r.useState("export"),Z=r.useCallback(async()=>{const b={id:Date.now().toString(),name:`Export ${new Date().toISOString()}`,format:q,status:"processing",progress:0,createdAt:new Date};m(!0),F(0),l==null||l(b);try{const k=await s.fetchData({fields:_,filters:void 0,sorting:void 0});F(50);let A;if(I)A=await I(q,k,j);else switch(q){case"csv":A=ye(k,_,j);break;case"json":A=ke(k,_,j);break;default:throw new Error(`Format ${q} requires a custom export handler`)}F(100);const Q=typeof A=="string"?new Blob([A],{type:"text/plain"}):A,M=URL.createObjectURL(Q),f=document.createElement("a");f.href=M,f.download=`export-${Date.now()}.${q}`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(M);const O={...b,status:"completed",progress:100,completedAt:new Date,rowCount:k.length,fileSize:Q.size};h==null||h(O)}catch(k){const A={...b,status:"failed",error:k instanceof Error?k.message:"Unknown error"};o==null||o(A,k instanceof Error?k:new Error("Export failed"))}finally{m(!1),F(0)}},[q,_,j,s,I,l,h,o]),H=r.useCallback(b=>{const k=a.find(A=>A.id===b);k&&(W(k.format),x(k.fields),k.options&&g(k.options))},[a]);return r.useImperativeHandle(G,()=>({exportNow:async b=>{W(b),await Z()},getSelectedFields:()=>_,loadTemplate:H})),e.jsxs("div",{className:`nice-export-center ${ce}`,style:K,"data-testid":J??S,children:[e.jsx("div",{className:"nice-export-header",children:e.jsxs("div",{className:"nice-export-title-area",children:[e.jsx("h3",{className:"nice-export-title",children:te}),z&&e.jsx("p",{className:"nice-export-description",children:z})]})}),e.jsxs("div",{className:"nice-export-tabs",children:[e.jsx("button",{type:"button",className:`nice-export-tab ${R==="export"?"nice-export-tab--active":""}`,onClick:()=>E("export"),children:P("dataExportCenter.export","Export")}),a.length>0&&e.jsx("button",{type:"button",className:`nice-export-tab ${R==="templates"?"nice-export-tab--active":""}`,onClick:()=>E("templates"),children:P("dataExportCenter.templates","Templates ({templates})").replace("{templates}",String(a.length))}),t.length>0&&e.jsx("button",{type:"button",className:`nice-export-tab ${R==="history"?"nice-export-tab--active":""}`,onClick:()=>E("history"),children:P("dataExportCenter.history","History")})]}),e.jsxs("div",{className:"nice-export-content",children:[R==="export"&&e.jsxs(e.Fragment,{children:[e.jsx(we,{formats:i,selected:q,onChange:W}),e.jsx(Ce,{fields:_,onChange:x}),e.jsx(Se,{format:q,options:j,onChange:g}),e.jsxs("div",{className:"nice-export-actions",children:[e.jsx("button",{type:"button",className:"nice-export-btn nice-export-btn--primary",onClick:Z,disabled:X||_.filter(b=>b.include).length===0,children:X?P("dataExportCenter.exporting","Exporting... {progress}%").replace("{progress}",String(V)):P("dataExportCenter.exportNow","Export Now")}),d&&e.jsx("button",{type:"button",className:"nice-export-btn nice-export-btn--secondary",onClick:()=>d({id:Date.now().toString(),name:`Template ${a.length+1}`,format:q,fields:_,options:j}),children:P("dataExportCenter.saveAsTemplate","Save as Template")})]})]}),R==="templates"&&e.jsx("div",{className:"nice-export-templates",children:a.map(b=>e.jsxs("div",{className:"nice-export-template",children:[e.jsxs("div",{className:"nice-export-template-info",children:[e.jsx("span",{className:"nice-export-template-name",children:b.name}),e.jsxs("span",{className:"nice-export-template-format",children:[pe[b.format].icon," ",pe[b.format].label]}),b.description&&e.jsx("span",{className:"nice-export-template-desc",children:b.description})]}),e.jsxs("div",{className:"nice-export-template-actions",children:[e.jsx("button",{type:"button",onClick:()=>{H(b.id),E("export")},children:P("dataExportCenter.use","Use")}),v&&e.jsx("button",{type:"button",onClick:()=>v(b.id),children:P("dataExportCenter.delete","Delete")})]})]},b.id))}),R==="history"&&e.jsx(Te,{jobs:t,onDownload:b=>{b.downloadUrl&&window.open(b.downloadUrl,"_blank")}})]})]})}),{displayName:"NiceDataExportCenter"}),re={create:{icon:e.jsx(n.NtdPlus,{size:16}),label:"Created",color:"var(--nice-color-success, #10b981)"},update:{icon:e.jsx(n.NtdEdit,{size:16}),label:"Updated",color:"var(--nice-color-primary, #3b82f6)"},delete:{icon:e.jsx(n.NtdClose,{size:16}),label:"Deleted",color:"var(--nice-color-error, #ef4444)"},view:{icon:e.jsx(n.NtdEye,{size:16}),label:"Viewed",color:"var(--nice-text-muted, #6b7280)"},export:{icon:e.jsx(n.NtdDownload,{size:16}),label:"Exported",color:"var(--nice-color-accent, #8b5cf6)"},import:{icon:e.jsx(n.NtdUpload,{size:16}),label:"Imported",color:"var(--nice-color-accent, #8b5cf6)"},approve:{icon:e.jsx(n.NtdCheck,{size:16}),label:"Approved",color:"var(--nice-color-success, #10b981)"},reject:{icon:e.jsx(n.NtdError,{size:16}),label:"Rejected",color:"var(--nice-color-error, #ef4444)"},login:{icon:e.jsx(n.NtdLogIn,{size:16}),label:"Login",color:"var(--nice-color-success, #10b981)"},logout:{icon:e.jsx(n.NtdLogOut,{size:16}),label:"Logout",color:"var(--nice-text-muted, #6b7280)"},permission_change:{icon:e.jsx(n.NtdKey,{size:16}),label:"Permissions",color:"var(--nice-color-warning, #f59e0b)"},config_change:{icon:e.jsx(n.NtdSettings,{size:16}),label:"Config",color:"var(--nice-color-warning, #f59e0b)"},custom:{icon:e.jsx(n.NtdCircle,{size:16}),label:"Action",color:"var(--nice-text-muted, #6b7280)"}},Ee=({filter:s,onChange:i,availableFilters:a})=>{var l,h;const{t:c}=D.useNiceTranslation(),t=(o,d)=>{i({...s,[o]:d})};return e.jsxs("div",{className:"nice-audit-filters",children:[e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.dateRange","Date Range")}),e.jsxs("div",{className:"nice-audit-date-range",children:[e.jsx("input",{type:"date",value:((l=s.startDate)==null?void 0:l.toISOString().split("T")[0])||"",onChange:o=>t("startDate",o.target.value?new Date(o.target.value):void 0)}),e.jsx("span",{children:c("auditTrail.to","to")}),e.jsx("input",{type:"date",value:((h=s.endDate)==null?void 0:h.toISOString().split("T")[0])||"",onChange:o=>t("endDate",o.target.value?new Date(o.target.value):void 0)})]})]}),e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.actions","Actions")}),e.jsx("div",{className:"nice-audit-action-chips",children:Object.keys(re).slice(0,8).map(o=>{var T;const d=re[o],v=(T=s.actions)==null?void 0:T.includes(o);return e.jsxs("button",{type:"button",className:`nice-audit-chip ${v?"nice-audit-chip--selected":""}`,style:{"--chip-color":d.color},onClick:()=>{const I=s.actions||[];t("actions",v?I.filter(y=>y!==o):[...I,o])},children:[e.jsx("span",{className:"nice-audit-chip-icon",children:d.icon}),d.label]},o)})})]}),e.jsxs("div",{className:"nice-audit-filter-group",children:[e.jsx("label",{children:c("auditTrail.search","Search")}),e.jsx("input",{type:"text",className:"nice-audit-search",placeholder:c("auditTrail.searchEntries","Search entries..."),value:s.searchQuery||"",onChange:o=>t("searchQuery",o.target.value||void 0)})]})]})},Le=({changes:s})=>{if(!s.length)return null;const i=(a,c)=>c||(a==null?"(empty)":typeof a=="object"?JSON.stringify(a,null,2):String(a));return e.jsx("div",{className:"nice-audit-diff",children:s.map((a,c)=>e.jsxs("div",{className:"nice-audit-diff-row",children:[e.jsx("span",{className:"nice-audit-diff-field",children:a.field}),e.jsxs("div",{className:"nice-audit-diff-values",children:[e.jsx("span",{className:"nice-audit-diff-old",children:i(a.oldValue,a.displayOldValue)}),e.jsx("span",{className:"nice-audit-diff-arrow",children:e.jsx(n.NtdArrowRight,{size:14})}),e.jsx("span",{className:"nice-audit-diff-new",children:i(a.newValue,a.displayNewValue)})]})]},c))})},ze=({entry:s,showDiff:i,renderActionIcon:a,renderUser:c,onClick:t})=>{const{t:l}=D.useNiceTranslation(),[h,o]=r.useState(!1),d=re[s.action]||re.custom;return e.jsxs("div",{onKeyDown:D.clickOnActivationKey,className:`nice-audit-timeline-entry nice-audit-timeline-entry--${s.severity||"info"}`,onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,children:[e.jsx("div",{className:"nice-audit-timeline-marker",style:{"--marker-color":d.color},children:a?a(s.action):d.icon}),e.jsxs("div",{className:"nice-audit-timeline-content",children:[e.jsxs("div",{className:"nice-audit-timeline-header",children:[e.jsx("span",{className:"nice-audit-timeline-action",children:s.actionLabel||d.label}),e.jsxs("span",{className:"nice-audit-timeline-entity",children:[s.entityType," ",s.entityName&&`"${s.entityName}"`]}),e.jsx("span",{className:"nice-audit-timeline-time",children:new Date(s.timestamp).toLocaleString()})]}),e.jsx("div",{className:"nice-audit-timeline-user",children:c?c(s):e.jsxs(e.Fragment,{children:[s.userAvatar&&e.jsx("img",{src:s.userAvatar,alt:"",className:"nice-audit-avatar"}),e.jsx("span",{className:"nice-audit-username",children:s.userName}),s.userRole&&e.jsx("span",{className:"nice-audit-role",children:s.userRole})]})}),s.notes&&e.jsx("div",{className:"nice-audit-timeline-notes",children:s.notes}),i&&s.changes&&s.changes.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"nice-audit-expand-btn",onClick:v=>{v.stopPropagation(),o(!h)},children:h?e.jsxs(e.Fragment,{children:[e.jsx(n.NtdChevronDown,{size:14})," ",l("auditTrail.hideChanges","Hide changes")]}):e.jsxs(e.Fragment,{children:[e.jsx(n.NtdChevronRight,{size:14})," ",l("auditTrail.showChanges","Show {changes} changes").replace("{changes}",String(s.changes.length))]})}),h&&e.jsx(Le,{changes:s.changes})]}),s.ipAddress&&e.jsxs("div",{className:"nice-audit-timeline-meta",children:[e.jsx("span",{children:l("auditTrail.ip","IP: {ipAddress}").replace("{ipAddress}",String(s.ipAddress))}),s.location&&e.jsxs("span",{children:["• ",s.location]})]})]})]})},Ae=({entries:s,showDiff:i,onEntryClick:a})=>{const{t:c}=D.useNiceTranslation();return e.jsxs("table",{className:"nice-audit-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:c("auditTrail.timestamp","Timestamp")}),e.jsx("th",{children:c("auditTrail.action","Action")}),e.jsx("th",{children:c("auditTrail.user","User")}),e.jsx("th",{children:c("auditTrail.entity","Entity")}),e.jsx("th",{children:c("auditTrail.changes","Changes")}),e.jsx("th",{children:c("auditTrail.ipAddress","IP Address")})]})}),e.jsx("tbody",{children:s.map(t=>{const l=re[t.action]||re.custom;return e.jsxs("tr",{className:`nice-audit-row nice-audit-row--${t.severity||"info"}`,onClick:()=>a==null?void 0:a(t),role:a?"button":void 0,children:[e.jsx("td",{className:"nice-audit-cell-time",children:new Date(t.timestamp).toLocaleString()}),e.jsx("td",{children:e.jsxs("span",{className:"nice-audit-action-badge",style:{"--badge-color":l.color},children:[l.icon," ",t.actionLabel||l.label]})}),e.jsxs("td",{className:"nice-audit-cell-user",children:[t.userAvatar&&e.jsx("img",{src:t.userAvatar,alt:"",className:"nice-audit-avatar-sm"}),t.userName]}),e.jsxs("td",{children:[t.entityType,t.entityName&&`: ${t.entityName}`]}),e.jsx("td",{children:t.changes&&t.changes.length>0?e.jsx("span",{className:"nice-audit-changes-count",children:c("auditTrail.fieldS","{changes} field(s)").replace("{changes}",String(t.changes.length))}):"-"}),e.jsx("td",{className:"nice-audit-cell-ip",children:t.ipAddress||"-"})]},t.id)})})]})},_e=Object.assign(r.forwardRef(({dataSource:s,initialFilter:i={},pageSize:a=50,viewMode:c="timeline",enableExport:t=!0,showDiffs:l=!0,renderActionIcon:h,renderUser:o,onEntryClick:d,onExport:v,title:T,className:I="",style:y,testId:z,"data-testid":ce},K)=>{const{t:S}=D.useNiceTranslation(),J=T??S("auditTrail.title","Audit Trail"),[G,P]=r.useState([]),[te,q]=r.useState(0),[W,_]=r.useState(i),[x,j]=r.useState(1),[g,X]=r.useState(!1),[m,V]=r.useState(c),[F,R]=r.useState(!1),E=r.useCallback(async()=>{X(!0);try{const b=await s.fetchEntries(W,{page:x,pageSize:a});P(b.entries),q(b.totalCount)}finally{X(!1)}},[s,W,x,a]);r.useEffect(()=>{E()},[E]);const Z=r.useCallback(b=>{if(v)v(G,b);else{let k,A;if(b==="json")k=JSON.stringify(G,null,2),A="application/json";else{const O=["Timestamp","Action","User","Entity Type","Entity","IP","Changes"],B=G.map(U=>{var N;return[new Date(U.timestamp).toISOString(),U.action,U.userName,U.entityType,U.entityName||U.entityId,U.ipAddress||"",((N=U.changes)==null?void 0:N.length)||0]});k=[O.join(","),...B.map(U=>U.join(","))].join(`
3
+ `),A="text/csv"}const Q=new Blob([k],{type:A}),M=URL.createObjectURL(Q),f=document.createElement("a");f.href=M,f.download=`audit-trail-${Date.now()}.${b}`,f.click(),URL.revokeObjectURL(M)}},[G,v]);r.useImperativeHandle(K,()=>({refresh:E,setFilter:b=>{_(b),j(1)},getEntries:()=>G}));const H=Math.ceil(te/a);return e.jsxs("div",{className:`nice-audit-trail ${I}`,style:y,"data-testid":ce??z,children:[e.jsxs("div",{className:"nice-audit-header",children:[e.jsx("h3",{className:"nice-audit-title",children:J}),e.jsxs("div",{className:"nice-audit-header-actions",children:[e.jsx("button",{type:"button",className:`nice-audit-view-btn ${m==="timeline"?"nice-audit-view-btn--active":""}`,onClick:()=>V("timeline"),title:S("auditTrail.timelineView","Timeline view"),children:e.jsx(n.NtdList,{size:16})}),e.jsx("button",{type:"button",className:`nice-audit-view-btn ${m==="table"?"nice-audit-view-btn--active":""}`,onClick:()=>V("table"),title:S("auditTrail.tableView","Table view"),children:e.jsx(n.NtdGrid,{size:16})}),e.jsxs("button",{type:"button",className:`nice-audit-filter-btn ${F?"nice-audit-filter-btn--active":""}`,onClick:()=>R(!F),children:[e.jsx(n.NtdSearch,{size:16})," ",S("auditTrail.filter","Filter")]}),t&&e.jsxs("div",{className:"nice-audit-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-audit-export-btn",children:[e.jsx(n.NtdDownload,{size:16})," ",S("auditTrail.export","Export")]}),e.jsxs("div",{className:"nice-audit-export-menu",children:[e.jsx("button",{type:"button",onClick:()=>Z("csv"),children:S("auditTrail.exportAsCsv","Export as CSV")}),e.jsx("button",{type:"button",onClick:()=>Z("json"),children:S("auditTrail.exportAsJson","Export as JSON")})]})]})]})]}),F&&e.jsx(Ee,{filter:W,onChange:_}),e.jsxs("div",{className:"nice-audit-stats",children:[e.jsx("span",{children:S("auditTrail.showingOfEntries","Showing {entries} of {totalCount} entries").replace("{entries}",String(G.length)).replace("{totalCount}",String(te))}),W.startDate&&W.endDate&&e.jsxs("span",{className:"nice-audit-date-indicator",children:[W.startDate.toLocaleDateString()," - ",W.endDate.toLocaleDateString()]})]}),e.jsxs("div",{className:`nice-audit-content ${g?"nice-audit-content--loading":""}`,children:[g&&e.jsx("div",{className:"nice-audit-loader",children:e.jsx("div",{className:"nice-audit-spinner"})}),m==="timeline"?e.jsx("div",{className:"nice-audit-timeline",children:G.map(b=>e.jsx(ze,{entry:b,showDiff:l,renderActionIcon:h,renderUser:o,onClick:d?()=>d(b):void 0},b.id))}):e.jsx(Ae,{entries:G,showDiff:l,onEntryClick:d}),G.length===0&&!g&&e.jsx("div",{className:"nice-audit-empty",children:S("auditTrail.noAuditEntriesFoundMatching","No audit entries found matching the current filters.")})]}),H>1&&e.jsxs("div",{className:"nice-audit-pagination",children:[e.jsx("button",{type:"button",disabled:x===1,onClick:()=>j(x-1),children:S("auditTrail.previous","Previous")}),e.jsx("span",{children:S("auditTrail.pageOf","Page {page} of {totalPages}").replace("{page}",String(x)).replace("{totalPages}",String(H))}),e.jsx("button",{type:"button",disabled:x===H,onClick:()=>j(x+1),children:S("auditTrail.next","Next")})]})]})}),{displayName:"NiceAuditTrail"}),Ie=[{target:".nice-contract-editor",titleKey:"tutorial.contractEditor.intro.title",title:"Contract editor",contentKey:"tutorial.contractEditor.intro.content",content:"Assemble the contract from the clause library, fill template variables, track versions and approvals, then save or export to PDF/DOCX/HTML.",placement:"auto"}],le={general:{label:"General",color:"var(--nice-text-muted, #6b7280)",icon:e.jsx(n.NtdFileText,{size:16})},liability:{label:"Liability",color:"var(--nice-color-error, #ef4444)",icon:e.jsx(n.NtdWarning,{size:16})},payment:{label:"Payment",color:"var(--nice-color-success, #10b981)",icon:e.jsx(n.NtdDollar,{size:16})},termination:{label:"Termination",color:"var(--nice-color-warning, #f59e0b)",icon:e.jsx(n.NtdOctagon,{size:16})},confidentiality:{label:"Confidentiality",color:"var(--nice-color-accent, #8b5cf6)",icon:e.jsx(n.NtdLock,{size:16})},compliance:{label:"Compliance",color:"var(--nice-color-primary, #3b82f6)",icon:e.jsx(n.NtdCheck,{size:16})},custom:{label:"Custom",color:"var(--nice-text-muted, #64748b)",icon:e.jsx(n.NtdEdit,{size:16})}},Fe={draft:{label:"Draft",color:"var(--nice-text-muted, #6b7280)"},pending_review:{label:"Pending Review",color:"var(--nice-color-warning, #f59e0b)"},approved:{label:"Approved",color:"var(--nice-color-success, #10b981)"},rejected:{label:"Rejected",color:"var(--nice-color-error, #ef4444)"},signed:{label:"Signed",color:"var(--nice-color-accent, #8b5cf6)"}},Re=({clauses:s,onInsert:i})=>{const{t:a}=D.useNiceTranslation(),[c,t]=r.useState(""),[l,h]=r.useState("all"),o=s.filter(d=>{const v=c===""||d.name.toLowerCase().includes(c.toLowerCase())||d.content.toLowerCase().includes(c.toLowerCase()),T=l==="all"||d.category===l;return v&&T});return e.jsxs("div",{className:"nice-contract-library",children:[e.jsxs("div",{className:"nice-contract-library-header",children:[e.jsx("h4",{children:a("contractEditor.clauseLibrary","Clause Library")}),e.jsx("input",{type:"text",placeholder:a("contractEditor.searchClauses","Search clauses..."),value:c,onChange:d=>t(d.target.value),className:"nice-contract-library-search"})]}),e.jsxs("div",{className:"nice-contract-library-categories",children:[e.jsx("button",{type:"button",className:`nice-contract-category-btn ${l==="all"?"nice-contract-category-btn--active":""}`,onClick:()=>h("all"),children:a("contractEditor.all","All")}),Object.keys(le).map(d=>e.jsxs("button",{type:"button",className:`nice-contract-category-btn ${l===d?"nice-contract-category-btn--active":""}`,onClick:()=>h(d),style:{"--cat-color":le[d].color},children:[le[d].icon," ",le[d].label]},d))]}),e.jsxs("div",{className:"nice-contract-library-list",children:[o.map(d=>e.jsxs("div",{className:"nice-contract-library-item",children:[e.jsxs("div",{className:"nice-contract-library-item-header",children:[e.jsx("span",{className:"nice-contract-library-item-name",children:d.name}),e.jsx("span",{className:"nice-contract-library-item-cat",style:{"--cat-color":le[d.category].color},children:le[d.category].icon})]}),d.description&&e.jsx("p",{className:"nice-contract-library-item-desc",children:d.description}),e.jsxs("button",{type:"button",className:"nice-contract-library-insert",onClick:()=>i(d),children:[e.jsx(n.NtdPlus,{size:14})," ",a("contractEditor.insert","Insert")]})]},d.id)),o.length===0&&e.jsx("div",{className:"nice-contract-library-empty",children:a("contractEditor.noMatchingClauses","No matching clauses")})]})]})},Oe=({variables:s,definitions:i,onChange:a})=>{const{t:c}=D.useNiceTranslation();return e.jsxs("div",{className:"nice-contract-variables",children:[e.jsx("h4",{children:c("contractEditor.variables","Variables")}),e.jsx("div",{className:"nice-contract-variables-list",children:i.map(t=>e.jsxs("div",{className:"nice-contract-variable",children:[e.jsxs("label",{children:[t.name,t.required&&e.jsx("span",{className:"nice-contract-required",children:"*"})]}),t.type==="select"&&t.options?e.jsxs("select",{value:s[t.name]||t.defaultValue||"",onChange:l=>a(t.name,l.target.value),children:[e.jsx("option",{value:"",children:c("contractEditor.select","Select...")}),t.options.map(l=>e.jsx("option",{value:l,children:l},l))]}):t.type==="date"?e.jsx("input",{type:"date",value:s[t.name]||t.defaultValue||"",onChange:l=>a(t.name,l.target.value)}):e.jsx("input",{type:t.type==="number"||t.type==="currency"?"number":"text",value:s[t.name]||t.defaultValue||"",placeholder:t.placeholder,onChange:l=>a(t.name,l.target.value)})]},t.name))})]})},Pe=({section:s,variables:i,readOnly:a,onToggle:c,onRemoveClause:t,onMoveClause:l})=>{const{t:h}=D.useNiceTranslation(),o=d=>d.replace(/\{\{(\w+)\}\}/g,(v,T)=>i[T]||`[${T}]`);return e.jsxs("div",{className:`nice-contract-section ${s.collapsed?"nice-contract-section--collapsed":""}`,children:[e.jsxs("div",{role:"button",tabIndex:0,"aria-expanded":!s.collapsed,onKeyDown:D.clickOnActivationKey,className:"nice-contract-section-header",onClick:c,children:[e.jsx("span",{className:"nice-contract-section-toggle",children:s.collapsed?e.jsx(n.NtdChevronRight,{size:14}):e.jsx(n.NtdChevronDown,{size:14})}),e.jsx("h3",{children:s.title}),e.jsx("span",{className:"nice-contract-section-count",children:h("contractEditor.clauseS","{clauses} clause(s)").replace("{clauses}",String(s.clauses.length))})]}),!s.collapsed&&e.jsxs("div",{className:"nice-contract-section-content",children:[s.clauses.map((d,v)=>e.jsxs("div",{className:"nice-contract-clause",children:[e.jsxs("div",{className:"nice-contract-clause-header",children:[e.jsx("span",{className:"nice-contract-clause-cat",style:{"--cat-color":le[d.category].color},children:le[d.category].icon}),e.jsx("span",{className:"nice-contract-clause-name",children:d.name}),d.isRequired&&e.jsx("span",{className:"nice-contract-clause-required",children:h("contractEditor.required","Required")}),!a&&e.jsxs("div",{className:"nice-contract-clause-actions",children:[e.jsx("button",{type:"button",onClick:()=>l(d.id,"up"),disabled:v===0,children:e.jsx(n.NtdArrowUp,{size:14})}),e.jsx("button",{type:"button",onClick:()=>l(d.id,"down"),disabled:v===s.clauses.length-1,children:e.jsx(n.NtdArrowDown,{size:14})}),e.jsx("button",{type:"button",onClick:()=>t(d.id),children:e.jsx(n.NtdClose,{size:14})})]})]}),e.jsx("div",{className:"nice-contract-clause-content",dangerouslySetInnerHTML:{__html:o(d.content)}})]},d.id)),s.clauses.length===0&&e.jsx("div",{className:"nice-contract-section-empty",children:h("contractEditor.noClausesInThisSection","No clauses in this section. Drag clauses here or use the library.")})]})]})},$e=({workflow:s,onAction:i})=>{const{t:a}=D.useNiceTranslation(),[c,t]=r.useState(null),[l,h]=r.useState("");return e.jsxs("div",{className:"nice-contract-workflow",children:[e.jsx("h4",{children:a("contractEditor.approvalWorkflow","Approval Workflow")}),e.jsx("div",{className:"nice-contract-workflow-steps",children:s.steps.map((o,d)=>e.jsxs("div",{className:`nice-contract-workflow-step nice-contract-workflow-step--${o.status}`,children:[e.jsxs("div",{className:"nice-contract-workflow-step-header",children:[e.jsx("span",{className:"nice-contract-workflow-step-num",children:d+1}),e.jsx("span",{className:"nice-contract-workflow-step-name",children:o.name}),e.jsx("span",{className:`nice-contract-workflow-step-status nice-contract-workflow-step-status--${o.status}`,children:o.status})]}),e.jsx("div",{className:"nice-contract-workflow-approvers",children:o.approvers.map(v=>e.jsxs("div",{className:"nice-contract-approver",children:[v.avatar&&e.jsx("img",{src:v.avatar,alt:"",className:"nice-contract-approver-avatar"}),e.jsx("span",{children:v.name}),e.jsx("span",{className:"nice-contract-approver-role",children:v.role})]},v.id))}),o.status==="pending"&&s.currentStep===d&&e.jsx("div",{className:"nice-contract-workflow-actions",children:c===o.id?e.jsxs(e.Fragment,{children:[e.jsx("textarea",{placeholder:a("contractEditor.commentsOptional","Comments (optional)"),value:l,onChange:v=>h(v.target.value)}),e.jsxs("div",{className:"nice-contract-workflow-btns",children:[e.jsxs("button",{type:"button",className:"nice-contract-btn nice-contract-btn--approve",onClick:()=>{i(o.id,"approve",l),t(null),h("")},children:[e.jsx(n.NtdCheck,{size:14})," ",a("contractEditor.approve","Approve")]}),e.jsxs("button",{type:"button",className:"nice-contract-btn nice-contract-btn--reject",onClick:()=>{i(o.id,"reject",l),t(null),h("")},children:[e.jsx(n.NtdError,{size:14})," ",a("contractEditor.reject","Reject")]}),e.jsx("button",{type:"button",onClick:()=>t(null),children:a("contractEditor.cancel","Cancel")})]})]}):e.jsx("button",{type:"button",className:"nice-contract-btn",onClick:()=>t(o.id),children:a("contractEditor.review","Review")})})]},o.id))})]})},Me=Object.assign(r.forwardRef(({document:s,clauseLibrary:i=[],readOnly:a=!1,showClauseLibrary:c=!0,showVersionHistory:t=!1,showComments:l=!1,showWorkflow:h=!0,currentUser:o,onChange:d,onAddClause:v,onRemoveClause:T,onVariableChange:I,onAddComment:y,onApprovalAction:z,onRestoreVersion:ce,onSave:K,onExport:S,className:J="",style:G,tutorial:P,testId:te,"data-testid":q},W)=>{var U;const{t:_}=D.useNiceTranslation(),[x,j]=r.useState(s),[g,X]=r.useState(c?"library":null),[m,V]=r.useState(((U=x.sections[0])==null?void 0:U.id)||null),R=x.sections.flatMap(N=>N.clauses.flatMap(w=>w.variables||[])).filter((N,w,C)=>C.findIndex(ee=>ee.name===N.name)===w),E=r.useCallback(N=>{const w={...x,...N,updatedAt:new Date};j(w),d==null||d(w)},[x,d]),Z=r.useCallback((N,w)=>{const C=x.sections.map(ee=>ee.id===w?{...ee,clauses:[...ee.clauses,{...N,id:`${N.id}-${Date.now()}`}]}:ee);E({sections:C}),v==null||v(N,w)},[x,E,v]),H=r.useCallback((N,w)=>{const C=x.sections.map(ee=>ee.id===w?{...ee,clauses:ee.clauses.filter(se=>se.id!==N)}:ee);E({sections:C}),T==null||T(N,w)},[x,E,T]),b=r.useCallback((N,w,C)=>{const ee=x.sections.map(se=>{if(se.id!==N)return se;const u=se.clauses.findIndex(ie=>ie.id===w);if(u===-1)return se;const Y=C==="up"?u-1:u+1;if(Y<0||Y>=se.clauses.length)return se;const L=[...se.clauses];return[L[u],L[Y]]=[L[Y],L[u]],{...se,clauses:L}});E({sections:ee})},[x,E]),k=r.useCallback(N=>{const w=x.sections.map(C=>C.id===N?{...C,collapsed:!C.collapsed}:C);E({sections:w})},[x,E]),A=r.useCallback((N,w)=>{E({variables:{...x.variables,[N]:w}}),I==null||I(N,w)},[x,E,I]),Q=r.useCallback(()=>{const N=[];return R.forEach(w=>{w.required&&!x.variables[w.name]&&N.push(`Missing required variable: ${w.name}`)}),x.sections.forEach(w=>{w.clauses.forEach(C=>{C.isRequired&&!C.content&&N.push(`Required clause "${C.name}" is empty`)})}),{valid:N.length===0,errors:N}},[x,R]);r.useImperativeHandle(W,()=>({getDocument:()=>x,insertClause:Z,setVariable:A,exportDocument:N=>S==null?void 0:S(N),validate:Q}));const M=Fe[x.status],f=e.jsxs("div",{className:"nice-contract-header",children:[e.jsxs("div",{className:"nice-contract-header-info",children:[e.jsx("h2",{className:"nice-contract-title",children:x.title}),e.jsx("span",{className:"nice-contract-status",style:{"--status-color":M.color},children:M.label})]}),e.jsxs("div",{className:"nice-contract-header-actions",children:[K&&!a&&e.jsx("button",{type:"button",className:"nice-contract-btn nice-contract-btn--primary",onClick:()=>K(x),children:_("contractEditor.save","Save")}),S&&e.jsxs("div",{className:"nice-contract-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-contract-btn",children:[_("contractEditor.export","Export")," ",e.jsx(n.NtdChevronDown,{size:14})]}),e.jsxs("div",{className:"nice-contract-export-menu",children:[e.jsx("button",{type:"button",onClick:()=>S("pdf"),children:"PDF"}),e.jsx("button",{type:"button",onClick:()=>S("docx"),children:"Word (.docx)"}),e.jsx("button",{type:"button",onClick:()=>S("html"),children:_("contractEditor.html","HTML")})]})]})]})]}),O=e.jsxs("div",{className:"nice-contract-toolbar",children:[c&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="library"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>X(g==="library"?null:"library"),children:[e.jsx(n.NtdBook,{size:16})," ",_("contractEditor.library","Library")]}),e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="variables"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>X(g==="variables"?null:"variables"),children:[e.jsx(n.NtdBrackets,{size:16})," ",_("contractEditor.variables","Variables")]}),h&&x.workflow&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="workflow"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>X(g==="workflow"?null:"workflow"),children:[e.jsx(n.NtdCheck,{size:16})," ",_("contractEditor.workflow","Workflow")]}),t&&e.jsxs("button",{type:"button",className:`nice-contract-toolbar-btn ${g==="history"?"nice-contract-toolbar-btn--active":""}`,onClick:()=>X(g==="history"?null:"history"),children:[e.jsx(n.NtdClock,{size:16})," ",_("contractEditor.history","History")]})]}),B=g?e.jsxs("div",{className:"nice-contract-panel",children:[g==="library"&&e.jsx(Re,{clauses:i,onInsert:N=>m&&Z(N,m)}),g==="variables"&&e.jsx(Oe,{variables:x.variables,definitions:R,onChange:A}),g==="workflow"&&x.workflow&&e.jsx($e,{workflow:x.workflow,onAction:(N,w,C)=>z==null?void 0:z(N,w,C)})]}):void 0;return e.jsx(D.NiceAppShell,{flush:!0,className:`nice-contract-editor ${J}`,style:G,"data-testid":q??te,menubar:f,toolbar:O,sidebar:B,children:e.jsxs("div",{className:"nice-contract-document",children:[e.jsx("span",{style:{position:"absolute",top:6,right:6,zIndex:30},children:e.jsx(D.NiceTutorialButton,{steps:D.resolveTutorial(P,Ie)})}),x.sections.map(N=>e.jsx(Pe,{section:N,variables:x.variables,readOnly:a,onToggle:()=>k(N.id),onRemoveClause:w=>H(w,N.id),onMoveClause:(w,C)=>b(N.id,w,C)},N.id))]})})}),{displayName:"NiceContractEditor"}),Ue=[{id:"necessary",label:"Necessary",description:"Essential cookies for site functionality. Cannot be disabled.",required:!0,enabled:!0,cookies:["session_id","csrf_token","consent"]},{id:"analytics",label:"Analytics",description:"Help us understand how visitors interact with our website.",enabled:!1,cookies:["_ga","_gid","_gat"],partners:["Google Analytics","Hotjar"]},{id:"marketing",label:"Marketing",description:"Used to deliver personalized advertisements.",enabled:!1,cookies:["_fbp","_gcl_au","ads_id"],partners:["Facebook","Google Ads","LinkedIn"]},{id:"preferences",label:"Preferences",description:"Remember your settings and preferences.",enabled:!1,cookies:["theme","language","timezone"]},{id:"social",label:"Social Media",description:"Enable social sharing and embedded content.",enabled:!1,cookies:["social_session"],partners:["Twitter","YouTube","Instagram"]}],Ye={title:"Cookie Preferences",description:"We use cookies to enhance your experience. Choose which types of cookies you allow.",acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize",savePreferences:"Save Preferences",necessary:"Necessary",analytics:"Analytics",marketing:"Marketing",preferences:"Preferences",social:"Social Media",dataRights:"Your Data Rights",exportData:"Export My Data",deleteData:"Delete My Data",pending:"Pending",processing:"Processing",completed:"Completed",close:"Close"},qe=({option:s,enabled:i,onChange:a})=>{const{t:c}=D.useNiceTranslation();return e.jsxs("div",{className:"nice-gdpr-option",children:[e.jsxs("div",{className:"nice-gdpr-option-header",children:[e.jsxs("label",{className:"nice-gdpr-option-toggle",children:[e.jsx("input",{type:"checkbox",checked:i,onChange:t=>a(t.target.checked),disabled:s.required}),e.jsx("span",{className:"nice-gdpr-toggle-slider"})]}),e.jsxs("div",{className:"nice-gdpr-option-info",children:[e.jsxs("span",{className:"nice-gdpr-option-label",children:[s.label,s.required&&e.jsx("span",{className:"nice-gdpr-required",children:c("gdprConsent.required","Required")})]}),e.jsx("span",{className:"nice-gdpr-option-desc",children:s.description})]})]}),s.partners&&s.partners.length>0&&e.jsxs("div",{className:"nice-gdpr-option-partners",children:[e.jsxs("span",{children:[c("gdprConsent.partners","Partners:")," "]}),s.partners.join(", ")]})]})},Ve=({requests:s,policies:i,onRequest:a,onDownload:c,labels:t})=>{const{t:l}=D.useNiceTranslation();return e.jsxs("div",{className:"nice-gdpr-rights",children:[e.jsx("h4",{children:t.dataRights}),e.jsxs("div",{className:"nice-gdpr-rights-actions",children:[e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--secondary",onClick:()=>a("export"),children:[e.jsx(n.NtdDownload,{size:16})," ",t.exportData]}),e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--danger",onClick:()=>a("delete"),children:[e.jsx(n.NtdTrash,{size:16})," ",t.deleteData]})]}),s.length>0&&e.jsxs("div",{className:"nice-gdpr-requests",children:[e.jsx("h5",{children:l("gdprConsent.previousRequests","Previous Requests")}),s.map(h=>e.jsxs("div",{className:`nice-gdpr-request nice-gdpr-request--${h.status}`,children:[e.jsx("span",{className:"nice-gdpr-request-type",children:h.type}),e.jsx("span",{className:"nice-gdpr-request-date",children:new Date(h.requestedAt).toLocaleDateString()}),e.jsx("span",{className:"nice-gdpr-request-status",children:h.status}),h.status==="completed"&&h.downloadUrl&&e.jsx("button",{type:"button",className:"nice-gdpr-download-btn",onClick:()=>c(h.id),children:l("gdprConsent.download","Download")})]},h.id))]}),i.length>0&&e.jsxs("div",{className:"nice-gdpr-policies",children:[e.jsx("h5",{children:l("gdprConsent.dataRetention","Data Retention")}),e.jsxs("table",{className:"nice-gdpr-policies-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:l("gdprConsent.category","Category")}),e.jsx("th",{children:l("gdprConsent.retention","Retention")}),e.jsx("th",{children:l("gdprConsent.legalBasis","Legal Basis")})]})}),e.jsx("tbody",{children:i.map((h,o)=>e.jsxs("tr",{children:[e.jsx("td",{children:h.category}),e.jsx("td",{children:l("gdprConsent.days","{retentionDays} days").replace("{retentionDays}",String(h.retentionDays))}),e.jsx("td",{children:h.legalBasis})]},o))})]})]})]})},He=Object.assign(r.forwardRef(({appName:s,companyName:i,options:a=Ue,currentConsent:c=null,retentionPolicies:t=[],dataRequests:l=[],privacyPolicy:h=[],storageKey:o="nice_gdpr_consent",consentVersion:d="1.0",variant:v="banner",position:T="bottom",onConsentChange:I,onDataRequest:y,onDownloadExport:z,privacyPolicyUrl:ce,cookiePolicyUrl:K,termsUrl:S,labels:J,className:G="",style:P,testId:te,"data-testid":q},W)=>{const{t:_}=D.useNiceTranslation(),x={...Ye,...J},[j,g]=r.useState(!1),[X,m]=r.useState(!1),[V,F]=r.useState(!1),[R,E]=r.useState(()=>{const f={};return a.forEach(O=>{f[O.id]=(c==null?void 0:c.categories[O.id])??O.enabled}),f});r.useEffect(()=>{(!c||c.version!==d)&&g(!0)},[c,d]);const Z=r.useCallback((f,O)=>{const B=O||R;B.necessary=!0;const U={version:d,timestamp:new Date,categories:B,action:f};try{localStorage.setItem(o,JSON.stringify(U))}catch{}E(B),g(!1),m(!1),I==null||I(U)},[R,d,o,I]),H=r.useCallback(()=>{const f={};a.forEach(O=>{f[O.id]=!0}),Z("accept_all",f)},[a,Z]),b=r.useCallback(()=>{const f={};a.forEach(O=>{f[O.id]=O.required||!1}),Z("reject_all",f)},[a,Z]),k=r.useCallback(async f=>{y&&await y(f)},[y]);r.useImperativeHandle(W,()=>({showBanner:()=>g(!0),hideBanner:()=>g(!1),getConsent:()=>{try{const f=localStorage.getItem(o);return f?JSON.parse(f):null}catch{return null}},revokeConsent:()=>{try{localStorage.removeItem(o)}catch{}g(!0)},openPreferences:()=>{g(!0),m(!0)}}));const A=r.useRef(null);if(D.useOverlayFocus(A,{open:j&&v==="modal"}),!j&&v!=="embedded")return null;const Q=e.jsxs("div",{className:"nice-gdpr-content",children:[e.jsxs("div",{className:"nice-gdpr-header",children:[e.jsx("div",{className:"nice-gdpr-icon",children:e.jsx(n.NtdCookieConsent,{size:32})}),e.jsxs("div",{className:"nice-gdpr-header-text",children:[e.jsx("h3",{children:x.title}),e.jsx("p",{children:x.description.replace("{app}",s).replace("{company}",i)})]})]}),!X&&!V&&e.jsxs("div",{className:"nice-gdpr-quick-actions",children:[e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--primary",onClick:H,children:x.acceptAll}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--secondary",onClick:b,children:x.rejectAll}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>m(!0),children:x.customize})]}),X&&!V&&e.jsxs("div",{className:"nice-gdpr-preferences",children:[e.jsx("div",{className:"nice-gdpr-options",children:a.map(f=>e.jsx(qe,{option:f,enabled:R[f.id],onChange:O=>E(B=>({...B,[f.id]:O}))},f.id))}),e.jsxs("div",{className:"nice-gdpr-pref-actions",children:[e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--primary",onClick:()=>Z("custom"),children:x.savePreferences}),e.jsx("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>F(!0),children:x.dataRights})]})]}),V&&e.jsxs(e.Fragment,{children:[e.jsx(Ve,{requests:l,policies:t,onRequest:k,onDownload:f=>z==null?void 0:z(f),labels:x}),e.jsxs("button",{type:"button",className:"nice-gdpr-btn nice-gdpr-btn--link",onClick:()=>F(!1),children:[e.jsx(n.NtdArrowLeft,{size:14})," ",_("gdprConsent.backToPreferences","Back to preferences")]})]}),e.jsxs("div",{className:"nice-gdpr-footer",children:[ce&&e.jsx("a",{href:ce,target:"_blank",rel:"noopener noreferrer",children:_("gdprConsent.privacyPolicy","Privacy Policy")}),K&&e.jsx("a",{href:K,target:"_blank",rel:"noopener noreferrer",children:_("gdprConsent.cookiePolicy","Cookie Policy")}),S&&e.jsx("a",{href:S,target:"_blank",rel:"noopener noreferrer",children:_("gdprConsent.termsOfService","Terms of Service")})]})]}),M=`nice-gdpr-consent nice-gdpr-consent--${v} nice-gdpr-consent--${T} ${G}`;return v==="modal"?e.jsx("div",{className:"nice-gdpr-overlay",children:e.jsx("div",{ref:A,className:M,style:P,role:"dialog","aria-modal":"true","aria-label":x.title,"data-testid":q??te,children:Q})}):e.jsx("div",{className:M,style:P,"data-testid":q??te,children:Q})}),{displayName:"NiceGDPRConsent"}),Be=[],fe={document:e.jsx(n.NtdFileText,{size:16}),user:e.jsx(n.NtdUser,{size:16}),task:e.jsx(n.NtdCheck,{size:16}),project:e.jsx(n.NtdFolder,{size:16}),setting:e.jsx(n.NtdSettings,{size:16}),help:e.jsx(n.NtdHelp,{size:16}),action:e.jsx(n.NtdLightning,{size:16}),custom:e.jsx(n.NtdCircle,{size:16})},Ke=({value:s,onChange:i,onKeyDown:a,placeholder:c,isLoading:t,inputRef:l,listboxId:h,activeId:o,expanded:d})=>{const{t:v}=D.useNiceTranslation();return e.jsxs("div",{className:"nice-search-input-container",children:[e.jsx("span",{className:"nice-search-icon",children:e.jsx(n.NtdSearch,{size:16})}),e.jsx("input",{ref:l,type:"text",className:"nice-search-input",placeholder:c,value:s,onChange:T=>i(T.target.value),onKeyDown:a,"aria-label":v("globalSearch.search","Search"),role:"combobox","aria-autocomplete":"list","aria-expanded":d,"aria-controls":h,"aria-activedescendant":o}),t&&e.jsx("span",{className:"nice-search-loader"}),s&&!t&&e.jsx("button",{type:"button",className:"nice-search-clear",onClick:()=>i(""),"aria-label":v("globalSearch.clearSearch","Clear search"),children:e.jsx(n.NtdClose,{size:16})})]})},Je=({result:s,isSelected:i,onSelect:a,renderResult:c,id:t})=>c?e.jsx("div",{id:t,role:"option","aria-selected":i,onClick:a,children:c(s,i)}):e.jsxs("div",{id:t,className:`nice-search-result ${i?"nice-search-result--selected":""}`,onClick:a,role:"option","aria-selected":i,children:[e.jsx("div",{className:"nice-search-result-icon",children:s.icon||(s.image?e.jsx("img",{src:s.image,alt:""}):fe[s.type])}),e.jsxs("div",{className:"nice-search-result-content",children:[e.jsx("span",{className:"nice-search-result-title",children:s.title}),s.subtitle&&e.jsx("span",{className:"nice-search-result-subtitle",children:s.subtitle}),s.description&&e.jsx("span",{className:"nice-search-result-desc",children:s.description})]}),e.jsxs("div",{className:"nice-search-result-meta",children:[e.jsx("span",{className:"nice-search-result-source",children:s.source}),e.jsx("span",{className:"nice-search-result-type",children:s.type})]}),s.actions&&s.actions.length>0&&e.jsx("div",{className:"nice-search-result-actions",children:s.actions.map(l=>e.jsx("button",{type:"button",className:"nice-search-action-btn",onClick:h=>{h.stopPropagation(),l.onClick()},title:l.label,children:l.icon||l.label},l.id))})]}),Ge=({categories:s,selected:i,onSelect:a})=>{const{t:c}=D.useNiceTranslation();return e.jsxs("div",{className:"nice-search-categories",children:[e.jsx("button",{type:"button",className:`nice-search-category ${i===null?"nice-search-category--active":""}`,onClick:()=>a(null),children:c("globalSearch.all","All")}),s.map(t=>e.jsxs("button",{type:"button",className:`nice-search-category ${i===t.id?"nice-search-category--active":""}`,onClick:()=>a(t.id),children:[t.icon&&e.jsx("span",{className:"nice-search-category-icon",children:t.icon}),t.label,t.count!==void 0&&e.jsx("span",{className:"nice-search-category-count",children:t.count})]},t.id))]})},We=({searches:s,onSelect:i,onClear:a,label:c,clearLabel:t})=>e.jsxs("div",{className:"nice-search-recent",children:[e.jsxs("div",{className:"nice-search-recent-header",children:[e.jsx("span",{children:c}),e.jsx("button",{type:"button",onClick:a,children:t})]}),e.jsx("div",{className:"nice-search-recent-list",children:s.map((l,h)=>e.jsxs("button",{type:"button",className:"nice-search-recent-item",onClick:()=>i(l.query),children:[e.jsx("span",{className:"nice-search-recent-icon",children:e.jsx(n.NtdClock,{size:14})}),e.jsx("span",{className:"nice-search-recent-query",children:l.query})]},h))})]}),Xe={placeholder:"Search...",recent:"Recent Searches",noResults:"No results found for",searching:"Searching...",clearRecent:"Clear",categories:"Categories",filters:"Filters"},Ze=Object.assign(r.forwardRef(({sources:s=Be,placeholder:i,minQueryLength:a=2,debounceMs:c=300,showCategories:t=!0,filters:l=[],showRecent:h=!0,maxRecent:o=5,showShortcuts:d=!0,hotkey:v="k",onResultSelect:T,onSearch:I,onClose:y,renderResult:z,renderEmpty:ce,defaultOpen:K=!1,open:S,variant:J="modal",labels:G,className:P="",style:te,testId:q,"data-testid":W},_)=>{const{t:x}=D.useNiceTranslation(),j={...Xe,...G},g=r.useRef(null),X=r.useRef(void 0),[m,V]=r.useState(K),[F,R]=r.useState(""),[E,Z]=r.useState([]),[H,b]=r.useState(!1),[k,A]=r.useState(0),[Q,M]=r.useState(null),[f,O]=r.useState([]),B=S!==void 0?S:m;r.useEffect(()=>{try{const p=localStorage.getItem("nice_recent_searches");p&&O(JSON.parse(p))}catch{}},[]);const U=r.useCallback((p,$)=>{const ne=[{query:p,timestamp:new Date,resultCount:$},...f.filter(ue=>ue.query!==p)].slice(0,o);O(ne);try{localStorage.setItem("nice_recent_searches",JSON.stringify(ne))}catch{}},[f,o]),N=r.useCallback(async p=>{if(p.length<a){Z([]);return}b(!0);try{const $=s.map(async ne=>{try{return(await ne.search(p)).map(ge=>({...ge,source:ne.name,relevanceScore:ge.relevanceScore*(ne.priority||1)}))}catch{return[]}}),ae=(await Promise.all($)).flat();ae.sort((ne,ue)=>ue.relevanceScore-ne.relevanceScore),Z(ae),A(0),I==null||I(p,ae),ae.length>0&&U(p,ae.length)}finally{b(!1)}},[s,a,I,U]),w=r.useCallback(p=>{R(p),X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{N(p)},c)},[N,c]),C=Q?E.filter(p=>p.type===Q):E,ee=r.useCallback(p=>{switch(p.key){case"ArrowDown":p.preventDefault(),A($=>Math.min($+1,C.length-1));break;case"ArrowUp":p.preventDefault(),A($=>Math.max($-1,0));break;case"PageDown":case"PageUp":{p.preventDefault();const $=p.key==="PageDown"?10:-10;A(ae=>Math.max(0,Math.min(C.length-1,ae+$)));break}case"Enter":p.preventDefault(),C[k]&&(T==null||T(C[k]),V(!1),y==null||y());break;case"Escape":if(J==="modal")break;p.preventDefault(),V(!1),y==null||y();break}},[C,k,T,y,J]),se=r.useRef(null),u=r.useRef(null),L=`${r.useId()}-results`,ie=r.useCallback(()=>{V(!1),y==null||y()},[y]);D.useOverlayFocus(se,{open:B&&J==="modal",initialFocus:g,onClose:ie}),D.useIntent(["navigate","activate"],p=>{if(p.source==="keyboard"||C.length===0)return!1;if(p.intent==="activate"){const $=C[k];$&&(T==null||T($),ie())}else if(p.direction==="down"||p.direction==="up"){const $=p.direction==="down"?1:-1;A(ae=>Math.min(Math.max(ae+$,0),C.length-1))}else return!1},{ref:u,enabled:B||J==="inline"}),r.useEffect(()=>{const p=$=>{($.metaKey||$.ctrlKey)&&$.key===v&&($.preventDefault(),V(!0),setTimeout(()=>{var ae;return(ae=g.current)==null?void 0:ae.focus()},0))};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[v]),r.useEffect(()=>{B&&setTimeout(()=>{var p;return(p=g.current)==null?void 0:p.focus()},0)},[B]);const me=Array.from(new Set(E.map(p=>p.type))).map(p=>({id:p,label:p.charAt(0).toUpperCase()+p.slice(1),icon:fe[p],count:E.filter($=>$.type===p).length}));if(r.useImperativeHandle(_,()=>({open:()=>V(!0),close:()=>{V(!1),y==null||y()},focus:()=>{var p;return(p=g.current)==null?void 0:p.focus()},clear:()=>{R(""),Z([])},search:async p=>{R(p),await N(p)}})),!B&&J!=="inline")return null;const xe=e.jsxs("div",{className:"nice-search-content",ref:u,children:[e.jsx(Ke,{value:F,onChange:w,onKeyDown:ee,placeholder:i||j.placeholder,isLoading:H,inputRef:g,listboxId:L,activeId:C[k]?`${L}-${k}`:void 0,expanded:C.length>0}),t&&me.length>1&&F.length>=a&&e.jsx(Ge,{categories:me,selected:Q,onSelect:M}),e.jsxs("div",{className:"nice-search-results",role:"listbox",id:L,children:[H&&F.length>=a&&e.jsx("div",{className:"nice-search-loading",children:j.searching}),!H&&F.length>=a&&C.length===0&&e.jsx("div",{className:"nice-search-empty",children:ce?ce(F):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"nice-search-empty-icon",children:e.jsx(n.NtdSearch,{size:32})}),e.jsxs("span",{children:[j.noResults,' "',F,'"']})]})}),C.map((p,$)=>e.jsx(Je,{id:`${L}-${$}`,result:p,isSelected:$===k,onSelect:()=>{T==null||T(p),V(!1),y==null||y()},renderResult:z},p.id))]}),h&&F.length<a&&f.length>0&&e.jsx(We,{searches:f,onSelect:p=>{R(p),N(p)},onClear:()=>{O([]),localStorage.removeItem("nice_recent_searches")},label:j.recent,clearLabel:j.clearRecent}),d&&e.jsxs("div",{className:"nice-search-shortcuts",children:[e.jsxs("span",{children:[e.jsx(D.NiceKeyCap,{keys:"ArrowUp ArrowDown",size:"sm"})," ",x("globalSearch.navigate","Navigate")]}),e.jsxs("span",{children:[e.jsx(D.NiceKeyCap,{keys:"Enter",size:"sm"})," ",x("globalSearch.select","Select")]}),e.jsxs("span",{children:[e.jsx(D.NiceKeyCap,{keys:"Escape",size:"sm"})," ",x("globalSearch.close","Close")]})]})]});return J==="modal"?e.jsx("div",{className:"nice-search-overlay",role:"presentation",onClick:p=>{p.stopPropagation(),p.target===p.currentTarget&&(V(!1),y==null||y())},children:e.jsx("div",{ref:se,className:`nice-global-search nice-global-search--modal ${P}`,style:te,role:"dialog","aria-modal":"true","aria-label":i||j.placeholder,"data-testid":W??q,children:xe})}):e.jsx("div",{className:`nice-global-search nice-global-search--${J} ${P}`,style:te,"data-testid":W??q,children:xe})}),{displayName:"NiceGlobalSearch"}),Qe=[],oe={title:"Access Log",filters:"Filters",search:"Search users, IPs...",export:"Export",refresh:"Refresh",details:"Details",stats:"Statistics",map:"Geographic Distribution",timeline:"Timeline",showMore:"Show More",noResults:"No access logs found",eventTypes:{login_success:"Login Success",login_failed:"Login Failed",logout:"Logout",password_change:"Password Change",password_reset:"Password Reset",mfa_enabled:"MFA Enabled",mfa_disabled:"MFA Disabled",mfa_challenged:"MFA Challenge",permission_change:"Permission Change",session_expired:"Session Expired",account_locked:"Account Locked",account_unlocked:"Account Unlocked",api_key_created:"API Key Created",api_key_revoked:"API Key Revoked",token_refresh:"Token Refresh",suspicious_activity:"Suspicious Activity"},riskLevels:{low:"Low",medium:"Medium",high:"High",critical:"Critical"},deviceTypes:{desktop:"Desktop",mobile:"Mobile",tablet:"Tablet",unknown:"Unknown"},columns:{timestamp:"Time",user:"User",event:"Event",ip:"IP Address",location:"Location",device:"Device",risk:"Risk",status:"Status"}},he={login_success:e.jsx(n.NtdCheck,{size:16}),login_failed:e.jsx(n.NtdError,{size:16}),logout:e.jsx(n.NtdLogOut,{size:16}),password_change:e.jsx(n.NtdKey,{size:16}),password_reset:e.jsx(n.NtdRefresh,{size:16}),mfa_enabled:e.jsx(n.NtdShield,{size:16}),mfa_disabled:e.jsx(n.NtdWarning,{size:16}),mfa_challenged:e.jsx(n.NtdSmartphone,{size:16}),permission_change:e.jsx(n.NtdUser,{size:16}),session_expired:e.jsx(n.NtdClock,{size:16}),account_locked:e.jsx(n.NtdLock,{size:16}),account_unlocked:e.jsx(n.NtdUnlock,{size:16}),api_key_created:e.jsx(n.NtdKey,{size:16}),api_key_revoked:e.jsx(n.NtdError,{size:16}),token_refresh:e.jsx(n.NtdRefresh,{size:16}),suspicious_activity:e.jsx(n.NtdLightning,{size:16})},de={low:"var(--nice-color-success, #22c55e)",medium:"var(--nice-color-warning, #f59e0b)",high:"var(--nice-color-error, #ef4444)",critical:"var(--nice-color-accent-hover, #7c3aed)"},je={desktop:e.jsx(n.NtdMonitor,{size:16}),mobile:e.jsx(n.NtdSmartphone,{size:16}),tablet:e.jsx(n.NtdSmartphone,{size:16}),unknown:e.jsx(n.NtdHelp,{size:16})},Ne=s=>(typeof s=="string"?new Date(s):s).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}),be=s=>{if(!s)return"Unknown";const i=[];return s.city&&i.push(s.city),s.country&&i.push(s.country),i.length>0?i.join(", "):"Unknown"},es=s=>{if(!s)return"Unknown";const i=[];return s.browser&&i.push(s.browser),s.os&&i.push(s.os),i.length>0?i.join(" / "):s.type},ve=s=>s>=80?de.critical:s>=60?de.high:s>=40?de.medium:de.low,ss=(s,i)=>{var a,c,t,l,h;if(i.startDate){const o=typeof i.startDate=="string"?new Date(i.startDate):i.startDate;if((typeof s.timestamp=="string"?new Date(s.timestamp):s.timestamp)<o)return!1}if(i.endDate){const o=typeof i.endDate=="string"?new Date(i.endDate):i.endDate;if((typeof s.timestamp=="string"?new Date(s.timestamp):s.timestamp)>o)return!1}if((a=i.eventTypes)!=null&&a.length&&!i.eventTypes.includes(s.eventType)||(c=i.riskLevels)!=null&&c.length&&!i.riskLevels.includes(s.riskLevel)||i.userId&&s.userId!==i.userId||i.ipAddress&&!s.ipAddress.includes(i.ipAddress)||i.country&&((t=s.location)==null?void 0:t.country)!==i.country||i.successOnly&&!s.success||i.failedOnly&&s.success)return!1;if(i.searchQuery){const o=i.searchQuery.toLowerCase();if(![s.userName,s.userEmail,s.userId,s.ipAddress,(l=s.location)==null?void 0:l.city,(h=s.location)==null?void 0:h.country].filter(Boolean).join(" ").toLowerCase().includes(o))return!1}return!0},ts=Object.assign(r.forwardRef(function(i,a){var ee,se;const{t:c}=D.useNiceTranslation(),{entries:t=Qe,filter:l={},stats:h,realtime:o=!1,pollingInterval:d=3e4,showMap:v=!1,showStats:T=!0,showDetails:I=!0,pageSize:y=50,labels:z,loading:ce=!1,onFilterChange:K,onExport:S,onEntrySelect:J,onBlockIP:G,onRefresh:P,className:te="",testId:q,"data-testid":W,..._}=i,x=r.useRef(null);r.useId();const j=r.useMemo(()=>({...oe,...z,eventTypes:{...oe.eventTypes,...z==null?void 0:z.eventTypes},riskLevels:{...oe.riskLevels,...z==null?void 0:z.riskLevels},deviceTypes:{...oe.deviceTypes,...z==null?void 0:z.deviceTypes},columns:{...oe.columns,...z==null?void 0:z.columns}}),[z]),[g,X]=r.useState(l),[m,V]=r.useState(null),[F,R]=r.useState(y),[E,Z]=r.useState(!1),[H,b]=r.useState("table"),k=r.useMemo(()=>t.filter(u=>ss(u,g)),[t,g]),A=r.useMemo(()=>k.slice(0,F),[k,F]),Q=r.useMemo(()=>{if(h)return h;const u=new Set(t.map(L=>L.ipAddress)),Y=new Set(t.map(L=>{var ie;return(ie=L.location)==null?void 0:ie.country}).filter(Boolean));return{totalEvents:t.length,successfulLogins:t.filter(L=>L.eventType==="login_success").length,failedLogins:t.filter(L=>L.eventType==="login_failed").length,uniqueIPs:u.size,uniqueCountries:Y.size,highRiskEvents:t.filter(L=>L.riskLevel==="high"||L.riskLevel==="critical").length,suspiciousActivities:t.filter(L=>L.eventType==="suspicious_activity").length}},[t,h]),M=r.useCallback(u=>{const Y={...g,...u};X(Y),R(y),K==null||K(Y)},[g,K,y]),f=r.useCallback(()=>{X({}),R(y),K==null||K({})},[K,y]),O=r.useCallback(u=>{V(u),J==null||J(u)},[J]),B=r.useCallback(u=>{S==null||S(u)},[S]),U=r.useCallback(()=>{P==null||P()},[P]),N=r.useCallback(()=>{R(u=>u+y)},[y]);r.useImperativeHandle(a,()=>({getFilter:()=>g,applyFilter:M,clearFilters:f,export:B,refresh:U,getSelectedEntry:()=>m,getElement:()=>x.current}),[g,M,f,B,U,m]);const w=u=>{var Y,L;return e.jsxs("tr",{className:`nice-accesslog-row ${(m==null?void 0:m.id)===u.id?"nice-accesslog-row--selected":""} ${u.success?"":"nice-accesslog-row--failed"}`,onClick:()=>O(u),children:[e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--timestamp",children:Ne(u.timestamp)}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--user",children:e.jsxs("div",{className:"nice-accesslog-user",children:[e.jsx("span",{className:"nice-accesslog-username",children:u.userName||u.userId}),u.userEmail&&e.jsx("span",{className:"nice-accesslog-email",children:u.userEmail})]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--event",children:e.jsxs("span",{className:`nice-accesslog-event nice-accesslog-event--${u.eventType}`,children:[e.jsx("span",{className:"nice-accesslog-event-icon",children:he[u.eventType]}),j.eventTypes[u.eventType]]})}),e.jsxs("td",{className:"nice-accesslog-cell nice-accesslog-cell--ip",children:[e.jsx("span",{className:"nice-accesslog-ip",children:u.ipAddress}),G&&e.jsx("button",{type:"button",className:"nice-accesslog-block-btn",onClick:ie=>{ie.stopPropagation(),G(u.ipAddress)},title:c("accessLog.blockIp","Block IP"),children:e.jsx(n.NtdSlash,{size:14})})]}),e.jsxs("td",{className:"nice-accesslog-cell nice-accesslog-cell--location",children:[((Y=u.location)==null?void 0:Y.countryCode)&&e.jsx("span",{className:"nice-accesslog-flag",children:e.jsx(n.NtdFlag,{size:14})}),be(u.location)]}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--device",children:e.jsxs("span",{className:"nice-accesslog-device",children:[je[((L=u.device)==null?void 0:L.type)||"unknown"],es(u.device)]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--risk",children:e.jsxs("span",{className:`nice-accesslog-risk nice-accesslog-risk--${u.riskLevel}`,style:{"--risk-color":ve(u.riskScore)},children:[e.jsx("span",{className:"nice-accesslog-risk-score",children:u.riskScore}),e.jsx("span",{className:"nice-accesslog-risk-label",children:j.riskLevels[u.riskLevel]})]})}),e.jsx("td",{className:"nice-accesslog-cell nice-accesslog-cell--status",children:e.jsx("span",{className:`nice-accesslog-status ${u.success?"nice-accesslog-status--success":"nice-accesslog-status--failed"}`,children:u.success?e.jsx(n.NtdCheck,{size:14}):e.jsx(n.NtdError,{size:14})})})]},u.id)},C=u=>e.jsxs("div",{role:"button",tabIndex:0,onKeyDown:D.clickOnActivationKey,className:`nice-accesslog-timeline-item nice-accesslog-timeline-item--${u.riskLevel}`,onClick:()=>O(u),children:[e.jsx("div",{className:"nice-accesslog-timeline-marker",style:{background:de[u.riskLevel]}}),e.jsxs("div",{className:"nice-accesslog-timeline-content",children:[e.jsxs("div",{className:"nice-accesslog-timeline-header",children:[e.jsxs("span",{className:"nice-accesslog-timeline-event",children:[he[u.eventType]," ",j.eventTypes[u.eventType]]}),e.jsx("span",{className:"nice-accesslog-timeline-time",children:Ne(u.timestamp)})]}),e.jsxs("div",{className:"nice-accesslog-timeline-details",children:[e.jsx("span",{children:u.userName||u.userId}),e.jsx("span",{children:"•"}),e.jsx("span",{children:u.ipAddress}),e.jsx("span",{children:"•"}),e.jsx("span",{children:be(u.location)})]}),u.flags&&u.flags.length>0&&e.jsx("div",{className:"nice-accesslog-timeline-flags",children:u.flags.map((Y,L)=>e.jsx("span",{className:"nice-accesslog-flag-badge",children:Y},L))})]})]},u.id);return e.jsxs("div",{ref:x,className:`nice-accesslog ${te}`,"data-testid":W??q,..._,children:[e.jsxs("div",{className:"nice-accesslog-header",children:[e.jsxs("div",{className:"nice-accesslog-header-left",children:[e.jsx("h2",{className:"nice-accesslog-title",children:j.title}),o&&e.jsxs("span",{className:"nice-accesslog-realtime-badge",children:[e.jsx(n.NtdCircle,{size:10})," ",c("accessLog.live","Live")]})]}),e.jsxs("div",{className:"nice-accesslog-header-actions",children:[e.jsxs("button",{type:"button",className:"nice-accesslog-btn",onClick:U,disabled:ce,children:[e.jsx(n.NtdRefresh,{size:16})," ",j.refresh]}),e.jsxs("div",{className:"nice-accesslog-export-dropdown",children:[e.jsxs("button",{type:"button",className:"nice-accesslog-btn",children:[e.jsx(n.NtdDownload,{size:16})," ",j.export]}),e.jsxs("div",{className:"nice-accesslog-export-menu",children:[e.jsx("button",{onClick:()=>B("csv"),children:"CSV"}),e.jsx("button",{onClick:()=>B("json"),children:c("accessLog.json","JSON")}),e.jsx("button",{onClick:()=>B("pdf"),children:"PDF"})]})]})]})]}),T&&e.jsxs("div",{className:"nice-accesslog-stats",children:[e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.totalEvents}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.totalEvents","Total Events")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--success",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.successfulLogins}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.successful","Successful")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--failed",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.failedLogins}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.failed","Failed")})]}),e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.uniqueIPs}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.uniqueIps","Unique IPs")})]}),e.jsxs("div",{className:"nice-accesslog-stat",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.uniqueCountries}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.countries","Countries")})]}),e.jsxs("div",{className:"nice-accesslog-stat nice-accesslog-stat--warning",children:[e.jsx("span",{className:"nice-accesslog-stat-value",children:Q.highRiskEvents}),e.jsx("span",{className:"nice-accesslog-stat-label",children:c("accessLog.highRisk","High Risk")})]})]}),e.jsxs("div",{className:"nice-accesslog-filters",children:[e.jsxs("div",{className:"nice-accesslog-filters-row",children:[e.jsxs("div",{className:"nice-accesslog-search",children:[e.jsx("span",{className:"nice-accesslog-search-icon",children:e.jsx(n.NtdSearch,{size:16})}),e.jsx("input",{type:"text",placeholder:j.search,value:g.searchQuery||"",onChange:u=>M({searchQuery:u.target.value})})]}),e.jsxs("div",{className:"nice-accesslog-filter-quick",children:[e.jsx("button",{type:"button",className:`nice-accesslog-filter-chip ${g.failedOnly?"nice-accesslog-filter-chip--active":""}`,onClick:()=>M({failedOnly:!g.failedOnly,successOnly:!1}),children:c("accessLog.failedOnly","Failed Only")}),e.jsx("button",{type:"button",className:`nice-accesslog-filter-chip ${(ee=g.riskLevels)!=null&&ee.includes("high")||(se=g.riskLevels)!=null&&se.includes("critical")?"nice-accesslog-filter-chip--active":""}`,onClick:()=>{var u;return M({riskLevels:(u=g.riskLevels)!=null&&u.includes("high")?[]:["high","critical"]})},children:c("accessLog.highRisk","High Risk")}),e.jsx("button",{type:"button",className:"nice-accesslog-filter-toggle",onClick:()=>Z(!E),children:E?e.jsxs(e.Fragment,{children:[e.jsx(n.NtdMinus,{size:14})," ",c("accessLog.less","Less")]}):e.jsxs(e.Fragment,{children:[e.jsx(n.NtdPlus,{size:14})," ",c("accessLog.more","More")]})})]})]}),E&&e.jsxs("div",{className:"nice-accesslog-filters-expanded",children:[e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.eventType","Event Type")}),e.jsx("select",{multiple:!0,value:g.eventTypes||[],onChange:u=>{const Y=Array.from(u.target.selectedOptions,L=>L.value);M({eventTypes:Y.length?Y:void 0})},children:Object.entries(j.eventTypes).map(([u,Y])=>e.jsx("option",{value:u,children:Y},u))})]}),e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.dateRange","Date Range")}),e.jsxs("div",{className:"nice-accesslog-date-range",children:[e.jsx("input",{type:"date",value:g.startDate?new Date(g.startDate).toISOString().split("T")[0]:"",onChange:u=>M({startDate:u.target.value||void 0})}),e.jsx("span",{children:c("accessLog.to","to")}),e.jsx("input",{type:"date",value:g.endDate?new Date(g.endDate).toISOString().split("T")[0]:"",onChange:u=>M({endDate:u.target.value||void 0})})]})]}),e.jsxs("div",{className:"nice-accesslog-filter-group",children:[e.jsx("label",{children:c("accessLog.ipAddress","IP Address")}),e.jsx("input",{type:"text",placeholder:"e.g., 192.168",value:g.ipAddress||"",onChange:u=>M({ipAddress:u.target.value||void 0})})]}),e.jsx("button",{type:"button",className:"nice-accesslog-clear-filters",onClick:f,children:c("accessLog.clearAllFilters","Clear All Filters")})]})]}),e.jsxs("div",{className:"nice-accesslog-tabs",children:[e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${H==="table"?"nice-accesslog-tab--active":""}`,onClick:()=>b("table"),children:[e.jsx(n.NtdTable,{size:16})," ",c("accessLog.table","Table")]}),e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${H==="timeline"?"nice-accesslog-tab--active":""}`,onClick:()=>b("timeline"),children:[e.jsx(n.NtdCalendar,{size:16})," ",j.timeline]}),v&&e.jsxs("button",{type:"button",className:`nice-accesslog-tab ${H==="map"?"nice-accesslog-tab--active":""}`,onClick:()=>b("map"),children:[e.jsx(n.NtdMap,{size:16})," ",j.map]}),e.jsx("span",{className:"nice-accesslog-count",children:c("accessLog.entries","{filteredEntries} entries").replace("{filteredEntries}",String(k.length))})]}),e.jsx("div",{className:"nice-accesslog-content",children:ce?e.jsxs("div",{className:"nice-accesslog-loading",children:[e.jsx("div",{className:"nice-accesslog-spinner"}),c("accessLog.loadingAccessLogs","Loading access logs...")]}):k.length===0?e.jsxs("div",{className:"nice-accesslog-empty",children:[e.jsx("span",{className:"nice-accesslog-empty-icon",children:e.jsx(n.NtdShield,{size:32})}),e.jsx("span",{children:j.noResults})]}):e.jsxs(e.Fragment,{children:[H==="table"&&e.jsx("div",{className:"nice-accesslog-table-wrapper",children:e.jsxs("table",{className:"nice-accesslog-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:j.columns.timestamp}),e.jsx("th",{children:j.columns.user}),e.jsx("th",{children:j.columns.event}),e.jsx("th",{children:j.columns.ip}),e.jsx("th",{children:j.columns.location}),e.jsx("th",{children:j.columns.device}),e.jsx("th",{children:j.columns.risk}),e.jsx("th",{children:j.columns.status})]})}),e.jsx("tbody",{children:A.map(w)})]})}),H==="timeline"&&e.jsx("div",{className:"nice-accesslog-timeline",children:A.map(C)}),H==="map"&&e.jsx("div",{className:"nice-accesslog-map",children:e.jsxs("div",{className:"nice-accesslog-map-placeholder",children:[e.jsx(n.NtdMap,{size:16})," ",c("accessLog.geographicVisualizationWouldRenderHere","Geographic visualization would render here")]})}),F<k.length&&e.jsx("button",{type:"button",className:"nice-accesslog-show-more",onClick:N,children:c("accessLog.remaining","{showMore} ({filteredEntries} remaining)").replace("{showMore}",String(j.showMore)).replace("{filteredEntries}",String(k.length-F))})]})}),I&&m&&e.jsxs("div",{className:"nice-accesslog-detail",children:[e.jsxs("div",{className:"nice-accesslog-detail-header",children:[e.jsx("h3",{children:j.details}),e.jsx("button",{type:"button",className:"nice-accesslog-detail-close",onClick:()=>V(null),children:e.jsx(n.NtdClose,{size:16})})]}),e.jsxs("div",{className:"nice-accesslog-detail-content",children:[e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.eventId","Event ID")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.id})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.timestamp","Timestamp")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:new Date(m.timestamp).toISOString()})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.user","User")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[m.userName," (",m.userId,")",m.userEmail&&e.jsx("div",{children:m.userEmail})]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.eventType","Event Type")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[he[m.eventType]," ",j.eventTypes[m.eventType]]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.ipAddress","IP Address")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.ipAddress})]}),m.location&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.location","Location")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[m.location.city,", ",m.location.region,","," ",m.location.country,m.location.latitude&&m.location.longitude&&e.jsxs("div",{className:"nice-accesslog-coords",children:["(",m.location.latitude,", ",m.location.longitude,")"]})]})]}),m.device&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.device","Device")}),e.jsxs("span",{className:"nice-accesslog-detail-value",children:[je[m.device.type]," ",m.device.os," ",m.device.osVersion,e.jsxs("div",{children:[m.device.browser," ",m.device.browserVersion]}),m.device.fingerprint&&e.jsx("div",{className:"nice-accesslog-fingerprint",children:c("accessLog.fingerprint","Fingerprint: {fingerprint}").replace("{fingerprint}",String(m.device.fingerprint))})]})]}),e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.riskScore","Risk Score")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:e.jsxs("span",{style:{color:ve(m.riskScore)},children:[m.riskScore,"/100 (",j.riskLevels[m.riskLevel],")"]})})]}),m.flags&&m.flags.length>0&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.flags","Flags")}),e.jsx("span",{className:"nice-accesslog-detail-value",children:m.flags.map((u,Y)=>e.jsx("span",{className:"nice-accesslog-flag-badge",children:u},Y))})]}),m.details&&Object.keys(m.details).length>0&&e.jsxs("div",{className:"nice-accesslog-detail-row",children:[e.jsx("span",{className:"nice-accesslog-detail-label",children:c("accessLog.additionalDetails","Additional Details")}),e.jsx("pre",{className:"nice-accesslog-detail-json",children:JSON.stringify(m.details,null,2)})]})]})]})]})}),{displayName:"NiceAccessLog"});exports.NiceAccessLog=ts;exports.NiceAuditTrail=_e;exports.NiceContractEditor=Me;exports.NiceDataExportCenter=De;exports.NiceGDPRConsent=He;exports.NiceGlobalSearch=Ze;