codicent-app-sdk 0.8.7 → 0.8.9

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 (127) hide show
  1. package/README.md +556 -556
  2. package/dist/cjs/_virtual/index5.js +1 -0
  3. package/dist/cjs/_virtual/react-is.development.js +1 -0
  4. package/dist/cjs/_virtual/react-is.production.min.js +1 -0
  5. package/dist/cjs/_virtual/scheduler.production.min.js +1 -0
  6. package/dist/cjs/components/ListView.d.ts +7 -0
  7. package/dist/cjs/components/ListView.d.ts.map +1 -1
  8. package/dist/cjs/components/ListView.js +1 -1
  9. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +1 -0
  10. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +1 -0
  11. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +1 -0
  12. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/createClass.js +1 -0
  13. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js +1 -0
  14. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +1 -0
  15. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +1 -0
  16. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +1 -0
  17. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +1 -0
  18. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +1 -0
  19. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js +1 -0
  20. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +1 -0
  21. package/dist/cjs/node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNodeStyles.styles.js +1 -0
  22. package/dist/cjs/node_modules/@griffel/core/__resetStyles.esm.js +1 -0
  23. package/dist/cjs/node_modules/@griffel/core/__styles.esm.js +1 -0
  24. package/dist/cjs/node_modules/@griffel/core/constants.esm.js +1 -0
  25. package/dist/cjs/node_modules/@griffel/core/devtools/getAtomicDebugSequenceTree.esm.js +1 -0
  26. package/dist/cjs/node_modules/@griffel/core/devtools/getResetDebugSequence.esm.js +1 -0
  27. package/dist/cjs/node_modules/@griffel/core/devtools/getSourceURLfromError.esm.js +1 -0
  28. package/dist/cjs/node_modules/@griffel/core/devtools/injectDevTools.esm.js +1 -0
  29. package/dist/cjs/node_modules/@griffel/core/devtools/isDevToolsEnabled.esm.js +1 -0
  30. package/dist/cjs/node_modules/@griffel/core/devtools/mergeDebugSequence.esm.js +1 -0
  31. package/dist/cjs/node_modules/@griffel/core/devtools/react-render-tracker/stackTrace.esm.js +1 -0
  32. package/dist/cjs/node_modules/@griffel/core/devtools/store.esm.js +1 -0
  33. package/dist/cjs/node_modules/@griffel/core/devtools/utils.esm.js +1 -0
  34. package/dist/cjs/node_modules/@griffel/core/insertionFactory.esm.js +1 -0
  35. package/dist/cjs/node_modules/@griffel/core/mergeClasses.esm.js +1 -0
  36. package/dist/cjs/node_modules/@griffel/core/renderer/createDOMRenderer.esm.js +1 -0
  37. package/dist/cjs/node_modules/@griffel/core/renderer/createIsomorphicStyleSheet.esm.js +1 -0
  38. package/dist/cjs/node_modules/@griffel/core/renderer/getStyleSheetForBucket.esm.js +1 -0
  39. package/dist/cjs/node_modules/@griffel/core/renderer/safeInsertRule.esm.js +1 -0
  40. package/dist/cjs/node_modules/@griffel/core/runtime/reduceToClassNameForSlots.esm.js +1 -0
  41. package/dist/cjs/node_modules/@griffel/core/runtime/utils/hashSequence.esm.js +1 -0
  42. package/dist/cjs/node_modules/@griffel/core/runtime/utils/normalizeCSSBucketEntry.esm.js +1 -0
  43. package/dist/cjs/node_modules/@griffel/react/RendererContext.esm.js +1 -0
  44. package/dist/cjs/node_modules/@griffel/react/TextDirectionContext.esm.js +1 -0
  45. package/dist/cjs/node_modules/@griffel/react/__resetStyles.esm.js +1 -0
  46. package/dist/cjs/node_modules/@griffel/react/__styles.esm.js +1 -0
  47. package/dist/cjs/node_modules/@griffel/react/insertionFactory.esm.js +1 -0
  48. package/dist/cjs/node_modules/@griffel/react/useInsertionEffect.esm.js +1 -0
  49. package/dist/cjs/node_modules/@griffel/react/utils/canUseDOM.esm.js +1 -0
  50. package/dist/cjs/node_modules/i18next/dist/esm/i18next.js +1 -0
  51. package/dist/cjs/node_modules/react-i18next/dist/es/context.js +1 -0
  52. package/dist/cjs/node_modules/react-i18next/dist/es/defaults.js +1 -0
  53. package/dist/cjs/node_modules/react-i18next/dist/es/i18nInstance.js +1 -0
  54. package/dist/cjs/node_modules/react-i18next/dist/es/initReactI18next.js +1 -0
  55. package/dist/cjs/node_modules/react-i18next/dist/es/unescape.js +1 -0
  56. package/dist/cjs/node_modules/react-i18next/dist/es/useTranslation.js +1 -0
  57. package/dist/cjs/node_modules/react-i18next/dist/es/utils.js +1 -0
  58. package/dist/cjs/node_modules/react-is/cjs/react-is.development.js +9 -0
  59. package/dist/cjs/node_modules/react-is/cjs/react-is.production.min.js +9 -0
  60. package/dist/cjs/node_modules/react-is/index.js +1 -0
  61. package/dist/cjs/node_modules/scheduler/cjs/scheduler.production.min.js +10 -0
  62. package/dist/cjs/pages/ListPage.d.ts.map +1 -1
  63. package/dist/cjs/pages/ListPage.js +1 -1
  64. package/dist/esm/_virtual/index5.js +1 -0
  65. package/dist/esm/_virtual/react-is.development.js +1 -0
  66. package/dist/esm/_virtual/react-is.production.min.js +1 -0
  67. package/dist/esm/_virtual/scheduler.production.min.js +1 -0
  68. package/dist/esm/components/ListView.d.ts +7 -0
  69. package/dist/esm/components/ListView.d.ts.map +1 -1
  70. package/dist/esm/components/ListView.js +1 -1
  71. package/dist/esm/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +1 -0
  72. package/dist/esm/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +1 -0
  73. package/dist/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +1 -0
  74. package/dist/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +1 -0
  75. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +1 -0
  76. package/dist/esm/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +1 -0
  77. package/dist/esm/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +1 -0
  78. package/dist/esm/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +1 -0
  79. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +1 -0
  80. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +1 -0
  81. package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +1 -0
  82. package/dist/esm/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +1 -0
  83. package/dist/esm/node_modules/@fluentui/react-portal/lib/components/Portal/usePortalMountNodeStyles.styles.js +1 -0
  84. package/dist/esm/node_modules/@griffel/core/__resetStyles.esm.js +1 -0
  85. package/dist/esm/node_modules/@griffel/core/__styles.esm.js +1 -0
  86. package/dist/esm/node_modules/@griffel/core/constants.esm.js +1 -0
  87. package/dist/esm/node_modules/@griffel/core/devtools/getAtomicDebugSequenceTree.esm.js +1 -0
  88. package/dist/esm/node_modules/@griffel/core/devtools/getResetDebugSequence.esm.js +1 -0
  89. package/dist/esm/node_modules/@griffel/core/devtools/getSourceURLfromError.esm.js +1 -0
  90. package/dist/esm/node_modules/@griffel/core/devtools/injectDevTools.esm.js +1 -0
  91. package/dist/esm/node_modules/@griffel/core/devtools/isDevToolsEnabled.esm.js +1 -0
  92. package/dist/esm/node_modules/@griffel/core/devtools/mergeDebugSequence.esm.js +1 -0
  93. package/dist/esm/node_modules/@griffel/core/devtools/react-render-tracker/stackTrace.esm.js +1 -0
  94. package/dist/esm/node_modules/@griffel/core/devtools/store.esm.js +1 -0
  95. package/dist/esm/node_modules/@griffel/core/devtools/utils.esm.js +1 -0
  96. package/dist/esm/node_modules/@griffel/core/insertionFactory.esm.js +1 -0
  97. package/dist/esm/node_modules/@griffel/core/mergeClasses.esm.js +1 -0
  98. package/dist/esm/node_modules/@griffel/core/renderer/createDOMRenderer.esm.js +1 -0
  99. package/dist/esm/node_modules/@griffel/core/renderer/createIsomorphicStyleSheet.esm.js +1 -0
  100. package/dist/esm/node_modules/@griffel/core/renderer/getStyleSheetForBucket.esm.js +1 -0
  101. package/dist/esm/node_modules/@griffel/core/renderer/safeInsertRule.esm.js +1 -0
  102. package/dist/esm/node_modules/@griffel/core/runtime/reduceToClassNameForSlots.esm.js +1 -0
  103. package/dist/esm/node_modules/@griffel/core/runtime/utils/hashSequence.esm.js +1 -0
  104. package/dist/esm/node_modules/@griffel/core/runtime/utils/normalizeCSSBucketEntry.esm.js +1 -0
  105. package/dist/esm/node_modules/@griffel/react/RendererContext.esm.js +1 -0
  106. package/dist/esm/node_modules/@griffel/react/TextDirectionContext.esm.js +1 -0
  107. package/dist/esm/node_modules/@griffel/react/__resetStyles.esm.js +1 -0
  108. package/dist/esm/node_modules/@griffel/react/__styles.esm.js +1 -0
  109. package/dist/esm/node_modules/@griffel/react/insertionFactory.esm.js +1 -0
  110. package/dist/esm/node_modules/@griffel/react/useInsertionEffect.esm.js +1 -0
  111. package/dist/esm/node_modules/@griffel/react/utils/canUseDOM.esm.js +1 -0
  112. package/dist/esm/node_modules/i18next/dist/esm/i18next.js +1 -0
  113. package/dist/esm/node_modules/react-i18next/dist/es/context.js +1 -0
  114. package/dist/esm/node_modules/react-i18next/dist/es/defaults.js +1 -0
  115. package/dist/esm/node_modules/react-i18next/dist/es/i18nInstance.js +1 -0
  116. package/dist/esm/node_modules/react-i18next/dist/es/initReactI18next.js +1 -0
  117. package/dist/esm/node_modules/react-i18next/dist/es/unescape.js +1 -0
  118. package/dist/esm/node_modules/react-i18next/dist/es/useTranslation.js +1 -0
  119. package/dist/esm/node_modules/react-i18next/dist/es/utils.js +1 -0
  120. package/dist/esm/node_modules/react-is/cjs/react-is.development.js +9 -0
  121. package/dist/esm/node_modules/react-is/cjs/react-is.production.min.js +9 -0
  122. package/dist/esm/node_modules/react-is/index.js +1 -0
  123. package/dist/esm/node_modules/scheduler/cjs/scheduler.production.min.js +10 -0
  124. package/dist/esm/pages/ListPage.d.ts.map +1 -1
  125. package/dist/esm/pages/ListPage.js +1 -1
  126. package/dist/index.d.ts +27 -20
  127. package/package.json +111 -111
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../components/Markdown.js"),require("../components/Textarea.js"),require("../components/Button.js"),require("../components/CompoundButton.js");var r=require("@fluentui/react-components");require("../components/Spinner.js");var a=require("../components/TextHeader.js");require("../components/TypingIndicator.js"),require("../components/Dialog.js"),require("../components/ChatInput.js"),require("../components/CombinedPlaceholderDialog.js"),require("../components/ChatMessage.js"),require("../components/Header.js");var n=require("@fluentui/react-icons");require("../services/codicent.js");var s=require("../services/dataCache.js"),i=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var o=require("../utils/excelExport.js"),c=require("../utils/reference.js");require("./AppFrame.js"),require("./Canvas.js"),require("./Chat.js"),require("./Compose.js"),require("./Snap.js"),require("./Search.js"),require("./Menu.js"),require("./Log.js"),require("./Login.js"),require("./Home.js"),require("./CrmPage.js"),require("./CrmPagePersistent.js"),require("./ImageView.js"),require("./FormInvite.js"),require("./FormAccept.js"),require("./Sales.js");var l=require("react-router-dom");require("./Purchase.js"),require("../components/Content.js");var u=require("../components/Page.js");require("./QrScan.js");var d=require("../hooks/useLocalization.js");require("../components/FileThumbnail.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var p=require("../hooks/useToaster.js"),f=require("../hooks/useUserRoles.js");require("../components/MessageInput.js"),require("../components/UploadFile.js"),require("../components/SnapFooter.js"),require("../components/Profile.js"),require("../components/MessageItem.js"),require("../components/AiInput.js");var g=require("../components/SearchBox.js"),m=require("../components/DataMessagePicker.js");require("../components/HtmlView.js"),require("../components/Footer.js"),require("../components/QrCodeDialog.js"),require("../components/QrScanner.js"),require("../components/OfflineMessage.js"),require("../components/LanguageSelector.js");var h=require("../components/ListView.js"),y=require("../components/RecordModal.js");require("../components/BulkUploadDialog.js"),require("../components/CookieBanner.js"),require("../components/audit/AuditCircularProgress.js"),require("../components/audit/AuditHorizontalProgress.js"),require("../components/audit/AuditRoleIndicator.js"),require("../components/audit/AuditUnitSwitcher.js"),require("../components/audit/AuditAnswerCell.js"),require("../components/audit/AuditSearchBar.js"),require("../components/audit/AuditFilterChips.js"),require("../components/audit/AuditFilterBar.js"),require("../components/audit/AuditGroupsProgress.js"),require("../components/audit/AuditSummaryDashboard.js"),require("../components/audit/AuditRequirementDialog.js"),require("../components/audit/AuditUnitExportDialog.js"),require("../components/audit/AuditUnitImportDialog.js"),require("../components/audit/AuditBulkExportDialog.js"),require("../components/audit/AuditBulkUploadDialog.js"),require("../components/audit/AuditSortPresets.js");var j=require("../node_modules/lodash/lodash.js");const x=r.makeStyles({container:{width:"100%",flex:1,maxWidth:"100%",height:"100%",minHeight:0,backgroundColor:"#ffffff",display:"flex",flexDirection:"column",margin:"0 auto",overflow:"hidden","@media (max-width: 768px)":{maxWidth:"100%",borderRadius:"0"},touchAction:"pan-y",paddingLeft:"16px",paddingRight:"16px"},listContainer:{position:"relative",overflow:"hidden",flex:1,minHeight:0,marginTop:"10px"},loadingIndicator:{padding:"8px 0",color:"#666"},headerRow:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",flexWrap:"wrap"},buttonGroup:{display:"flex",gap:"8px",flexWrap:"wrap"},addButton:{minWidth:"auto",whiteSpace:"nowrap"},recordsCount:{fontSize:"14px",color:"#666",marginTop:"8px"},backButton:{marginBottom:"10px"},searchBox:{marginTop:"8px"},loadMoreContainer:{display:"flex",justifyContent:"center",padding:"16px 0",borderTop:"1px solid #e0e0e0",marginTop:"4px"}}),S=500,C=({state:C,getColumnDefs:q,getListConfig:k,filterData:w,getBulkActions:A})=>{const[v,b]=l.useSearchParams(),D=v.get("tag")||"logbook",M=v.get("title")||"",R=v.get("contentTitle"),B="true"===v.get("loadAll"),I="true"===v.get("canAdd"),_="true"===v.get("canEdit"),$="true"===v.get("canAttach"),E="false"!==v.get("canExport"),T=v.has("compact"),P=v.get("addUrl")||"",F="true"===v.get("openAdd"),K=v.get("personFilter")||"",L=v.get("q")||"",N=R?`${D}-${L}-${R}`:`${D}-${L||"all"}`,U=s.dataCache.get(N),[z,W]=t.useState(L),[O,H]=t.useState(L),{service:V}=C,[G,J]=t.useState((()=>U??[])),[Q,X]=t.useState((()=>!U)),[Y,Z]=t.useState((()=>!!U&&!B&&!R&&U.length>=S)),[ee,te]=t.useState(!1),re=t.useRef(null),ae=t.useRef(L),ne=t.useRef(""),se=t.useRef(0),ie=t.useRef(V);ie.current=V;const oe=!!V,[ce,le]=t.useState(0),[ue,de]=t.useState(null),[pe,fe]=t.useState(!1),ge=x(),{t:me}=d.default(),he=l.useNavigate(),{notify:ye,ToasterComponent:je}=p.default(),[xe,Se]=t.useState(new Set),Ce=t.useCallback(((e,t)=>{Se((r=>{const a=new Set(r);return t?a.add(e):a.delete(e),a}))}),[]),qe=e=>e instanceof Error?e.message:String(e),{getCurrentUserName:ke,userRoles:we}=f.useUserRoles(V,C.context.nickname,C.context.selectedApp),Ae=t.useMemo((()=>K?Array.from(new Set(we.map((e=>e.name)).filter((e=>!!e)))):[]),[K,we]),ve=v.get(`filter_${K}`)||"",be=t.useCallback((e=>{const t=new URLSearchParams(v);e?t.set(`filter_${K}`,e):t.delete(`filter_${K}`),b(t,{replace:!0})}),[v,b,K]),De=t.useMemo((()=>(R?[{key:R,title:R,maxWidth:250}]:k?k(D)?.columns??[]:q?q(D):[]).map((e=>({...e,title:e.title?me(e.title):void 0})))),[R,D,me,q,k]),[Me,Re]=t.useState(!1),[Be,Ie]=t.useState(null),[_e,$e]=t.useState(!1),[Ee,Te]=t.useState(null),Pe=t.useMemo((()=>A?.(D)??[]),[A,D]),Fe=Pe.length>0,[Ke,Le]=t.useState(new Set),[Ne,Ue]=t.useState(null),[ze,We]=t.useState(null),[Oe,He]=t.useState(null),[Ve,Ge]=t.useState(!1);t.useEffect((()=>{Le(new Set)}),[D]);const Je=t.useCallback((e=>{Le((t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r}))}),[]),Qe=t.useCallback((e=>{Le((t=>{const r=e.map((e=>String(e.originalMessageId??e._id??e.id??""))),a=r.length>0&&r.every((e=>t.has(e))),n=new Set(t);return a?r.forEach((e=>n.delete(e))):r.forEach((e=>n.add(e))),n}))}),[]),Xe=t.useMemo((()=>`listpage_searches_${D}`),[D]),Ye=e=>{try{const t=localStorage.getItem(e);return t?JSON.parse(t):[]}catch{return[]}},[Ze,et]=t.useState((()=>Ye(Xe)));t.useEffect((()=>{et(Ye(Xe))}),[Xe]);const tt=t.useRef(!1),rt=t.useRef(!1);t.useEffect((()=>{F&&I&&!tt.current&&(tt.current=!0,rt.current=!0,Ie(null),Re(!0))}),[F,I]);const at=t.useCallback((e=>{const t=e.trim();t&&et((e=>{const r=[t,...e.filter((e=>e!==t))].slice(0,20);try{localStorage.setItem(Xe,JSON.stringify(r))}catch{}return r}))}),[Xe]),nt=t.useCallback((e=>{et((t=>{const r=t.filter((t=>t!==e));try{localStorage.setItem(Xe,JSON.stringify(r))}catch{}return r}))}),[Xe]),st=t.useMemo((()=>j.lodashExports.debounce((e=>H(e)),500)),[H]);t.useEffect((()=>()=>{st.cancel()}),[st]);const it=t.useCallback((e=>{W(e),st(e)}),[st]),ot=t.useCallback((e=>{at(e)}),[at]);t.useEffect((()=>{if(!v.get("q")){const e=v.get(`filter_${D}`);if(e){let t=e;if("%USERNAME%"===t){const e=ke();if(!e)return;t=e}W(t),H(t),ae.current=t}}}),[D,v,ke]),t.useEffect((()=>{const e=v.get("q")||"";e!==ae.current&&e!==O&&(W(e),H(e),ae.current=e,ne.current="")}),[v]),t.useEffect((()=>(re.current&&clearTimeout(re.current),re.current=setTimeout((()=>{if(ae.current!==z){const e=new URLSearchParams(v);z?e.set("q",z):e.delete("q"),b(e,{replace:!0}),ae.current=z}}),500),()=>{re.current&&clearTimeout(re.current)})),[z,v,b]),t.useEffect((()=>{if(!ie.current)return;const e=`${D}-${R}-${B}-${ce}-${O}`;if(e===ne.current)return;ne.current=e;const t=++se.current,r=()=>t===se.current,a=R?`${D}-${O}-${R}`:`${D}-${O||"all"}`,n=s.dataCache.get(a);if(!n){if(Z(!1),X(!0),R)ie.current.getMessagesFast([D],O).then((e=>{if(!r())return;const t=e.map((e=>{const t=new Date(e.createdAt).toLocaleString();return{id:e.id,data:{[R]:new i.default(e.content).content,createdAt:t},fileId:null,fileIds:[],tags:[D],mentions:[ie.current.codicent],createdAt:t}}));s.dataCache.set(a,t),J(t)})).catch(console.warn).finally((()=>{r()&&X(!1)}));else{const e=O||"",t=B||e?void 0:S;ie.current.readDataMessages(D,e,void 0,0,t).then((t=>{r()&&(s.dataCache.set(a,t),J(t),Z(!B&&!e&&t.length===S))})).catch(console.warn).finally((()=>{r()&&X(!1)}))}return()=>{ne.current=""}}if(J(n),X(!1),Z(!B&&!R&&n.length>=S),!R&&!O&&n.length>0){const e=n.reduce(((e,t)=>t.createdAt>e?t.createdAt:e),n[0].createdAt);ie.current.readDataMessages(D,"",void 0,void 0,void 0,e).then((e=>{r()&&J((t=>{const r=new Set(t.map((e=>e.id))),n=e.filter((e=>!r.has(e.id)));if(0===n.length)return t;const i=[...n,...t];return s.dataCache.set(a,i),i}))})).catch(console.warn)}}),[D,R,B,O,ce,oe]);const ct=t.useMemo((()=>{const e={};v.forEach(((t,r)=>{r.startsWith("filter_")&&(e[r.replace("filter_","")]=t)}));let t=G.map(((e,t)=>({item:e,index:t})));for(const[r,a]of Object.entries(e)){if("__empty__"===a){t=t.filter((({item:e})=>{const t=e.data[r];return null==t||""===String(t).trim()}));continue}const e=a.replace("%USERNAME%",ke()),n=C.context.nickname||"";(e||n)&&(t=t.filter((({item:t})=>{const a=t.data[r];if(null==a)return!1;const s=String(a);return e&&s.includes(e)||n&&s.includes(n)})))}if(w){const e=w(t.map((({item:e})=>e)),D),r=new Map(t.map((({item:e,index:t})=>[e.id,t])));t=e.map((e=>{const t=r.get(e.id);return void 0===t?void 0:{item:e,index:t}})).filter((e=>void 0!==e))}const r=t.map((({item:e,index:t})=>({...e.data,createdAt:e.createdAt,_id:e.id,originalMessageId:e.originalMessageId||e.id,_fileIds:e.fileIds??[],_index:t}))),a=k?.(D)?.deduplicateBy;if(a){const e=Array.isArray(a)?a:[a],t=t=>{for(const r of e){const e=t[r];if(null!=e&&""!==String(e).trim())return String(e)}},n=new Set;return r.filter((e=>{const r=t(e);return void 0===r||!n.has(r)&&(n.add(r),!0)}))}return r}),[G,v,C.context.nickname,ke,w,D,k]),lt=t.useMemo((()=>{const e=(z||"").trim().toLowerCase();if(!e)return ct;const t=De.filter((e=>!e.hidden)).map((e=>e.key));if(e.includes("*")){const r=new RegExp(e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*"),"i");return ct.filter((e=>{for(const a of t)if(Array.isArray(a))for(const t of a){const a=e[t];if(null!=a&&r.test(String(a)))return!0}else{const t=e[a];if(null!=t&&r.test(String(t)))return!0}return!1}))}return ct.filter((r=>{for(const a of t)if(Array.isArray(a))for(const t of a){const a=r[t];if(null!=a&&String(a).toLowerCase().includes(e))return!0}else{const t=r[a];if(null!=t&&String(t).toLowerCase().includes(e))return!0}return!1}))}),[ct,z,De]),ut=t.useCallback((()=>{s.dataCache.clearPattern(D),ne.current="",le((e=>e+1))}),[D]),dt=t.useCallback((async()=>{te(!0);try{const e=await ie.current.readDataMessages(D,"",void 0,G.length,S),t=[...G,...e];J(t),s.dataCache.set(`${D}-all`,t),Z(e.length===S)}catch(e){console.warn(e)}finally{te(!1)}}),[G,D]),pt=t.useCallback((e=>{de(e)}),[]),ft=t.useCallback((e=>{fe(e)}),[]);t.useEffect((()=>{if(!pe||!Y||ee||Q)return;const e=se.current;te(!0),ie.current.readDataMessages(D,"",void 0,G.length,void 0).then((t=>{e===se.current&&(J((e=>{const r=new Set(e.map((e=>e.id))),a=[...e,...t.filter((e=>!r.has(e.id)))];return s.dataCache.set(`${D}-all`,a),a})),Z(!1))})).catch(console.warn).finally((()=>te(!1)))}),[pe,Y,ee,Q,D,G.length]);const gt=()=>{$e(!1),Te(null)},mt=t.useCallback((async()=>{const e=`${D}_${(new Date).toISOString().split("T")[0]}`.replace(/[/\\:*?"<>|]/g,"_");const t=null!==ue?ue:lt;await o.exportToExcel(t,De,e,me)||console.warn("No data to export")}),[ue,lt,De,D,me]),ht=t.useMemo((()=>null!==ue?ue.length:lt.length),[ue,lt]),yt=t.useMemo((()=>{if(Ne)return De.find((e=>(Array.isArray(e.key)?e.key[0]:e.key)===Ne.referenceColumnKey))}),[Ne,De]),jt=t.useMemo((()=>{if(yt?.referenceCascadeFromKey)return De.find((e=>(Array.isArray(e.key)?e.key[0]:e.key)===yt.referenceCascadeFromKey))}),[yt,De]),xt=t.useCallback((()=>{Ue(null),We(null),He(null)}),[]),St=t.useCallback((async e=>{if(void 0!==e.setFieldKey&&V){Ge(!0);try{const t=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));for(const r of t)await V.updateDataMessage(r.id,{...r.data,[e.setFieldKey]:e.setFieldValue??""});s.dataCache.clearPattern(D),Le(new Set),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(t.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[G,Ke,V,D,ut,ye,me]),Ct=t.useCallback((async e=>{if(e.handler&&V){Ge(!0);try{const t=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));await e.handler(t,V),s.dataCache.clearPattern(D),Le(new Set),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(t.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[G,Ke,V,D,ut,ye,me]),qt=t.useCallback((async()=>{if(Ne&&yt&&ze&&(!jt||Oe)){Ge(!0);try{const e=Array.isArray(yt.key)?yt.key[0]:yt.key,t=yt.referenceLabelKey??`${e}_label`,r=c.formatReference(ze.tag,ze.originalMessageId||ze.id);let a,n,i,o;jt&&Oe&&(a=Array.isArray(jt.key)?jt.key[0]:jt.key,n=jt.referenceLabelKey??`${a}_label`,i=c.formatReference(Oe.tag,Oe.originalMessageId||Oe.id),o=Oe.label);const l=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));for(const s of l){const c={...s.data,[e]:r,[t]:ze.label};a&&i&&(c[a]=i,n&&o&&(c[n]=o)),await V.updateDataMessage(s.id,c)}s.dataCache.clearPattern(D),Le(new Set),xt(),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(l.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[Ne,yt,jt,ze,Oe,G,Ke,V,D,xt,ut,ye,me]);return e.jsxs(u.Page,{hideHeader:!0,children:[e.jsx(je,{}),e.jsxs("div",{className:ge.container,children:[e.jsx("div",{className:ge.backButton,children:e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowLeft24Regular,{}),onClick:()=>he(-1),children:me("Tillbaka")})}),e.jsxs("div",{className:ge.headerRow,children:[e.jsx(a.default,{title:me(M||"Loggbok")}),e.jsxs("div",{className:ge.buttonGroup,children:[e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowClockwise24Regular,{}),onClick:ut,title:me("Refresh"),children:me("Refresh")}),E&&e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowDownload24Regular,{}),onClick:mt,title:me("Export to Excel"),children:me("Export to Excel")}),(I||P)&&e.jsx(r.Button,{appearance:"primary",icon:e.jsx(n.Add24Regular,{}),onClick:I?()=>{Ie(null),Re(!0)}:()=>window.open(P,"_blank"),className:ge.addButton,children:me("Add Record")})]})]}),e.jsx("div",{className:ge.searchBox,children:e.jsx(g.default,{placeholder:me("Sök")+"...",value:z,onChange:it,recentSearches:Ze,onCommitSearch:ot,onRemoveRecentSearch:nt})}),Ae.length>0&&e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px",marginBottom:"8px"},children:[e.jsx(r.Button,{appearance:ve?"outline":"primary",size:"small",onClick:()=>be(null),children:me("All")}),Ae.map((t=>e.jsx(r.Button,{appearance:ve===t?"primary":"outline",size:"small",onClick:()=>be(t),children:t},t)))]}),!Q&&e.jsxs("div",{className:ge.recordsCount,children:[me("Total"),": ",ht," ",me("records"),ht!==G.length&&` (${me("filtered from")} ${G.length})`]}),e.jsxs("div",{className:ge.listContainer,children:[Fe&&Ke.size>0&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px",marginBottom:"8px",background:"#f0f6ff",border:"1px solid #cfe0ff",borderRadius:"4px",flexWrap:"wrap"},children:[e.jsxs("span",{style:{fontWeight:600},children:[Ke.size," ",me("valda")]}),Pe.map((t=>e.jsx(r.Button,{appearance:"primary",size:"small",disabled:Ve,onClick:()=>{void 0!==t.setFieldKey?St(t):t.handler?Ct(t):(Ue(t),We(null),He(null))},children:me(t.label)},t.label))),e.jsx(r.Button,{appearance:"subtle",size:"small",onClick:()=>Le(new Set),children:me("Rensa")})]}),Q&&G.length>0&&e.jsx("div",{className:ge.loadingIndicator,children:me("Söker")+"..."}),Q&&0===G.length?e.jsx("p",{children:me("Söker")+"..."}):e.jsx(h.default,{data:lt,columns:De,canEdit:_,onEdit:(e,t)=>{const r=G[t];r&&(Ie({data:{...r.data,_fileIds:r.fileIds??[]},index:t}),Re(!0))},onDelete:(e,t)=>{const r=G[t];r&&(Te({index:t,id:r.id}),$e(!0))},onToggleCheckbox:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:String(r)};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onEnumChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:r};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onValueChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:r};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onReferenceChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i=De.find((t=>(Array.isArray(t.key)?t.key[0]:t.key)===e)),o=i?.referenceLabelKey??`${e}_label`,l=c.formatReference(r.tag,r.originalMessageId||r.id),u={...n.data,[e]:l,[o]:r.label};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,u);J((t=>{const r=[...t];return r[a]={...n,id:e,data:u},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},savingRows:xe,service:V,onFilteredDataChange:pt,onActiveFiltersChange:ft,compact:T,selectable:Fe,selectedRowKeys:Ke,onToggleRow:Je,onToggleAll:Qe},D)]}),Y&&!z.trim()&&e.jsx("div",{className:ge.loadMoreContainer,children:e.jsx(r.Button,{appearance:"primary",size:"medium",onClick:dt,disabled:ee,children:ee?me("Laddar..."):me("Visa fler")+` (${G.length} ${me("laddade")})`})}),e.jsx(y.RecordModal,{open:Me,onClose:()=>{Re(!1),rt.current&&(rt.current=!1,he(-1))},onSave:async(e,t)=>{const r=new Set(De.filter((e=>"thumbnail"===e.type)).map((e=>Array.isArray(e.key)?e.key[0]:e.key)));try{if(Be){const t=G[Be.index];if(t){const a={};for(const t in e){if(r.has(t))continue;const n=e[t];a[t]=null==n?"":String(n)}const n=await V.updateDataMessage(t.id,a);J((e=>{const r=[...e];return r[Be.index]={...t,id:n,data:a},r})),s.dataCache.clearPattern(D)}}else{const a={};for(const t in e){if(r.has(t))continue;const n=e[t];a[t]=null==n?"":String(n)}const n={id:await V.createDataMessage(D,a,void 0,t),data:a,createdAt:(new Date).toISOString(),fileId:null,fileIds:t??[],tags:[D],mentions:[V.codicent]};J((e=>[n,...e])),s.dataCache.clearPattern(D)}ye(me("Sparat"),"","","success")}catch(e){throw ye(me("Kunde inte spara"),qe(e),"","error"),e}},columns:De,initialData:Be?.data,codicentService:V,allowAttachments:$}),e.jsx(r.Dialog,{open:_e,onOpenChange:(e,t)=>!t.open&&gt(),children:e.jsx(r.DialogSurface,{children:e.jsxs(r.DialogBody,{children:[e.jsx(r.DialogTitle,{children:me("Confirm Delete")}),e.jsx(r.DialogContent,{children:me("Are you sure you want to delete this record? This action cannot be undone.")}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:gt,children:me("Cancel")}),e.jsx(r.Button,{appearance:"primary",onClick:async()=>{if(Ee)try{await V.deleteDataMessage(Ee.id),J((e=>e.filter(((e,t)=>t!==Ee.index)))),s.dataCache.clearPattern(D),ye(me("Borttaget"),"","","success")}catch(e){ye(me("Kunde inte ta bort"),qe(e),"","error")}finally{$e(!1),Te(null)}},children:me("Delete")})]})]})})}),e.jsx(r.Dialog,{open:!!Ne,onOpenChange:(e,t)=>!t.open&&xt(),children:e.jsx(r.DialogSurface,{children:e.jsxs(r.DialogBody,{children:[e.jsx(r.DialogTitle,{children:Ne?me(Ne.label):""}),e.jsx(r.DialogContent,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"8px 0"},children:[e.jsxs("div",{style:{color:"#444"},children:[Ke.size," ",me("rader kommer att uppdateras")]}),jt&&V&&jt.referenceTag&&e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:600,marginBottom:"4px"},children:jt.title?me(jt.title):jt.referenceTag}),e.jsx(m.default,{service:V,tag:jt.referenceTag,displayKeys:jt.referenceDisplayKeys,searchKeys:jt.referenceSearchKeys??jt.referenceDisplayKeys,dataFilters:jt.referenceFilters,value:Oe?.label||"",onSelect:e=>{He(e),We(null)}})]}),yt&&V&&yt.referenceTag&&e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:600,marginBottom:"4px"},children:yt.title?me(yt.title):yt.referenceTag}),e.jsx(m.default,{service:V,tag:yt.referenceTag,displayKeys:yt.referenceDisplayKeys,searchKeys:yt.referenceSearchKeys??yt.referenceDisplayKeys,dataFilters:(()=>{const e={...yt.referenceFilters??{}};return yt.referenceCascadeFilterField&&Oe&&(e[yt.referenceCascadeFilterField]=c.formatReference(Oe.tag,Oe.originalMessageId||Oe.id)),e})(),disabled:!!jt&&!Oe,value:ze?.label||"",onSelect:e=>We(e)})]})]})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:xt,disabled:Ve,children:me("Cancel")}),e.jsx(r.Button,{appearance:"primary",onClick:qt,disabled:Ve||!ze||!!jt&&!Oe||0===Ke.size,children:me(Ve?"Sparar...":"Tilldela")})]})]})})})]})]})};exports.ListPage=C,exports.default=C;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../components/Markdown.js"),require("../components/Textarea.js"),require("../components/Button.js"),require("../components/CompoundButton.js");var r=require("@fluentui/react-components");require("../components/Spinner.js");var a=require("../components/TextHeader.js");require("../components/TypingIndicator.js"),require("../components/Dialog.js"),require("../components/ChatInput.js"),require("../components/CombinedPlaceholderDialog.js"),require("../components/ChatMessage.js"),require("../components/Header.js");var n=require("@fluentui/react-icons");require("../services/codicent.js");var s=require("../services/dataCache.js"),i=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var o=require("../utils/excelExport.js"),l=require("../utils/reference.js");require("./AppFrame.js"),require("./Canvas.js"),require("./Chat.js"),require("./Compose.js"),require("./Snap.js"),require("./Search.js"),require("./Menu.js"),require("./Log.js"),require("./Login.js"),require("./Home.js"),require("./CrmPage.js"),require("./CrmPagePersistent.js"),require("./ImageView.js"),require("./FormInvite.js"),require("./FormAccept.js"),require("./Sales.js");var c=require("react-router-dom");require("./Purchase.js"),require("../components/Content.js");var u=require("../components/Page.js");require("./QrScan.js");var d=require("../hooks/useLocalization.js");require("../components/FileThumbnail.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var p=require("../hooks/useToaster.js"),f=require("../hooks/useUserRoles.js");require("../components/MessageInput.js"),require("../components/UploadFile.js"),require("../components/SnapFooter.js"),require("../components/Profile.js"),require("../components/MessageItem.js"),require("../components/AiInput.js");var g=require("../components/SearchBox.js"),m=require("../components/DataMessagePicker.js");require("../components/HtmlView.js"),require("../components/Footer.js"),require("../components/QrCodeDialog.js"),require("../components/QrScanner.js"),require("../components/OfflineMessage.js"),require("../components/LanguageSelector.js");var h=require("../components/ListView.js"),y=require("../components/RecordModal.js");require("../components/BulkUploadDialog.js"),require("../components/CookieBanner.js"),require("../components/audit/AuditCircularProgress.js"),require("../components/audit/AuditHorizontalProgress.js"),require("../components/audit/AuditRoleIndicator.js"),require("../components/audit/AuditUnitSwitcher.js"),require("../components/audit/AuditAnswerCell.js"),require("../components/audit/AuditSearchBar.js"),require("../components/audit/AuditFilterChips.js"),require("../components/audit/AuditFilterBar.js"),require("../components/audit/AuditGroupsProgress.js"),require("../components/audit/AuditSummaryDashboard.js"),require("../components/audit/AuditRequirementDialog.js"),require("../components/audit/AuditUnitExportDialog.js"),require("../components/audit/AuditUnitImportDialog.js"),require("../components/audit/AuditBulkExportDialog.js"),require("../components/audit/AuditBulkUploadDialog.js"),require("../components/audit/AuditSortPresets.js");var j=require("../node_modules/lodash/lodash.js");const x=r.makeStyles({container:{width:"100%",flex:1,maxWidth:"100%",height:"100%",minHeight:0,backgroundColor:"#ffffff",display:"flex",flexDirection:"column",margin:"0 auto",overflow:"hidden","@media (max-width: 768px)":{maxWidth:"100%",borderRadius:"0"},touchAction:"manipulation",paddingLeft:"16px",paddingRight:"16px"},listContainer:{position:"relative",overflow:"hidden",flex:1,minHeight:0,marginTop:"10px",display:"flex",flexDirection:"column"},loadingIndicator:{padding:"8px 0",color:"#666"},headerRow:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",flexWrap:"wrap"},buttonGroup:{display:"flex",gap:"8px",flexWrap:"wrap"},addButton:{minWidth:"auto",whiteSpace:"nowrap"},recordsCount:{fontSize:"14px",color:"#666",marginTop:"8px"},backButton:{marginBottom:"10px"},searchBox:{marginTop:"8px"},loadMoreContainer:{display:"flex",justifyContent:"center",padding:"16px 0",borderTop:"1px solid #e0e0e0",marginTop:"4px"}}),S=500,C=({state:C,getColumnDefs:q,getListConfig:k,filterData:w,getBulkActions:A})=>{const[v,b]=c.useSearchParams(),D=v.get("tag")||"logbook",M=v.get("title")||"",R=v.get("contentTitle"),B="true"===v.get("loadAll"),I="true"===v.get("canAdd"),_="true"===v.get("canEdit"),$="true"===v.get("canAttach"),E="false"!==v.get("canExport"),T=v.has("compact"),P=v.get("addUrl")||"",F="true"===v.get("openAdd"),K=v.get("personFilter")||"",L=v.get("q")||"",N=R?`${D}-${L}-${R}`:`${D}-${L||"all"}`,U=s.dataCache.get(N),[z,W]=t.useState(L),[O,H]=t.useState(L),{service:V}=C,[G,J]=t.useState((()=>U??[])),[Q,X]=t.useState((()=>!U)),[Y,Z]=t.useState((()=>!!U&&!B&&!R&&U.length>=S)),[ee,te]=t.useState(!1),re=t.useRef(null),ae=t.useRef(L),ne=t.useRef(""),se=t.useRef(0),ie=t.useRef(V);ie.current=V;const oe=!!V,[le,ce]=t.useState(0),[ue,de]=t.useState(null),[pe,fe]=t.useState(!1),ge=x(),{t:me}=d.default(),he=c.useNavigate(),{notify:ye,ToasterComponent:je}=p.default(),[xe,Se]=t.useState(new Set),Ce=t.useCallback(((e,t)=>{Se((r=>{const a=new Set(r);return t?a.add(e):a.delete(e),a}))}),[]),qe=e=>e instanceof Error?e.message:String(e),{getCurrentUserName:ke,userRoles:we}=f.useUserRoles(V,C.context.nickname,C.context.selectedApp),Ae=t.useMemo((()=>K?Array.from(new Set(we.map((e=>e.name)).filter((e=>!!e)))):[]),[K,we]),ve=v.get(`filter_${K}`)||"",be=t.useCallback((e=>{const t=new URLSearchParams(v);e?t.set(`filter_${K}`,e):t.delete(`filter_${K}`),b(t,{replace:!0})}),[v,b,K]),De=t.useMemo((()=>(R?[{key:R,title:R,maxWidth:250}]:k?k(D)?.columns??[]:q?q(D):[]).map((e=>({...e,title:e.title?me(e.title):void 0})))),[R,D,me,q,k]),[Me,Re]=t.useState(!1),[Be,Ie]=t.useState(null),[_e,$e]=t.useState(!1),[Ee,Te]=t.useState(null),Pe=t.useMemo((()=>A?.(D)??[]),[A,D]),Fe=Pe.length>0,[Ke,Le]=t.useState(new Set),[Ne,Ue]=t.useState(null),[ze,We]=t.useState(null),[Oe,He]=t.useState(null),[Ve,Ge]=t.useState(!1);t.useEffect((()=>{Le(new Set)}),[D]);const Je=t.useCallback((e=>{Le((t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r}))}),[]),Qe=t.useCallback((e=>{Le((t=>{const r=e.map((e=>String(e.originalMessageId??e._id??e.id??""))),a=r.length>0&&r.every((e=>t.has(e))),n=new Set(t);return a?r.forEach((e=>n.delete(e))):r.forEach((e=>n.add(e))),n}))}),[]),Xe=t.useMemo((()=>`listpage_searches_${D}`),[D]),Ye=e=>{try{const t=localStorage.getItem(e);return t?JSON.parse(t):[]}catch{return[]}},[Ze,et]=t.useState((()=>Ye(Xe)));t.useEffect((()=>{et(Ye(Xe))}),[Xe]);const tt=t.useRef(!1),rt=t.useRef(!1);t.useEffect((()=>{F&&I&&!tt.current&&(tt.current=!0,rt.current=!0,Ie(null),Re(!0))}),[F,I]);const at=t.useCallback((e=>{const t=e.trim();t&&et((e=>{const r=[t,...e.filter((e=>e!==t))].slice(0,20);try{localStorage.setItem(Xe,JSON.stringify(r))}catch{}return r}))}),[Xe]),nt=t.useCallback((e=>{et((t=>{const r=t.filter((t=>t!==e));try{localStorage.setItem(Xe,JSON.stringify(r))}catch{}return r}))}),[Xe]),st=t.useMemo((()=>j.lodashExports.debounce((e=>H(e)),500)),[H]);t.useEffect((()=>()=>{st.cancel()}),[st]);const it=t.useCallback((e=>{W(e),st(e)}),[st]),ot=t.useCallback((e=>{at(e)}),[at]);t.useEffect((()=>{if(!v.get("q")){const e=v.get(`filter_${D}`);if(e){let t=e;if("%USERNAME%"===t){const e=ke();if(!e)return;t=e}W(t),H(t),ae.current=t}}}),[D,v,ke]),t.useEffect((()=>{const e=v.get("q")||"";e!==ae.current&&e!==O&&(W(e),H(e),ae.current=e,ne.current="")}),[v]),t.useEffect((()=>(re.current&&clearTimeout(re.current),re.current=setTimeout((()=>{if(ae.current!==z){const e=new URLSearchParams(v);z?e.set("q",z):e.delete("q"),b(e,{replace:!0}),ae.current=z}}),500),()=>{re.current&&clearTimeout(re.current)})),[z,v,b]),t.useEffect((()=>{if(!ie.current)return;const e=`${D}-${R}-${B}-${le}-${O}`;if(e===ne.current)return;ne.current=e;const t=++se.current,r=()=>t===se.current,a=R?`${D}-${O}-${R}`:`${D}-${O||"all"}`,n=s.dataCache.get(a);if(!n){if(Z(!1),X(!0),R)ie.current.getMessagesFast([D],O).then((e=>{if(!r())return;const t=e.map((e=>{const t=new Date(e.createdAt).toLocaleString();return{id:e.id,data:{[R]:new i.default(e.content).content,createdAt:t},fileId:null,fileIds:[],tags:[D],mentions:[ie.current.codicent],createdAt:t}}));s.dataCache.set(a,t),J(t)})).catch(console.warn).finally((()=>{r()&&X(!1)}));else{const e=O||"",t=B||e?void 0:S;ie.current.readDataMessages(D,e,void 0,0,t).then((t=>{r()&&(s.dataCache.set(a,t),J(t),Z(!B&&!e&&t.length===S))})).catch(console.warn).finally((()=>{r()&&X(!1)}))}return()=>{ne.current=""}}if(J(n),X(!1),Z(!B&&!R&&n.length>=S),!R&&!O&&n.length>0){const e=n.reduce(((e,t)=>t.createdAt>e?t.createdAt:e),n[0].createdAt);ie.current.readDataMessages(D,"",void 0,void 0,void 0,e).then((e=>{r()&&J((t=>{const r=new Set(t.map((e=>e.id))),n=e.filter((e=>!r.has(e.id)));if(0===n.length)return t;const i=[...n,...t];return s.dataCache.set(a,i),i}))})).catch(console.warn)}}),[D,R,B,O,le,oe]);const lt=t.useMemo((()=>{const e={};v.forEach(((t,r)=>{r.startsWith("filter_")&&(e[r.replace("filter_","")]=t)}));let t=G.map(((e,t)=>({item:e,index:t})));for(const[r,a]of Object.entries(e)){if("__empty__"===a){t=t.filter((({item:e})=>{const t=e.data[r];return null==t||""===String(t).trim()}));continue}const e=a.replace("%USERNAME%",ke()),n=C.context.nickname||"";(e||n)&&(t=t.filter((({item:t})=>{const a=t.data[r];if(null==a)return!1;const s=String(a);return e&&s.includes(e)||n&&s.includes(n)})))}if(w){const e=w(t.map((({item:e})=>e)),D),r=new Map(t.map((({item:e,index:t})=>[e.id,t])));t=e.map((e=>{const t=r.get(e.id);return void 0===t?void 0:{item:e,index:t}})).filter((e=>void 0!==e))}const r=t.map((({item:e,index:t})=>({...e.data,createdAt:e.createdAt,_id:e.id,originalMessageId:e.originalMessageId||e.id,_fileIds:e.fileIds??[],_index:t}))),a=k?.(D)?.deduplicateBy;if(a){const e=Array.isArray(a)?a:[a],t=t=>{for(const r of e){const e=t[r];if(null!=e&&""!==String(e).trim())return String(e)}},n=new Set;return r.filter((e=>{const r=t(e);return void 0===r||!n.has(r)&&(n.add(r),!0)}))}return r}),[G,v,C.context.nickname,ke,w,D,k]),ct=t.useMemo((()=>{const e=(z||"").trim().toLowerCase();if(!e)return lt;const t=De.filter((e=>!e.hidden)).map((e=>e.key));if(e.includes("*")){const r=new RegExp(e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*"),"i");return lt.filter((e=>{for(const a of t)if(Array.isArray(a))for(const t of a){const a=e[t];if(null!=a&&r.test(String(a)))return!0}else{const t=e[a];if(null!=t&&r.test(String(t)))return!0}return!1}))}return lt.filter((r=>{for(const a of t)if(Array.isArray(a))for(const t of a){const a=r[t];if(null!=a&&String(a).toLowerCase().includes(e))return!0}else{const t=r[a];if(null!=t&&String(t).toLowerCase().includes(e))return!0}return!1}))}),[lt,z,De]),ut=t.useCallback((()=>{s.dataCache.clearPattern(D),ne.current="",ce((e=>e+1))}),[D]),dt=t.useCallback((async()=>{te(!0);try{const e=await ie.current.readDataMessages(D,"",void 0,G.length,S),t=[...G,...e];J(t),s.dataCache.set(`${D}-all`,t),Z(e.length===S)}catch(e){console.warn(e)}finally{te(!1)}}),[G,D]),pt=t.useCallback((e=>{de(e)}),[]),ft=t.useCallback((e=>{fe(e)}),[]);t.useEffect((()=>{if(!pe||!Y||ee||Q)return;const e=se.current;te(!0),ie.current.readDataMessages(D,"",void 0,G.length,void 0).then((t=>{e===se.current&&(J((e=>{const r=new Set(e.map((e=>e.id))),a=[...e,...t.filter((e=>!r.has(e.id)))];return s.dataCache.set(`${D}-all`,a),a})),Z(!1))})).catch(console.warn).finally((()=>te(!1)))}),[pe,Y,ee,Q,D,G.length]);const gt=()=>{$e(!1),Te(null)},mt=t.useCallback((async()=>{const e=`${D}_${(new Date).toISOString().split("T")[0]}`.replace(/[/\\:*?"<>|]/g,"_");const t=null!==ue?ue:ct;await o.exportToExcel(t,De,e,me)||console.warn("No data to export")}),[ue,ct,De,D,me]),ht=t.useMemo((()=>null!==ue?ue.length:ct.length),[ue,ct]),yt=t.useMemo((()=>{if(Ne)return De.find((e=>(Array.isArray(e.key)?e.key[0]:e.key)===Ne.referenceColumnKey))}),[Ne,De]),jt=t.useMemo((()=>{if(yt?.referenceCascadeFromKey)return De.find((e=>(Array.isArray(e.key)?e.key[0]:e.key)===yt.referenceCascadeFromKey))}),[yt,De]),xt=t.useCallback((()=>{Ue(null),We(null),He(null)}),[]),St=t.useCallback((async e=>{if(void 0!==e.setFieldKey&&V){Ge(!0);try{const t=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));for(const r of t)await V.updateDataMessage(r.id,{...r.data,[e.setFieldKey]:e.setFieldValue??""});s.dataCache.clearPattern(D),Le(new Set),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(t.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[G,Ke,V,D,ut,ye,me]),Ct=t.useCallback((async e=>{if(e.handler&&V){Ge(!0);try{const t=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));await e.handler(t,V),s.dataCache.clearPattern(D),Le(new Set),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(t.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[G,Ke,V,D,ut,ye,me]),qt=t.useCallback((async()=>{if(Ne&&yt&&ze&&(!jt||Oe)){Ge(!0);try{const e=Array.isArray(yt.key)?yt.key[0]:yt.key,t=yt.referenceLabelKey??`${e}_label`,r=l.formatReference(ze.tag,ze.originalMessageId||ze.id);let a,n,i,o;jt&&Oe&&(a=Array.isArray(jt.key)?jt.key[0]:jt.key,n=jt.referenceLabelKey??`${a}_label`,i=l.formatReference(Oe.tag,Oe.originalMessageId||Oe.id),o=Oe.label);const c=G.filter((e=>{const t=String(e.originalMessageId||e.id);return Ke.has(t)}));for(const s of c){const l={...s.data,[e]:r,[t]:ze.label};a&&i&&(l[a]=i,n&&o&&(l[n]=o)),await V.updateDataMessage(s.id,l)}s.dataCache.clearPattern(D),Le(new Set),xt(),ut(),ye(me("{n} poster uppdaterade").replace("{n}",String(c.length)),"","","success")}catch(e){ye(me("Uppdateringen misslyckades"),qe(e),"","error")}finally{Ge(!1)}}}),[Ne,yt,jt,ze,Oe,G,Ke,V,D,xt,ut,ye,me]);return e.jsxs(u.Page,{hideHeader:!0,children:[e.jsx(je,{}),e.jsxs("div",{className:ge.container,children:[e.jsx("div",{className:ge.backButton,children:e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowLeft24Regular,{}),onClick:()=>he(-1),children:me("Tillbaka")})}),e.jsxs("div",{className:ge.headerRow,children:[e.jsx(a.default,{title:me(M||"Loggbok")}),e.jsxs("div",{className:ge.buttonGroup,children:[e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowClockwise24Regular,{}),onClick:ut,title:me("Refresh"),children:me("Refresh")}),E&&e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(n.ArrowDownload24Regular,{}),onClick:mt,title:me("Export to Excel"),children:me("Export to Excel")}),(I||P)&&e.jsx(r.Button,{appearance:"primary",icon:e.jsx(n.Add24Regular,{}),onClick:I?()=>{Ie(null),Re(!0)}:()=>window.open(P,"_blank"),className:ge.addButton,children:me("Add Record")})]})]}),e.jsx("div",{className:ge.searchBox,children:e.jsx(g.default,{placeholder:me("Sök")+"...",value:z,onChange:it,recentSearches:Ze,onCommitSearch:ot,onRemoveRecentSearch:nt})}),Ae.length>0&&e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px",marginBottom:"8px"},children:[e.jsx(r.Button,{appearance:ve?"outline":"primary",size:"small",onClick:()=>be(null),children:me("All")}),Ae.map((t=>e.jsx(r.Button,{appearance:ve===t?"primary":"outline",size:"small",onClick:()=>be(t),children:t},t)))]}),!Q&&e.jsxs("div",{className:ge.recordsCount,children:[me("Total"),": ",ht," ",me("records"),ht!==G.length&&` (${me("filtered from")} ${G.length})`]}),e.jsxs("div",{className:ge.listContainer,children:[Fe&&Ke.size>0&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px",marginBottom:"8px",background:"#f0f6ff",border:"1px solid #cfe0ff",borderRadius:"4px",flexWrap:"wrap"},children:[e.jsxs("span",{style:{fontWeight:600},children:[Ke.size," ",me("valda")]}),Pe.map((t=>e.jsx(r.Button,{appearance:"primary",size:"small",disabled:Ve,onClick:()=>{void 0!==t.setFieldKey?St(t):t.handler?Ct(t):(Ue(t),We(null),He(null))},children:me(t.label)},t.label))),e.jsx(r.Button,{appearance:"subtle",size:"small",onClick:()=>Le(new Set),children:me("Rensa")})]}),Q&&G.length>0&&e.jsx("div",{className:ge.loadingIndicator,children:me("Söker")+"..."}),Q&&0===G.length?e.jsx("p",{children:me("Söker")+"..."}):e.jsx(h.default,{data:ct,columns:De,canEdit:_,onEdit:(e,t)=>{const r=G[t];r&&(Ie({data:{...r.data,_fileIds:r.fileIds??[]},index:t}),Re(!0))},onDelete:(e,t)=>{const r=G[t];r&&(Te({index:t,id:r.id}),$e(!0))},onToggleCheckbox:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:String(r)};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onEnumChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:r};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onValueChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i={...n.data,[e]:r};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,i);J((t=>{const r=[...t];return r[a]={...n,id:e,data:i},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},onReferenceChange:async(e,t,r,a)=>{const n=G[a];if(n){const e=Array.isArray(t)?t[0]:t,i=De.find((t=>(Array.isArray(t.key)?t.key[0]:t.key)===e)),o=i?.referenceLabelKey??`${e}_label`,c=l.formatReference(r.tag,r.originalMessageId||r.id),u={...n.data,[e]:c,[o]:r.label};Ce(a,!0);try{const e=await V.updateDataMessage(n.id,u);J((t=>{const r=[...t];return r[a]={...n,id:e,data:u},r})),s.dataCache.clearPattern(D),ye(me("Sparat"),"","","success")}catch(e){ye(me("Kunde inte spara"),qe(e),"","error")}finally{Ce(a,!1)}}},savingRows:xe,service:V,onFilteredDataChange:pt,onActiveFiltersChange:ft,compact:T,selectable:Fe,selectedRowKeys:Ke,onToggleRow:Je,onToggleAll:Qe,fillParent:!0},D)]}),Y&&!z.trim()&&e.jsx("div",{className:ge.loadMoreContainer,children:e.jsx(r.Button,{appearance:"primary",size:"medium",onClick:dt,disabled:ee,children:ee?me("Laddar..."):me("Visa fler")+` (${G.length} ${me("laddade")})`})}),e.jsx(y.RecordModal,{open:Me,onClose:()=>{Re(!1),rt.current&&(rt.current=!1,he(-1))},onSave:async(e,t)=>{const r=new Set(De.filter((e=>"thumbnail"===e.type)).map((e=>Array.isArray(e.key)?e.key[0]:e.key)));try{if(Be){const t=G[Be.index];if(t){const a={};for(const t in e){if(r.has(t))continue;const n=e[t];a[t]=null==n?"":String(n)}const n=await V.updateDataMessage(t.id,a);J((e=>{const r=[...e];return r[Be.index]={...t,id:n,data:a},r})),s.dataCache.clearPattern(D)}}else{const a={};for(const t in e){if(r.has(t))continue;const n=e[t];a[t]=null==n?"":String(n)}const n={id:await V.createDataMessage(D,a,void 0,t),data:a,createdAt:(new Date).toISOString(),fileId:null,fileIds:t??[],tags:[D],mentions:[V.codicent]};J((e=>[n,...e])),s.dataCache.clearPattern(D)}ye(me("Sparat"),"","","success")}catch(e){throw ye(me("Kunde inte spara"),qe(e),"","error"),e}},columns:De,initialData:Be?.data,codicentService:V,allowAttachments:$}),e.jsx(r.Dialog,{open:_e,onOpenChange:(e,t)=>!t.open&&gt(),children:e.jsx(r.DialogSurface,{children:e.jsxs(r.DialogBody,{children:[e.jsx(r.DialogTitle,{children:me("Confirm Delete")}),e.jsx(r.DialogContent,{children:me("Are you sure you want to delete this record? This action cannot be undone.")}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:gt,children:me("Cancel")}),e.jsx(r.Button,{appearance:"primary",onClick:async()=>{if(Ee)try{await V.deleteDataMessage(Ee.id),J((e=>e.filter(((e,t)=>t!==Ee.index)))),s.dataCache.clearPattern(D),ye(me("Borttaget"),"","","success")}catch(e){ye(me("Kunde inte ta bort"),qe(e),"","error")}finally{$e(!1),Te(null)}},children:me("Delete")})]})]})})}),e.jsx(r.Dialog,{open:!!Ne,onOpenChange:(e,t)=>!t.open&&xt(),children:e.jsx(r.DialogSurface,{children:e.jsxs(r.DialogBody,{children:[e.jsx(r.DialogTitle,{children:Ne?me(Ne.label):""}),e.jsx(r.DialogContent,{children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"8px 0"},children:[e.jsxs("div",{style:{color:"#444"},children:[Ke.size," ",me("rader kommer att uppdateras")]}),jt&&V&&jt.referenceTag&&e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:600,marginBottom:"4px"},children:jt.title?me(jt.title):jt.referenceTag}),e.jsx(m.default,{service:V,tag:jt.referenceTag,displayKeys:jt.referenceDisplayKeys,searchKeys:jt.referenceSearchKeys??jt.referenceDisplayKeys,dataFilters:jt.referenceFilters,value:Oe?.label||"",onSelect:e=>{He(e),We(null)}})]}),yt&&V&&yt.referenceTag&&e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:600,marginBottom:"4px"},children:yt.title?me(yt.title):yt.referenceTag}),e.jsx(m.default,{service:V,tag:yt.referenceTag,displayKeys:yt.referenceDisplayKeys,searchKeys:yt.referenceSearchKeys??yt.referenceDisplayKeys,dataFilters:(()=>{const e={...yt.referenceFilters??{}};return yt.referenceCascadeFilterField&&Oe&&(e[yt.referenceCascadeFilterField]=l.formatReference(Oe.tag,Oe.originalMessageId||Oe.id)),e})(),disabled:!!jt&&!Oe,value:ze?.label||"",onSelect:e=>We(e)})]})]})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:xt,disabled:Ve,children:me("Cancel")}),e.jsx(r.Button,{appearance:"primary",onClick:qt,disabled:Ve||!ze||!!jt&&!Oe||0===Ke.size,children:me(Ve?"Sparar...":"Tilldela")})]})]})})})]})]})};exports.ListPage=C,exports.default=C;
@@ -0,0 +1 @@
1
+ var e={exports:{}};export{e as __module};
@@ -0,0 +1 @@
1
+ var r={};export{r as __exports};
@@ -0,0 +1 @@
1
+ var r={};export{r as __exports};
@@ -0,0 +1 @@
1
+ var r={};export{r as __exports};
@@ -110,6 +110,13 @@ export interface ListViewProps {
110
110
  /** Raw-data indices (matching `_index` / actualIndex) of rows with an in-flight inline-cell save.
111
111
  * Editable controls on these rows are disabled and show a spinner; values revert on failure. */
112
112
  savingRows?: Set<number>;
113
+ /**
114
+ * When true, the scroll container fills its parent (flex child) instead of using the
115
+ * viewport-based `calc(100vh - 200px)` max-height. Use inside a fixed-height flex-column
116
+ * parent (like ListPage's list area) so the last rows and the horizontal scrollbar are
117
+ * never clipped by the parent's overflow.
118
+ */
119
+ fillParent?: boolean;
113
120
  }
114
121
  export declare const ListView: React.FC<ListViewProps>;
115
122
  declare const _default: React.NamedExoticComponent<ListViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import r,{useMemo as i,useState as l,useEffect as a}from"react";import{makeStyles as o,Checkbox as c,Select as s,Button as d,Dialog as p,DialogSurface as u,DialogBody as h,DialogTitle as m,DialogContent as f,Combobox as g,Option as x,Textarea as y,Input as b,Spinner as C,Tooltip as v}from"@fluentui/react-components";import{Edit24Regular as k,Delete24Regular as w,Attach24Regular as S}from"@fluentui/react-icons";import{CodicentService as N}from"../services/codicent.js";import I from"../hooks/useLocalization.js";import W from"./DataMessagePicker.js";const A=o({container:{width:"100%",overflowX:"auto",userSelect:"text"},table:{width:"100%",borderCollapse:"collapse",backgroundColor:"#ffffff",fontSize:"14px",tableLayout:"fixed",userSelect:"text"},th:{textAlign:"left",padding:"12px 8px",borderBottom:"2px solid #e0e0e0",fontWeight:"600",backgroundColor:"#f5f5f5",position:"sticky",top:0,zIndex:1,cursor:"pointer",userSelect:"none","&:hover":{backgroundColor:"#e8e8e8"}},td:{padding:"12px 8px",borderBottom:"1px solid #e0e0e0",verticalAlign:"top",wordWrap:"break-word",overflow:"hidden",userSelect:"text"},tdTruncated:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","@media (hover: none)":{cursor:"pointer"}},tdWrap:{whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"hidden",maxHeight:"6.5em",lineHeight:"1.4"},tr:{height:"57px","&:hover":{backgroundColor:"#f9f9f9"}},emptyState:{padding:"20px",textAlign:"center",color:"#666"},sortIndicator:{marginLeft:"4px",fontSize:"10px"},hideOnMobile:{"@media (max-width: 768px)":{display:"none"}},dialogContent:{wordWrap:"break-word",whiteSpace:"pre-wrap",maxHeight:"60vh",overflowY:"auto"},thumbnail:{maxWidth:"50px",maxHeight:"50px",objectFit:"cover"},tooltip:{maxWidth:"600px",whiteSpace:"normal",wordWrap:"break-word"},editButton:{minWidth:"auto",padding:"4px 8px"},actionsColumn:{width:"100px",textAlign:"center"},filterInput:{width:"100%",padding:"4px 8px",fontSize:"14px",border:"1px solid #e0e0e0",borderRadius:"4px",paddingRight:"28px"},filterSelect:{width:"100%",padding:"4px 8px",paddingRight:"8px",fontSize:"14px",border:"1px solid #c8c6c4",borderRadius:"4px",backgroundColor:"#fff",cursor:"pointer"},filterWrapper:{position:"relative"},clearFilterButton:{position:"absolute",right:"6px",top:"50%",transform:"translateY(-50%)",minWidth:"auto",height:"20px",padding:"0 6px",lineHeight:"18px"},filterToolbar:{display:"flex",justifyContent:"flex-end",padding:"8px",gap:"8px"},cellWithAction:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"4px"},actionIcon:{minWidth:"auto",padding:"2px",marginLeft:"4px",flexShrink:0,cursor:"pointer",opacity:.7,"&:hover":{opacity:1}},thumbnailRow:{display:"flex",gap:"4px",flexWrap:"wrap"},cellText:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},badge:{borderRadius:"12px",padding:"2px 8px",fontSize:"12px",fontWeight:"600",display:"inline-block",whiteSpace:"nowrap"},tdCompact:{paddingTop:"4px",paddingBottom:"4px"}}),$=(e,t,n)=>{if(t<1||t>12||n<1||n>31)return null;const r=new Date(e,t-1,n);return r.getFullYear()===e&&r.getMonth()===t-1&&r.getDate()===n?r.getTime():null},F=e=>{const t=e.trim();if(!t)return null;if(/^\d{4}-\d{2}-\d{2}/.test(t)){const e=new Date(t);if(!isNaN(e.getTime()))return e.getTime()}let n=t.match(/^(\d{4})[/.](\d{1,2})[/.](\d{1,2})/);if(n){const e=$(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10));if(null!==e)return e}if(n=t.match(/^(\d{1,2})[/.-](\d{1,2})[/.-](\d{4})/),n){const e=$(parseInt(n[3],10),parseInt(n[2],10),parseInt(n[1],10));if(null!==e)return e}if(n=t.match(/^(\d{4})(\d{2})(\d{2})$/),n){const e=$(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10));if(null!==e)return e}return null},O=e=>{const t=e.trim().replace(/[\s\u00a0]/g,"");if(""===t||"-"===t)return null;const n=(t.match(/,/g)||[]).length,r=(t.match(/\./g)||[]).length;let i;i=1===n&&0===r?/,\d{1,2}$/.test(t)?t.replace(/,\d+$/,"").replace(/[^0-9-]/g,""):t.replace(/,/g,""):1===r&&0===n?/\.\d{1,2}$/.test(t)?t.replace(/\.\d+$/,"").replace(/[^0-9-]/g,""):t.replace(/\./g,""):t.replace(/[,.]/g,"");const l=Number(i);return""!==i&&isFinite(l)?l:null},M=(e,t)=>{if("string"==typeof t)return e[t];for(const n of t)if(void 0!==e[n])return e[n]},T=e=>e.referenceLabelKey??`${Array.isArray(e.key)?e.key[0]:e.key}_label`,L=(e,t)=>{if("reference"===t.type){const n=M(e,T(t));if(null!=n&&""!==String(n))return n}return M(e,t.key)},R=new Set,j=o({img:{maxWidth:"40px",maxHeight:"40px",objectFit:"cover",borderRadius:"3px",display:"block"},fileIcon:{width:"24px",height:"24px",verticalAlign:"middle"}}),D=({fileId:t})=>{const[n,r]=l((()=>!R.has(t))),i=j();return e("a",{href:N.getFileUrl(t),target:"_blank",rel:"noopener noreferrer",children:n?e("img",{src:N.getImageUrl(t,40),alt:"",className:i.img,onError:()=>{R.add(t),r(!1)}}):e(S,{className:i.fileIcon})})},K=({value:t,options:n,optionsLoader:o,minChars:c=2,maxResults:s=50,columnKey:d,item:p,actualIndex:u,onEnumChange:h,label:m,t:f,isSaving:y})=>{const[b,C]=l(t),[v,k]=l([]),[w,S]=l(!1),N=r.useRef(null);a((()=>{C(t)}),[t]),a((()=>{y||C(t)}),[y,t]),a((()=>{if(o){if(!(b.length<c))return N.current&&clearTimeout(N.current),N.current=setTimeout((async()=>{S(!0);try{const e=await o(b);k(e.slice(0,s))}finally{S(!1)}}),250),()=>{N.current&&clearTimeout(N.current)};k([])}}),[b,o,c,s]);const I=i((()=>(n??[]).filter((e=>e.toLowerCase().includes(b.toLowerCase()))).slice(0,s)),[n,b,s]),W=o?v:I;return e(g,{value:b,freeform:!0,disabled:y,"aria-label":m,placeholder:y?f("Sparar..."):w?f("Loading..."):o&&b.length<c?f(`Type ${c}+ characters to search...`):void 0,onChange:e=>C(e.target.value),onOptionSelect:(e,t)=>{t.optionValue&&(C(t.optionValue),h&&h(p,d,t.optionValue,u))},onBlur:()=>{h&&h(p,d,b,u)},style:{width:"100%"},children:W.map((t=>e(x,{value:t,children:t},t)))})},B=({value:t,columnKey:n,item:r,actualIndex:i,multiline:o,rows:c,onValueChange:s,isSaving:d})=>{const[p,u]=l(t);a((()=>{u(t)}),[t]),a((()=>{d||u(t)}),[d,t]);const h=()=>{s&&p!==t&&s(r,n,p,i)};return o?e(y,{value:p,rows:c??3,resize:"vertical",disabled:d,onChange:e=>u(e.target.value),onBlur:h}):e(b,{value:p,disabled:d,contentAfter:d?e(C,{size:"tiny"}):void 0,onChange:e=>u(e.target.value),onBlur:h,onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()}})},z=({data:o,columns:g,canEdit:x,onEdit:y,onDelete:b,onToggleCheckbox:C,onEnumChange:S,onValueChange:$,onReferenceChange:R,service:j,onFilteredDataChange:z,onActiveFiltersChange:E,rowColor:H,compact:P,onAttachFile:_,selectable:V,selectedRowKeys:Y,onToggleRow:U,onToggleAll:q,savingRows:J})=>{const X=A(),{visibleColumns:G,defaultSortIndex:Q,defaultSortDirection:Z}=i((()=>{const e=o&&o.length>0?Array.from(new Set(o.flatMap((e=>Object.keys(e))))):[],t=(g||e.map((e=>({key:e})))).filter((e=>!e.hidden)),n=t.findIndex((e=>e.defaultSort));return{visibleColumns:t,defaultSortIndex:n,defaultSortDirection:n>=0&&t[n].defaultSort||null}}),[o,g]),[ee,te]=l(Q>=0?Q:null),[ne,re]=l(Z),[ie,le]=l(!1),[ae,oe]=l({title:"",text:""}),[ce,se]=l({}),[de,pe]=l(0),ue=r.useRef(null),{t:he}=I(),me=P?36:57;r.useEffect((()=>()=>{null!==ue.current&&cancelAnimationFrame(ue.current)}),[]);const fe=e=>e.title?he(e.title):Array.isArray(e.key)?e.key[0]:e.key,ge=e=>{const t=[];return e.hideOnMobile&&t.push(X.hideOnMobile),t.join(" ")},xe=(e,t)=>{se((n=>{const r={...n};return""===t.trim()?delete r[e]:r[e]=t,r}))},ye=e=>null==e||"string"==typeof e&&e.startsWith("[")&&e.endsWith("]")?"":"object"==typeof e?JSON.stringify(e):String(e),be=i((()=>{const e=[...o];if(null!==ee&&ne){const t=G[ee];e.sort(((e,n)=>{const r=M(e,t.key),i=M(n,t.key);if(null==r)return 1;if(null==i)return-1;let l=0;if("string"==typeof r&&"string"==typeof i){const e=F(r),t=F(i);if(null!==e&&null!==t)l=e-t;else{const e=O(r),t=O(i);l=null!==e&&null!==t?e-t:r.localeCompare(i)}}else if("number"==typeof r&&"number"==typeof i)l=r-i;else{const e=O(String(r)),t=O(String(i));l=null!==e&&null!==t?e-t:String(r).localeCompare(String(i))}return"asc"===ne?l:-l}))}return e}),[o,ee,ne,G]),Ce=i((()=>be.filter((e=>{for(const[t,n]of Object.entries(ce)){const r=parseInt(t),i=G[r],l=L(e,i),a=ye(l).toLowerCase(),o=n.toLowerCase();if(!("enum"===i.type&&i.enumOptions?a===o:a.includes(o)))return!1}return!0}))),[be,ce,G]);a((()=>{z&&z(Ce)}),[Ce,z]),a((()=>{E&&E(Object.keys(ce).length>0)}),[ce,E]);const ve="undefined"!=typeof window?window.innerHeight-250:600,ke=Math.max(0,Math.floor(de/me)-5),we=Math.min(Ce.length,Math.ceil((de+ve)/me)+5),Se=Ce.slice(ke,we),Ne=Ce.length*me,Ie=ke*me,We=(e,t)=>{if(void 0!==e.id)return String(e.id);if(void 0!==e._id)return String(e._id);if(void 0!==e.originalMessageId)return String(e.originalMessageId);return`row-${t}-${(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)})(G.slice(0,3).map((t=>String(M(e,t.key)??""))).join("-"))}`};if(!o||0===o.length)return e("div",{className:X.emptyState,children:he("No data to display")});const Ae=e=>String(e.originalMessageId??e._id??e.id??""),$e=V&&o.length>0&&o.every((e=>Y?.has(Ae(e)))),Fe=V&&!$e&&o.some((e=>Y?.has(Ae(e))));return t(n,{children:[e("div",{className:X.container,onScroll:e=>{const t=e.currentTarget.scrollTop;null!==ue.current&&cancelAnimationFrame(ue.current),ue.current=requestAnimationFrame((()=>{pe(t),ue.current=null}))},style:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},children:t("table",{className:X.table,children:[t("thead",{children:[t("tr",{children:[V&&e("th",{className:X.th,style:{width:"36px"},onClick:e=>e.stopPropagation(),children:e(c,{checked:!!$e||!!Fe&&"mixed",onChange:()=>q?.(o)})}),G.map(((n,r)=>{const i=n.maxWidth?{width:`${n.maxWidth}px`,maxWidth:`${n.maxWidth}px`}:{};return t("th",{className:`${X.th} ${ge(n)}`.trim(),style:i,onClick:()=>(e=>{ee===e?"asc"===ne?re("desc"):"desc"===ne&&(te(null),re(null)):(te(e),re("asc"))})(r),children:[fe(n),ee===r&&e("span",{className:X.sortIndicator,children:"asc"===ne?"▲":"▼"})]},r)})),x&&e("th",{className:`${X.th} ${X.actionsColumn}`,style:{width:"100px"},children:he("Actions")})]}),t("tr",{children:[V&&e("th",{style:{width:"36px"}}),G.map(((r,i)=>{const l=r.maxWidth?{width:`${r.maxWidth}px`,maxWidth:`${r.maxWidth}px`}:{};return e("th",{className:ge(r),style:l,children:r.filterable&&e("div",{className:X.filterWrapper,children:"enum"===r.type&&r.enumOptions?t(s,{className:X.filterSelect,value:ce[i]||"",onChange:(e,t)=>xe(i,t.value),onClick:e=>e.stopPropagation(),children:[e("option",{value:"",children:he("All")}),r.enumOptions.filter((e=>""!==e)).map((t=>e("option",{value:t,children:he(t)},t)))]}):t(n,{children:[e("input",{type:"text",className:X.filterInput,placeholder:he("Filter")+"...",value:ce[i]||"",onChange:e=>xe(i,e.target.value),onClick:e=>e.stopPropagation()}),(ce[i]||"").length>0&&e(d,{appearance:"subtle",className:X.clearFilterButton,onClick:e=>{e.stopPropagation(),(e=>{se((t=>{const n={...t};return delete n[e],n}))})(i)},children:"×"})]})})},i)})),x&&e("th",{className:X.actionsColumn})]})]}),t("tbody",{children:[ke>0&&e("tr",{style:{height:`${Ie}px`},children:e("td",{colSpan:G.length+(x?1:0)+(V?1:0),style:{padding:0,border:"none"}})}),Se.map(((n,r)=>{const i=n._index,l="number"==typeof i?i:ke+r,a=J?.has(l)??!1;let o;if(H&&(o=H(n)),!o)for(const e of G)if("row"===e.colorScope&&e.colorMap){const t=e.format?e.format(M(n,e.key)):ye(M(n,e.key));if(o=e.colorMap[t],o)break}return t("tr",{className:X.tr,style:{height:`${me}px`,...o?{backgroundColor:o}:{}},children:[V&&e("td",{className:`${X.td} ${P?X.tdCompact:""}`.trim(),style:{width:"36px"},onClick:e=>e.stopPropagation(),children:e(c,{checked:Y?.has(Ae(n))??!1,onChange:()=>U?.(Ae(n),n)})}),G.map(((r,i)=>{const o=M(n,r.key),p=ye(o);let u=r.format?r.format(o):p;"reference"===r.type&&(u=ye(M(n,T(r)))||u);const h="textarea"===r.type,m=r.maxWidth?`${X.td} ${h?X.tdWrap:X.tdTruncated} ${P?X.tdCompact:""} ${ge(r)}`.trim():`${X.td} ${h?X.tdWrap:""} ${P?X.tdCompact:""} ${ge(r)}`.trim(),f=r.colorFn?r.colorFn(o,n):r.colorMap&&"row"!==r.colorScope?r.colorMap[u]:void 0,g=()=>{window.matchMedia("(hover: hover)").matches||r.maxWidth&&u.length>0&&(oe({title:fe(r),text:u}),le(!0))};if("thumbnail"===r.type){const t=Array.isArray(o)?o:[];return e("td",{className:m,children:e("div",{className:X.thumbnailRow,children:t.map((t=>e(D,{fileId:t},t)))})},i)}if("file"===r.type)return e("td",u?{className:m,onClick:g,children:e("a",{href:N.getFileUrl(u),target:"_blank",rel:"noopener noreferrer",children:he("Download")})}:_?{className:m,onClick:e=>e.stopPropagation(),children:t("label",{style:{color:"#0078d4",cursor:"pointer",textDecoration:"underline",fontSize:"13px"},title:he("Attach file"),children:[he("Attach"),e("input",{type:"file",style:{display:"none"},onChange:e=>{const t=Array.from(e.target.files||[]);t.length>0&&_(n,t),e.target.value=""}})]})}:{className:m,onClick:g,children:e("span",{style:{color:"#888"},title:he("No file attached"),children:"—"})},i);if("checkbox"===r.type){return e("td",{className:m,children:e(c,{checked:!0===o||"true"===o||"yes"===o||"1"===o,disabled:a,onChange:(e,t)=>{C&&C(n,r.key,!0===t.checked,l)}})},i)}if("enum"===r.type&&r.enumOptions&&r.editable)return e("td",{className:m,style:f?{backgroundColor:f}:void 0,children:t(s,{value:u,disabled:a,"aria-label":r.title?he(r.title):Array.isArray(r.key)?r.key[0]:r.key,onChange:(e,t)=>{S&&S(n,r.key,t.value,l)},style:{width:"100%",...f?{backgroundColor:f}:{}},children:[!r.enumOptions.includes(u)&&u&&e("option",{value:u,children:u}),r.enumOptions.map((t=>e("option",{value:t,children:he(t)},t)))]})},i);if("reference"===r.type&&r.editable&&r.referenceTag&&j){const t=u,o=r.referenceDisplayKeys??[],c=r.referenceCascadeFromKey?ye(M(n,r.referenceCascadeFromKey)):"",s={...r.referenceFilters??{}};return r.referenceCascadeFilterField&&c&&(s[r.referenceCascadeFilterField]=c),e("td",{className:m,children:e(W,{service:j,tag:r.referenceTag,value:t,placeholder:r.title?he(r.title):void 0,displayKeys:o,searchKeys:r.referenceSearchKeys??o,dataFilters:Object.keys(s).length>0?s:void 0,disabled:a,onSelect:e=>R?.(n,r.key,e,l)})},i)}if("combobox"===r.type&&r.editable&&(r.enumOptions||r.enumOptionsLoader))return e("td",{className:m,children:e(K,{value:u,options:r.enumOptions,optionsLoader:r.enumOptionsLoader,minChars:r.enumOptionsLoaderMinChars,maxResults:r.enumOptionsLoaderMaxResults,columnKey:r.key,item:n,actualIndex:l,onEnumChange:S,label:r.title?he(r.title):Array.isArray(r.key)?r.key[0]:r.key,t:he,isSaving:a})},i);if(r.editable)return e("td",{className:m,children:e(B,{value:p,columnKey:r.key,item:n,actualIndex:l,multiline:"textarea"===r.type,rows:r.rows,onValueChange:$,isSaving:a})},i);const x=()=>{if(r.badge&&r.colorMap){const t=r.colorMap[u];return e("span",{className:X.badge,style:t?{backgroundColor:t}:{backgroundColor:"#e0e0e0"},children:u})}return r.maxWidth&&u.length>0?e(v,{content:{children:u,style:{maxWidth:"600px",whiteSpace:"normal"}},relationship:"description",children:e("span",{children:u})}):u},y=()=>{if(!r.action)return null;const t=r.action,i=r.action.icon,l=e(d,{appearance:"subtle",icon:e(i,{}),className:X.actionIcon,onClick:e=>{e.stopPropagation(),t.onClick(n)},size:"small"});return t.tooltip?e(v,{content:he(t.tooltip),relationship:"label",children:l}):l};return e("td",{className:m,style:f?{backgroundColor:f}:void 0,onClick:g,children:r.action?t("div",{className:X.cellWithAction,children:[r.action.iconLeft&&y(),e("span",{className:X.cellText,children:x()}),!r.action.iconLeft&&y()]}):x()},i)})),x&&(y||b)&&e("td",{className:`${X.td} ${X.actionsColumn}`,children:t("div",{style:{display:"flex",gap:"4px",justifyContent:"center"},children:[y&&e(d,{appearance:"subtle",icon:e(k,{}),className:X.editButton,onClick:()=>y(n,l),title:he("Edit")}),b&&e(d,{appearance:"subtle",icon:e(w,{}),className:X.editButton,onClick:()=>b(n,l),title:he("Delete")})]})})]},We(n,l))})),we<Ce.length&&e("tr",{style:{height:Ne-Ie-Se.length*me+"px"},children:e("td",{colSpan:G.length+(x?1:0)+(V?1:0),style:{padding:0,border:"none"}})})]})]})}),e(p,{open:ie,onOpenChange:(e,t)=>le(t.open),children:e(u,{children:t(h,{children:[e(m,{children:ae.title}),e(f,{className:X.dialogContent,children:ae.text})]})})})]})};var E=r.memo(z);export{z as ListView,E as default};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import r,{useMemo as i,useState as l,useEffect as o}from"react";import{makeStyles as a,Checkbox as c,Select as s,Button as d,Dialog as p,DialogSurface as u,DialogBody as h,DialogTitle as m,DialogContent as f,Combobox as g,Option as x,Textarea as y,Input as b,Spinner as v,Tooltip as w}from"@fluentui/react-components";import{Edit24Regular as C,Delete24Regular as k,Attach24Regular as S}from"@fluentui/react-icons";import{CodicentService as N}from"../services/codicent.js";import W from"../hooks/useLocalization.js";import I from"./DataMessagePicker.js";const $=a({container:{width:"100%",overflowX:"auto",userSelect:"text"},table:{width:"100%",borderCollapse:"collapse",backgroundColor:"#ffffff",fontSize:"14px",tableLayout:"fixed",userSelect:"text"},th:{textAlign:"left",padding:"12px 8px",borderBottom:"2px solid #e0e0e0",fontWeight:"600",backgroundColor:"#f5f5f5",position:"sticky",top:0,zIndex:1,cursor:"pointer",userSelect:"none","&:hover":{backgroundColor:"#e8e8e8"}},td:{padding:"12px 8px",borderBottom:"1px solid #e0e0e0",verticalAlign:"top",wordWrap:"break-word",overflow:"hidden",userSelect:"text"},tdTruncated:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","@media (hover: none)":{cursor:"pointer"}},tdWrap:{whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"hidden",maxHeight:"6.5em",lineHeight:"1.4"},tr:{height:"57px","&:hover":{backgroundColor:"#f9f9f9"}},emptyState:{padding:"20px",textAlign:"center",color:"#666"},sortIndicator:{marginLeft:"4px",fontSize:"10px"},hideOnMobile:{"@media (max-width: 768px)":{display:"none"}},dialogContent:{wordWrap:"break-word",whiteSpace:"pre-wrap",maxHeight:"60vh",overflowY:"auto"},thumbnail:{maxWidth:"50px",maxHeight:"50px",objectFit:"cover"},tooltip:{maxWidth:"600px",whiteSpace:"normal",wordWrap:"break-word"},editButton:{minWidth:"auto",padding:"4px 8px"},actionsColumn:{width:"100px",textAlign:"center"},filterInput:{width:"100%",padding:"4px 8px",fontSize:"14px",border:"1px solid #e0e0e0",borderRadius:"4px",paddingRight:"28px"},filterSelect:{width:"100%",padding:"4px 8px",paddingRight:"8px",fontSize:"14px",border:"1px solid #c8c6c4",borderRadius:"4px",backgroundColor:"#fff",cursor:"pointer"},filterWrapper:{position:"relative"},clearFilterButton:{position:"absolute",right:"6px",top:"50%",transform:"translateY(-50%)",minWidth:"auto",height:"20px",padding:"0 6px",lineHeight:"18px"},filterToolbar:{display:"flex",justifyContent:"flex-end",padding:"8px",gap:"8px"},cellWithAction:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"4px"},actionIcon:{minWidth:"auto",padding:"2px",marginLeft:"4px",flexShrink:0,cursor:"pointer",opacity:.7,"&:hover":{opacity:1}},thumbnailRow:{display:"flex",gap:"4px",flexWrap:"wrap"},cellText:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},badge:{borderRadius:"12px",padding:"2px 8px",fontSize:"12px",fontWeight:"600",display:"inline-block",whiteSpace:"nowrap"},tdCompact:{paddingTop:"4px",paddingBottom:"4px"}}),A=(e,t,n)=>{if(t<1||t>12||n<1||n>31)return null;const r=new Date(e,t-1,n);return r.getFullYear()===e&&r.getMonth()===t-1&&r.getDate()===n?r.getTime():null},O=e=>{const t=e.trim();if(!t)return null;if(/^\d{4}-\d{2}-\d{2}/.test(t)){const e=new Date(t);if(!isNaN(e.getTime()))return e.getTime()}let n=t.match(/^(\d{4})[/.](\d{1,2})[/.](\d{1,2})/);if(n){const e=A(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10));if(null!==e)return e}if(n=t.match(/^(\d{1,2})[/.-](\d{1,2})[/.-](\d{4})/),n){const e=A(parseInt(n[3],10),parseInt(n[2],10),parseInt(n[1],10));if(null!==e)return e}if(n=t.match(/^(\d{4})(\d{2})(\d{2})$/),n){const e=A(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10));if(null!==e)return e}return null},F=e=>{const t=e.trim().replace(/[\s\u00a0]/g,"");if(""===t||"-"===t)return null;const n=(t.match(/,/g)||[]).length,r=(t.match(/\./g)||[]).length;let i;i=1===n&&0===r?/,\d{1,2}$/.test(t)?t.replace(/,\d+$/,"").replace(/[^0-9-]/g,""):t.replace(/,/g,""):1===r&&0===n?/\.\d{1,2}$/.test(t)?t.replace(/\.\d+$/,"").replace(/[^0-9-]/g,""):t.replace(/\./g,""):t.replace(/[,.]/g,"");const l=Number(i);return""!==i&&isFinite(l)?l:null},M=(e,t)=>{if("string"==typeof t)return e[t];for(const n of t)if(void 0!==e[n])return e[n]},R=e=>e.referenceLabelKey??`${Array.isArray(e.key)?e.key[0]:e.key}_label`,T=(e,t)=>{if("reference"===t.type){const n=M(e,R(t));if(null!=n&&""!==String(n))return n}return M(e,t.key)},L=new Set,j=a({img:{maxWidth:"40px",maxHeight:"40px",objectFit:"cover",borderRadius:"3px",display:"block"},fileIcon:{width:"24px",height:"24px",verticalAlign:"middle"}}),z=({fileId:t})=>{const[n,r]=l((()=>!L.has(t))),i=j();return e("a",{href:N.getFileUrl(t),target:"_blank",rel:"noopener noreferrer",children:n?e("img",{src:N.getImageUrl(t,40),alt:"",className:i.img,onError:()=>{L.add(t),r(!1)}}):e(S,{className:i.fileIcon})})},B=({value:t,options:n,optionsLoader:a,minChars:c=2,maxResults:s=50,columnKey:d,item:p,actualIndex:u,onEnumChange:h,label:m,t:f,isSaving:y})=>{const[b,v]=l(t),[w,C]=l([]),[k,S]=l(!1),N=r.useRef(null);o((()=>{v(t)}),[t]),o((()=>{y||v(t)}),[y,t]),o((()=>{if(a){if(!(b.length<c))return N.current&&clearTimeout(N.current),N.current=setTimeout((async()=>{S(!0);try{const e=await a(b);C(e.slice(0,s))}finally{S(!1)}}),250),()=>{N.current&&clearTimeout(N.current)};C([])}}),[b,a,c,s]);const W=i((()=>(n??[]).filter((e=>e.toLowerCase().includes(b.toLowerCase()))).slice(0,s)),[n,b,s]),I=a?w:W;return e(g,{value:b,freeform:!0,disabled:y,"aria-label":m,placeholder:y?f("Sparar..."):k?f("Loading..."):a&&b.length<c?f(`Type ${c}+ characters to search...`):void 0,onChange:e=>v(e.target.value),onOptionSelect:(e,t)=>{t.optionValue&&(v(t.optionValue),h&&h(p,d,t.optionValue,u))},onBlur:()=>{h&&h(p,d,b,u)},style:{width:"100%"},children:I.map((t=>e(x,{value:t,children:t},t)))})},D=({value:t,columnKey:n,item:r,actualIndex:i,multiline:a,rows:c,onValueChange:s,isSaving:d})=>{const[p,u]=l(t);o((()=>{u(t)}),[t]),o((()=>{d||u(t)}),[d,t]);const h=()=>{s&&p!==t&&s(r,n,p,i)};return a?e(y,{value:p,rows:c??3,resize:"vertical",disabled:d,onChange:e=>u(e.target.value),onBlur:h}):e(b,{value:p,disabled:d,contentAfter:d?e(v,{size:"tiny"}):void 0,onChange:e=>u(e.target.value),onBlur:h,onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()}})},K=({data:a,columns:g,canEdit:x,onEdit:y,onDelete:b,onToggleCheckbox:v,onEnumChange:S,onValueChange:A,onReferenceChange:L,service:j,onFilteredDataChange:K,onActiveFiltersChange:H,rowColor:E,compact:P,onAttachFile:_,selectable:V,selectedRowKeys:Y,onToggleRow:U,onToggleAll:q,savingRows:J,fillParent:X})=>{const G=$(),{visibleColumns:Q,defaultSortIndex:Z,defaultSortDirection:ee}=i((()=>{const e=a&&a.length>0?Array.from(new Set(a.flatMap((e=>Object.keys(e))))):[],t=(g||e.map((e=>({key:e})))).filter((e=>!e.hidden)),n=t.findIndex((e=>e.defaultSort));return{visibleColumns:t,defaultSortIndex:n,defaultSortDirection:n>=0&&t[n].defaultSort||null}}),[a,g]),[te,ne]=l(Z>=0?Z:null),[re,ie]=l(ee),[le,oe]=l(!1),[ae,ce]=l({title:"",text:""}),[se,de]=l({}),[pe,ue]=l(0),he=r.useRef(null),me=r.useRef(null),{t:fe}=W(),ge=P?36:57,[xe,ye]=l(null);o((()=>{const e=me.current;if(!e||"undefined"==typeof ResizeObserver)return;ye(e.clientHeight);const t=new ResizeObserver((()=>ye(e.clientHeight)));return t.observe(e),()=>t.disconnect()}),[]);const[be,ve]=l(null);o((()=>{ve(null)}),[P]),r.useLayoutEffect((()=>{const e=me.current;if(!e)return;const t=e.querySelectorAll("tr[data-lv-row]");if(0===t.length)return;let n=0;t.forEach((e=>{n+=e.getBoundingClientRect().height}));const r=n/t.length,i=be??ge;Math.abs(r-i)>1&&ve(r)}));r.useEffect((()=>()=>{null!==he.current&&cancelAnimationFrame(he.current)}),[]);const we=e=>e.title?fe(e.title):Array.isArray(e.key)?e.key[0]:e.key,Ce=e=>{const t=[];return e.hideOnMobile&&t.push(G.hideOnMobile),t.join(" ")},ke=(e,t)=>{de((n=>{const r={...n};return""===t.trim()?delete r[e]:r[e]=t,r}))},Se=e=>null==e||"string"==typeof e&&e.startsWith("[")&&e.endsWith("]")?"":"object"==typeof e?JSON.stringify(e):String(e),Ne=i((()=>{const e=[...a];if(null!==te&&re){const t=Q[te];e.sort(((e,n)=>{const r=M(e,t.key),i=M(n,t.key);if(null==r)return 1;if(null==i)return-1;let l=0;if("string"==typeof r&&"string"==typeof i){const e=O(r),t=O(i);if(null!==e&&null!==t)l=e-t;else{const e=F(r),t=F(i);l=null!==e&&null!==t?e-t:r.localeCompare(i)}}else if("number"==typeof r&&"number"==typeof i)l=r-i;else{const e=F(String(r)),t=F(String(i));l=null!==e&&null!==t?e-t:String(r).localeCompare(String(i))}return"asc"===re?l:-l}))}return e}),[a,te,re,Q]),We=i((()=>Ne.filter((e=>{for(const[t,n]of Object.entries(se)){const r=parseInt(t),i=Q[r],l=T(e,i),o=Se(l).toLowerCase(),a=n.toLowerCase();if(!("enum"===i.type&&i.enumOptions?o===a:o.includes(a)))return!1}return!0}))),[Ne,se,Q]);o((()=>{K&&K(We)}),[We,K]),o((()=>{H&&H(Object.keys(se).length>0)}),[se,H]);const Ie=be??ge,$e=xe??("undefined"!=typeof window?window.innerHeight-250:600),Ae=Math.max(0,Math.floor(pe/Ie)-5),Oe=Math.min(We.length,Math.ceil((pe+$e)/Ie)+5),Fe=We.slice(Ae,Oe),Me=We.length*Ie,Re=Ae*Ie,Te=(e,t)=>{if(void 0!==e.id)return String(e.id);if(void 0!==e._id)return String(e._id);if(void 0!==e.originalMessageId)return String(e.originalMessageId);return`row-${t}-${(e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)})(Q.slice(0,3).map((t=>String(M(e,t.key)??""))).join("-"))}`};if(!a||0===a.length)return e("div",{className:G.emptyState,children:fe("No data to display")});const Le=e=>String(e.originalMessageId??e._id??e.id??""),je=V&&a.length>0&&a.every((e=>Y?.has(Le(e)))),ze=V&&!je&&a.some((e=>Y?.has(Le(e)))),Be=Q.reduce(((e,t)=>e+(t.maxWidth??150)),0)+(V?36:0)+(x?100:0);return t(n,{children:[e("div",{ref:me,className:G.container,onScroll:e=>{const t=e.currentTarget.scrollTop;null!==he.current&&cancelAnimationFrame(he.current),he.current=requestAnimationFrame((()=>{ue(t),he.current=null}))},style:X?{flex:"1 1 auto",minHeight:0,maxHeight:"100%",overflowY:"auto"}:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},children:t("table",{className:G.table,style:{minWidth:`${Be}px`},children:[t("thead",{children:[t("tr",{children:[V&&e("th",{className:G.th,style:{width:"36px"},onClick:e=>e.stopPropagation(),children:e(c,{checked:!!je||!!ze&&"mixed",onChange:()=>q?.(a)})}),Q.map(((n,r)=>{const i=n.maxWidth?{width:`${n.maxWidth}px`,maxWidth:`${n.maxWidth}px`}:{width:"150px"};return t("th",{className:`${G.th} ${Ce(n)}`.trim(),style:i,onClick:()=>(e=>{te===e?"asc"===re?ie("desc"):"desc"===re&&(ne(null),ie(null)):(ne(e),ie("asc"))})(r),children:[we(n),te===r&&e("span",{className:G.sortIndicator,children:"asc"===re?"▲":"▼"})]},r)})),x&&e("th",{className:`${G.th} ${G.actionsColumn}`,style:{width:"100px"},children:fe("Actions")})]}),t("tr",{children:[V&&e("th",{style:{width:"36px"}}),Q.map(((r,i)=>{const l=r.maxWidth?{width:`${r.maxWidth}px`,maxWidth:`${r.maxWidth}px`}:{width:"150px"};return e("th",{className:Ce(r),style:l,children:r.filterable&&e("div",{className:G.filterWrapper,children:"enum"===r.type&&r.enumOptions?t(s,{className:G.filterSelect,value:se[i]||"",onChange:(e,t)=>ke(i,t.value),onClick:e=>e.stopPropagation(),children:[e("option",{value:"",children:fe("All")}),r.enumOptions.filter((e=>""!==e)).map((t=>e("option",{value:t,children:fe(t)},t)))]}):t(n,{children:[e("input",{type:"text",className:G.filterInput,placeholder:fe("Filter")+"...",value:se[i]||"",onChange:e=>ke(i,e.target.value),onClick:e=>e.stopPropagation()}),(se[i]||"").length>0&&e(d,{appearance:"subtle",className:G.clearFilterButton,onClick:e=>{e.stopPropagation(),(e=>{de((t=>{const n={...t};return delete n[e],n}))})(i)},children:"×"})]})})},i)})),x&&e("th",{className:G.actionsColumn})]})]}),t("tbody",{children:[Ae>0&&e("tr",{style:{height:`${Re}px`},children:e("td",{colSpan:Q.length+(x?1:0)+(V?1:0),style:{padding:0,border:"none"}})}),Fe.map(((n,r)=>{const i=n._index,l="number"==typeof i?i:Ae+r,o=J?.has(l)??!1;let a;if(E&&(a=E(n)),!a)for(const e of Q)if("row"===e.colorScope&&e.colorMap){const t=e.format?e.format(M(n,e.key)):Se(M(n,e.key));if(a=e.colorMap[t],a)break}return t("tr",{"data-lv-row":"",className:G.tr,style:{height:`${ge}px`,...a?{backgroundColor:a}:{}},children:[V&&e("td",{className:`${G.td} ${P?G.tdCompact:""}`.trim(),style:{width:"36px"},onClick:e=>e.stopPropagation(),children:e(c,{checked:Y?.has(Le(n))??!1,onChange:()=>U?.(Le(n),n)})}),Q.map(((r,i)=>{const a=M(n,r.key),p=Se(a);let u=r.format?r.format(a):p;"reference"===r.type&&(u=Se(M(n,R(r)))||u);const h="textarea"===r.type,m=r.maxWidth?`${G.td} ${h?G.tdWrap:G.tdTruncated} ${P?G.tdCompact:""} ${Ce(r)}`.trim():`${G.td} ${h?G.tdWrap:""} ${P?G.tdCompact:""} ${Ce(r)}`.trim(),f=r.colorFn?r.colorFn(a,n):r.colorMap&&"row"!==r.colorScope?r.colorMap[u]:void 0,g=()=>{window.matchMedia("(hover: hover)").matches||r.maxWidth&&u.length>0&&(ce({title:we(r),text:u}),oe(!0))};if("thumbnail"===r.type){const t=Array.isArray(a)?a:[];return e("td",{className:m,children:e("div",{className:G.thumbnailRow,children:t.map((t=>e(z,{fileId:t},t)))})},i)}if("file"===r.type)return e("td",u?{className:m,onClick:g,children:e("a",{href:N.getFileUrl(u),target:"_blank",rel:"noopener noreferrer",children:fe("Download")})}:_?{className:m,onClick:e=>e.stopPropagation(),children:t("label",{style:{color:"#0078d4",cursor:"pointer",textDecoration:"underline",fontSize:"13px"},title:fe("Attach file"),children:[fe("Attach"),e("input",{type:"file",style:{display:"none"},onChange:e=>{const t=Array.from(e.target.files||[]);t.length>0&&_(n,t),e.target.value=""}})]})}:{className:m,onClick:g,children:e("span",{style:{color:"#888"},title:fe("No file attached"),children:"—"})},i);if("checkbox"===r.type){return e("td",{className:m,children:e(c,{checked:!0===a||"true"===a||"yes"===a||"1"===a,disabled:o,onChange:(e,t)=>{v&&v(n,r.key,!0===t.checked,l)}})},i)}if("enum"===r.type&&r.enumOptions&&r.editable)return e("td",{className:m,style:f?{backgroundColor:f}:void 0,children:t(s,{value:u,disabled:o,"aria-label":r.title?fe(r.title):Array.isArray(r.key)?r.key[0]:r.key,onChange:(e,t)=>{S&&S(n,r.key,t.value,l)},style:{width:"100%",...f?{backgroundColor:f}:{}},children:[!r.enumOptions.includes(u)&&u&&e("option",{value:u,children:u}),r.enumOptions.map((t=>e("option",{value:t,children:fe(t)},t)))]})},i);if("reference"===r.type&&r.editable&&r.referenceTag&&j){const t=u,a=r.referenceDisplayKeys??[],c=r.referenceCascadeFromKey?Se(M(n,r.referenceCascadeFromKey)):"",s={...r.referenceFilters??{}};return r.referenceCascadeFilterField&&c&&(s[r.referenceCascadeFilterField]=c),e("td",{className:m,children:e(I,{service:j,tag:r.referenceTag,value:t,placeholder:r.title?fe(r.title):void 0,displayKeys:a,searchKeys:r.referenceSearchKeys??a,dataFilters:Object.keys(s).length>0?s:void 0,disabled:o,onSelect:e=>L?.(n,r.key,e,l)})},i)}if("combobox"===r.type&&r.editable&&(r.enumOptions||r.enumOptionsLoader))return e("td",{className:m,children:e(B,{value:u,options:r.enumOptions,optionsLoader:r.enumOptionsLoader,minChars:r.enumOptionsLoaderMinChars,maxResults:r.enumOptionsLoaderMaxResults,columnKey:r.key,item:n,actualIndex:l,onEnumChange:S,label:r.title?fe(r.title):Array.isArray(r.key)?r.key[0]:r.key,t:fe,isSaving:o})},i);if(r.editable)return e("td",{className:m,children:e(D,{value:p,columnKey:r.key,item:n,actualIndex:l,multiline:"textarea"===r.type,rows:r.rows,onValueChange:A,isSaving:o})},i);const x=()=>{if(r.badge&&r.colorMap){const t=r.colorMap[u];return e("span",{className:G.badge,style:t?{backgroundColor:t}:{backgroundColor:"#e0e0e0"},children:u})}return r.maxWidth&&u.length>0?e(w,{content:{children:u,style:{maxWidth:"600px",whiteSpace:"normal",fontSize:"14px"}},relationship:"description",children:e("span",{children:u})}):u},y=()=>{if(!r.action)return null;const t=r.action,i=r.action.icon,l=e(d,{appearance:"subtle",icon:e(i,{}),className:G.actionIcon,onClick:e=>{e.stopPropagation(),t.onClick(n)},size:"small"});return t.tooltip?e(w,{content:fe(t.tooltip),relationship:"label",children:l}):l};return e("td",{className:m,style:f?{backgroundColor:f}:void 0,onClick:g,children:r.action?t("div",{className:G.cellWithAction,children:[r.action.iconLeft&&y(),e("span",{className:G.cellText,children:x()}),!r.action.iconLeft&&y()]}):x()},i)})),x&&(y||b)&&e("td",{className:`${G.td} ${G.actionsColumn}`,children:t("div",{style:{display:"flex",gap:"4px",justifyContent:"center"},children:[y&&e(d,{appearance:"subtle",icon:e(C,{}),className:G.editButton,onClick:()=>y(n,l),title:fe("Edit")}),b&&e(d,{appearance:"subtle",icon:e(k,{}),className:G.editButton,onClick:()=>b(n,l),title:fe("Delete")})]})})]},Te(n,l))})),Oe<We.length&&e("tr",{style:{height:`${Math.max(0,Me-Re-Fe.length*Ie)}px`},children:e("td",{colSpan:Q.length+(x?1:0)+(V?1:0),style:{padding:0,border:"none"}})})]})]})}),e(p,{open:le,onOpenChange:(e,t)=>oe(t.open),children:e(u,{children:t(h,{children:[e(m,{children:ae.title}),e(f,{className:G.dialogContent,children:ae.text})]})})})]})};var H=r.memo(K);export{K as ListView,H as default};
@@ -0,0 +1 @@
1
+ function r(r,n){(null==n||n>r.length)&&(n=r.length);for(var t=0,e=Array(n);t<n;t++)e[t]=r[t];return e}export{r as default};
@@ -0,0 +1 @@
1
+ function r(r){if(Array.isArray(r))return r}export{r as default};
@@ -0,0 +1 @@
1
+ function a(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}export{a as default};
@@ -0,0 +1 @@
1
+ import e from"./toPropertyKey.js";function r(r,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,e(n.key),n)}}function t(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}export{t as default};
@@ -0,0 +1 @@
1
+ import e from"./toPropertyKey.js";function r(r,t,o){return(t=e(t))in r?Object.defineProperty(r,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[t]=o,r}export{r as default};
@@ -0,0 +1 @@
1
+ function l(l,r){var t=null==l?null:"undefined"!=typeof Symbol&&l[Symbol.iterator]||l["@@iterator"];if(null!=t){var e,n,u,a,f=[],i=!0,o=!1;try{if(u=(t=t.call(l)).next,0===r){if(Object(t)!==t)return;i=!1}else for(;!(i=(e=u.call(t)).done)&&(f.push(e.value),f.length!==r);i=!0);}catch(l){o=!0,n=l}finally{try{if(!i&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(o)throw n}}return f}}export{l as default};
@@ -0,0 +1 @@
1
+ function t(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./arrayWithHoles.js";import o from"./iterableToArrayLimit.js";import t from"./unsupportedIterableToArray.js";import e from"./nonIterableRest.js";function a(a,i){return r(a)||o(a,i)||t(a,i)||e()}export{a as default};
@@ -0,0 +1 @@
1
+ import r from"./typeof.js";function t(t,e){if("object"!=r(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}export{t as default};
@@ -0,0 +1 @@
1
+ import r from"./typeof.js";import t from"./toPrimitive.js";function o(o){var i=t(o,"string");return"symbol"==r(i)?i:i+""}export{o as default};
@@ -0,0 +1 @@
1
+ function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},o(t)}export{o as default};
@@ -0,0 +1 @@
1
+ import r from"./arrayLikeToArray.js";function t(t,e){if(t){if("string"==typeof t)return r(t,e);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?r(t,e):void 0}}export{t as default};
@@ -0,0 +1 @@
1
+ import{__styles as f}from"../../../../../@griffel/react/__styles.esm.js";const t=f({root:{qhf8xq:"f1euv43f",Bhzewxz:"f15twtuk",oyh7mz:["f1vgc2s3","f1e31b4d"],j35jbq:["f1e31b4d","f1vgc2s3"],Bj3rh1h:"f494woh"}},{d:[".f1euv43f{position:absolute;}",".f15twtuk{top:0;}",".f1vgc2s3{left:0;}",".f1e31b4d{right:0;}",".f494woh{z-index:1000000;}"]});export{t as usePortalMountNodeStylesStyles};
@@ -0,0 +1 @@
1
+ import{DEBUG_RESET_CLASSES as r}from"./constants.esm.js";import{insertionFactory as n}from"./insertionFactory.esm.js";function o(o,t,s,e=n){const i=e();return function(n){const{dir:e,renderer:c}=n,m="ltr"===e?o:t||o;return i(c,Array.isArray(s)?{r:s}:s),"production"!==process.env.NODE_ENV&&(r[m]=1),m}}export{o as __resetStyles};
@@ -0,0 +1 @@
1
+ import{debugData as o}from"./devtools/store.esm.js";import{isDevToolsEnabled as r}from"./devtools/isDevToolsEnabled.esm.js";import{getSourceURLfromError as e}from"./devtools/getSourceURLfromError.esm.js";import{insertionFactory as s}from"./insertionFactory.esm.js";import{reduceToClassNameForSlots as t}from"./runtime/reduceToClassNameForSlots.esm.js";function n(n,l,m=s){const i=m();let u,c=null,d=null;return"production"!==process.env.NODE_ENV&&r&&(u=e()),function(e){const{dir:s,renderer:m}=e,p="ltr"===s;p?null===c&&(c=t(n,s)):null===d&&(d=t(n,s)),i(m,l);const f=p?c:d;return"production"!==process.env.NODE_ENV&&r&&o.addSequenceDetails(f,u),f}}export{n as __styles};
@@ -0,0 +1 @@
1
+ const o="undefined"==typeof window?global:window,r="@griffel/";function t(t,e){return o[Symbol.for(r+t)]||(o[Symbol.for(r+t)]=e),o[Symbol.for(r+t)]}const e=t("DEBUG_RESET_CLASSES",{}),n=t("DEFINITION_LOOKUP_TABLE",{}),_="data-make-styles-bucket",f="data-priority",i="r",E=7,d="___",l="_",S="production"===process.env.NODE_ENV?10:18,a=0,c=1;export{_ as DATA_BUCKET_ATTR,f as DATA_PRIORITY_ATTR,e as DEBUG_RESET_CLASSES,l as DEBUG_SEQUENCE_SEPARATOR,n as DEFINITION_LOOKUP_TABLE,a as LOOKUP_DEFINITIONS_INDEX,c as LOOKUP_DIR_INDEX,i as RESET_HASH_PREFIX,E as SEQUENCE_HASH_LENGTH,d as SEQUENCE_PREFIX,S as SEQUENCE_SIZE};
@@ -0,0 +1 @@
1
+ import{DEFINITION_LOOKUP_TABLE as e}from"../constants.esm.js";import{debugData as s}from"./store.esm.js";import{getDebugClassNames as n}from"./utils.esm.js";function o(r,t){const c=e[r];if(void 0===c)return;const l=t?e[t.sequenceHash]:void 0,u=n(c,l,null==t?void 0:t.debugClassNames,null==t?void 0:t.children),i={sequenceHash:r,direction:c[1],children:[],debugClassNames:u};return s.getChildrenSequences(i.sequenceHash).reverse().forEach((e=>{const s=o(e,i);s&&i.children.push(s)})),i.children.length||(i.rules={},i.debugClassNames.forEach((({className:e})=>{const n=s.getSequenceDetails(r);n&&(i.slot=n.slotName,i.sourceURL=n.sourceURL);const o=s.getCSSRules().find((s=>s.includes(e)));i.rules[e]=o}))),i}export{o as getAtomicDebugSequenceTree};
@@ -0,0 +1 @@
1
+ import{DEBUG_RESET_CLASSES as e}from"../constants.esm.js";import{debugData as s}from"./store.esm.js";function t(t){if(void 0===e[t])return;const r={sequenceHash:t,direction:"ltr",children:[],debugClassNames:[{className:t}],rules:{},slot:"makeResetStyles()"},[{className:l}]=r.debugClassNames,o=s.getCSSRules().filter((e=>e.includes(`.${l}`)));return r.rules[l]=o.join(""),r}export{t as getResetDebugSequence};
@@ -0,0 +1 @@
1
+ import{parseStackTraceLine as r}from"./react-render-tracker/stackTrace.esm.js";function t(){const t=function(r){for(let t=r.length-1;t>=0;--t)if(r[t].includes("at getSourceURLfromError"))return r[t+3];return}(String((new Error).stack).split("\n"));if(void 0===t)return;const e=r(t);return null==e?void 0:e.loc}export{t as getSourceURLfromError};
@@ -0,0 +1 @@
1
+ import{SEQUENCE_PREFIX as e,DEBUG_RESET_CLASSES as t}from"../constants.esm.js";import{mergeDebugSequence as r}from"./mergeDebugSequence.esm.js";function o(o){const n=o.defaultView;if(!n||n.__GRIFFEL_DEVTOOLS__)return;const s={getInfo:o=>{let n,s;for(const r of o.classList)r.startsWith(e)&&(n=r),t[r]&&(s=r);return r(n,s)}};Object.defineProperty(n,"__GRIFFEL_DEVTOOLS__",{configurable:!1,enumerable:!1,get:()=>s})}export{o as injectDevTools};
@@ -0,0 +1 @@
1
+ const e=(()=>{var e;try{return Boolean("undefined"!=typeof window&&(null===(e=window.sessionStorage)||void 0===e?void 0:e.getItem("__GRIFFEL_DEVTOOLS__")))}catch(e){return!1}})();export{e as isDevToolsEnabled};
@@ -0,0 +1 @@
1
+ import{getAtomicDebugSequenceTree as e}from"./getAtomicDebugSequenceTree.esm.js";import{getResetDebugSequence as s}from"./getResetDebugSequence.esm.js";function r(r,n){const t=r?e(r):void 0,u=n?s(n):void 0;if(!t&&!u)return;if(!t)return u;if(!u)return t;return{sequenceHash:t.sequenceHash+u.sequenceHash,direction:t.direction,children:[t,u],debugClassNames:[...t.debugClassNames,...u.debugClassNames]}}export{r as mergeDebugSequence};
@@ -0,0 +1 @@
1
+ const e="<unknown>";function n(n){return function(n){const c=t.exec(n)||l.exec(n);if(!c)return null;let i=c[2];const s=i&&0===i.indexOf("native"),a=i&&0===i.indexOf("eval"),u=o.exec(i);a&&null!=u&&(i=u[1]);return{loc:s?null:c[2],name:c[1]||e}}(n)||function(n){const t=c.exec(n);if(!t)return null;let l=t[3];const o=l&&l.indexOf(" > eval")>-1,s=i.exec(l);o&&null!=s&&(l=s[1]);return{loc:t[3],name:t[1]||e}}(n)||function(n){const t=s.exec(n);if(!t)return null;return{loc:t[3],name:t[1]||e}}(n)}const t=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)?\)?\s*$/i,l=/^\s*at ()((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)\s*$/i,o=/\((\S*)\)/;const c=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)\s*$/i,i=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;const s=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?)\s*$/i;export{n as parseStackTraceLine};
@@ -0,0 +1 @@
1
+ import{SEQUENCE_PREFIX as e,SEQUENCE_SIZE as t}from"../constants.esm.js";import{mergeClassesCachedResults as s}from"../mergeClasses.esm.js";const r={},n=new Set,a={getChildrenSequences:t=>{const r=Object.keys(s).find((e=>s[e].startsWith(t)));return r?r.split(e).filter((e=>e.length)).map((t=>e+t)):[]},addCSSRule:e=>{n.add(e)},addSequenceDetails:(e,s)=>{Object.entries(e).forEach((([e,n])=>{r[n.substring(0,t)]={slotName:e,sourceURL:s}}))},getCSSRules:()=>Array.from(n),getSequenceDetails:e=>r[e]};export{a as debugData};
@@ -0,0 +1 @@
1
+ function e(e,r){return Array.isArray(e)?"rtl"===r?e[1]:e[0]:e||""}function r(r,s,t,n){const i=r[0],a=r[1];return Object.entries(i).map((([r,i])=>{const l=e(i,a);let c;if(t&&s){const i=t.find((({className:e})=>e===l));if(!i&&s[0][r])c=e(s[0][r],s[1]);else if(i&&s[0][r]){c=!!n&&n.filter((({debugClassNames:e})=>e.filter((({className:e})=>e===l)).length>0)).length>0?i.className:i.overriddenBy}else i||s[0][r]?i&&!s[0][r]&&(c=void 0):c=void 0}return{className:l,overriddenBy:c}}))}export{r as getDebugClassNames};
@@ -0,0 +1 @@
1
+ const n=()=>{const n={};return function(t,i){void 0===n[t.id]&&(t.insertCSSRules(i),n[t.id]=!0)}};export{n as insertionFactory};
@@ -0,0 +1 @@
1
+ import{SEQUENCE_PREFIX as s,RESET_HASH_PREFIX as e,DEBUG_RESET_CLASSES as t,SEQUENCE_SIZE as r,DEFINITION_LOOKUP_TABLE as n,LOOKUP_DEFINITIONS_INDEX as o,LOOKUP_DIR_INDEX as i}from"./constants.esm.js";import{hashSequence as a}from"./runtime/utils/hashSequence.esm.js";import{reduceToClassName as c}from"./runtime/reduceToClassNameForSlots.esm.js";const l={};function p(){let p=null,d="",m="";const u=new Array(arguments.length);let f="";for(let n=0;n<arguments.length;n++){const o=arguments[n];if("string"==typeof o&&""!==o){const i=o.indexOf(s);if(-1===i)"production"!==process.env.NODE_ENV&&o.split(" ").forEach((s=>{s.startsWith(e)&&t[s]&&(f?console.error(`mergeClasses(): a passed string contains multiple classes produced by makeResetStyles (${o} & ${d}, this will lead to non-deterministic behavior. Learn more:https://griffel.js.org/react/api/make-reset-styles#limitations\nSource string: ${o}`):f=s)})),d+=o+" ";else{const s=o.substr(i,r);i>0&&(d+=o.slice(0,i)),m+=s,u[n]=s}"production"!==process.env.NODE_ENV&&-1!==o.indexOf(s,i+1)&&console.error(`mergeClasses(): a passed string contains multiple identifiers of atomic classes (classes that start with "${s}"), it's possible that passed classes were concatenated in a wrong way. Source string: ${o}`)}}if(""===m)return d.slice(0,-1);const h=l[m];if(void 0!==h)return d+h;const g=[];for(let s=0;s<arguments.length;s++){const e=u[s];if(e){const t=n[e];t?(g.push(t[o]),"production"!==process.env.NODE_ENV&&null!==p&&p!==t[i]&&console.error(`mergeClasses(): a passed string contains an identifier (${e}) that has different direction (dir="${t[1]?"rtl":"ltr"}") setting than other classes. This is not supported. Source string: ${arguments[s]}`),p=t[i]):"production"!==process.env.NODE_ENV&&console.error(`mergeClasses(): a passed string contains an identifier (${e}) that does not match any entry in cache. Source string: ${arguments[s]}`)}}const $=Object.assign.apply(Object,[{}].concat(g)),[y,E]=c($,p),N=a(E,p,u),O=N+" "+y;return l[m]=O,n[N]=[$,p],d+O}export{p as mergeClasses,l as mergeClassesCachedResults};
@@ -0,0 +1 @@
1
+ import{injectDevTools as e}from"../devtools/injectDevTools.esm.js";import{isDevToolsEnabled as t}from"../devtools/isDevToolsEnabled.esm.js";import{debugData as s}from"../devtools/store.esm.js";import{normalizeCSSBucketEntry as o}from"../runtime/utils/normalizeCSSBucketEntry.esm.js";import{getStyleSheetForBucket as r}from"./getStyleSheetForBucket.esm.js";import{safeInsertRule as n}from"./safeInsertRule.esm.js";let i=0;const l=(e,t)=>e<t?-1:e>t?1:0;function m(m=("undefined"==typeof document?void 0:document),c={}){const{classNameHashSalt:u,unstable_filterCSSRule:a,insertionPoint:d,styleElementAttributes:f,compareMediaQueries:p=l}=c,S={classNameHashSalt:u,insertionCache:{},stylesheets:{},styleElementAttributes:Object.freeze(f),compareMediaQueries:p,id:"d"+i++,insertCSSRules(e){for(const i in e){const l=e[i];for(let e=0,c=l.length;e<c;e++){const[c,u]=o(l[e]),f=r(i,m,d||null,S,u);S.insertionCache[c]||(S.insertionCache[c]=i,"production"!==process.env.NODE_ENV&&t&&s.addCSSRule(c),a?a(c)&&n(f,c):n(f,c))}}}};return m&&"production"!==process.env.NODE_ENV&&t&&e(m),S}export{m as createDOMRenderer,l as defaultCompareMediaQueries};
@@ -0,0 +1 @@
1
+ import{DATA_BUCKET_ATTR as e,DATA_PRIORITY_ATTR as t}from"../constants.esm.js";function s(s,n,r,u){const i=[];if(u[e]=n,u[t]=String(r),s)for(const e in u)s.setAttribute(e,u[e]);return{elementAttributes:u,insertRule:function(e){return(null==s?void 0:s.sheet)?s.sheet.insertRule(e,s.sheet.cssRules.length):i.push(e)},element:s,bucketName:n,cssRules:()=>(null==s?void 0:s.sheet)?Array.from(s.sheet.cssRules).map((e=>e.cssText)):i}}export{s as createIsomorphicStyleSheet};
@@ -0,0 +1 @@
1
+ import{DATA_BUCKET_ATTR as e}from"../constants.esm.js";import{createIsomorphicStyleSheet as t}from"./createIsomorphicStyleSheet.esm.js";const n=["r","d","l","v","w","f","i","h","a","s","k","t","m","c"],r=n.reduce(((e,t,n)=>(e[t]=n,e)),{});function i(e,t,n){return("m"===e?e+t:e)+n}function l(n,l,o,s,u={}){var m,c;const a="m"===n,d=null!==(m=u.m)&&void 0!==m?m:"0",f=null!==(c=u.p)&&void 0!==c?c:0,h=i(n,d,f);if(!s.stylesheets[h]){const i=l&&l.createElement("style"),m=t(i,n,f,Object.assign({},s.styleElementAttributes,a&&{media:d}));s.stylesheets[h]=m,l&&i&&l.head.insertBefore(i,function(t,n,i,l,o={}){var s,u;const m=r[i],c=null!==(s=o.m)&&void 0!==s?s:"",a=null!==(u=o.p)&&void 0!==u?u:0;let d=t=>m-r[t.getAttribute(e)],f=t.head.querySelectorAll(`[${e}]`);if("m"===i){const n=t.head.querySelectorAll(`[${e}="${i}"]`);n.length&&(f=n,d=e=>l.compareMediaQueries(c,e.media))}const h=t=>function(t,n,r){var i,l;const o=n+(null!==(i=r.m)&&void 0!==i?i:""),s=t.getAttribute(e)+(null!==(l=t.media)&&void 0!==l?l:"");return o===s}(t,i,o)?a-Number(t.getAttribute("data-priority")):d(t),v=f.length;let y=v-1;for(;y>=0;){const e=f.item(y);if(h(e)>0)return e.nextSibling;y--}if(v>0)return f.item(0);return n?n.nextSibling:null}(l,o,n,s,u))}return s.stylesheets[h]}export{l as getStyleSheetForBucket,i as getStyleSheetKey,n as styleBucketOrdering};
@@ -0,0 +1 @@
1
+ const e=new RegExp(`:(${["-moz-placeholder","-moz-focus-inner","-moz-focusring","-ms-input-placeholder","-moz-read-write","-moz-read-only"].join("|")})`);function o(o,r){try{o.insertRule(r)}catch(o){"production"===process.env.NODE_ENV||e.test(r)||console.error(`There was a problem inserting the following rule: "${r}"`,o)}}export{o as safeInsertRule};
@@ -0,0 +1 @@
1
+ import{DEFINITION_LOOKUP_TABLE as n}from"../constants.esm.js";import{hashSequence as t}from"./utils/hashSequence.esm.js";function o(n,t){let o="",s="";for(const r in n){const c=n[r];if(0===c){s+=r+" ";continue}const i=Array.isArray(c),e="rtl"===t?(i?c[1]:c)+" ":(i?c[0]:c)+" ";o+=e,s+=e}return[o.slice(0,-1),s.slice(0,-1)]}function s(s,r){const c={};for(const i in s){const[e,f]=o(s[i],r);if(""===f){c[i]="";continue}const u=t(f,r),m=u+(""===e?"":" "+e);n[u]=[s[i],r],c[i]=m}return c}export{o as reduceToClassName,s as reduceToClassNameForSlots};
@@ -0,0 +1 @@
1
+ import o from"../../../../@emotion/hash/dist/emotion-hash.esm.js";import{SEQUENCE_PREFIX as t,DEBUG_SEQUENCE_SEPARATOR as n,SEQUENCE_HASH_LENGTH as r}from"../../constants.esm.js";function e(o){const t=o.length;if(t===r)return o;for(let n=t;n<r;n++)o+="0";return o}function s(r,s,i=[]){return"production"===process.env.NODE_ENV?t+e(o(r+s)):t+e(o(r+s))+n+e(o(i.join("")))}export{s as hashSequence};
@@ -0,0 +1 @@
1
+ function r(r){if(!Array.isArray(r))return[r];if("production"!==process.env.NODE_ENV&&r.length>2)throw new Error("CSS Bucket contains an entry with greater than 2 items, please report this to https://github.com/microsoft/griffel/issues");return r}export{r as normalizeCSSBucketEntry};
@@ -0,0 +1 @@
1
+ import*as e from"react";import{createDOMRenderer as r}from"../core/renderer/createDOMRenderer.esm.js";const t=e.createContext(r());function o(){return e.useContext(t)}export{o as useRenderer};
@@ -0,0 +1 @@
1
+ import*as t from"react";const e=t.createContext("ltr");function r(){return t.useContext(e)}export{r as useTextDirection};
@@ -0,0 +1 @@
1
+ import{insertionFactory as e}from"./insertionFactory.esm.js";import{useRenderer as r}from"./RendererContext.esm.js";import{useTextDirection as t}from"./TextDirectionContext.esm.js";import{__resetStyles as o}from"../core/__resetStyles.esm.js";function s(s,n,m){const i=o(s,n,m,e);return function(){const e=t(),o=r();return i({dir:e,renderer:o})}}export{s as __resetStyles};
@@ -0,0 +1 @@
1
+ import{insertionFactory as r}from"./insertionFactory.esm.js";import{useRenderer as e}from"./RendererContext.esm.js";import{useTextDirection as t}from"./TextDirectionContext.esm.js";import{__styles as o}from"../core/__styles.esm.js";function s(s,n){const m=o(s,n,r);return function(){const r=t(),o=e();return m({dir:r,renderer:o})}}export{s as __styles};
@@ -0,0 +1 @@
1
+ import{canUseDOM as s}from"./utils/canUseDOM.esm.js";import{useInsertionEffect as e}from"./useInsertionEffect.esm.js";const t=()=>{const t={};return function(i,n){e&&s()?e((()=>{i.insertCSSRules(n)}),[i,n]):void 0===t[i.id]&&(i.insertCSSRules(n),t[i.id]=!0)}};export{t as insertionFactory};
@@ -0,0 +1 @@
1
+ import*as e from"react";const t=e.useInsertionEffect?e.useInsertionEffect:void 0;export{t as useInsertionEffect};
@@ -0,0 +1 @@
1
+ function e(){return"undefined"!=typeof window&&!(!window.document||!window.document.createElement)}export{e as canUseDOM};