{"version":3,"file":"InsuranceButtons.Bmat9ING.mjs","names":["FONT_STACK","_Fragment","React.useState","React.useRef","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/xFJGWtpaR8U5x8p7e1Ig/l76tg1QirWYp96uKTqls/RoleBasedButton.js","https:/framerusercontent.com/modules/RbXa6Hc2DdAGK9vMvzAm/tROtGeg8Ml0mYqmcHM4C/InsuranceButtons.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{canPerformAction,getActionText,getTooltipText}from\"https://framerusercontent.com/modules/kI0FWGqMsJIk4gZTX9cu/2Z9R9c1si3hWj0yYUgKz/Rbac.js\";import{colors}from\"https://framerusercontent.com/modules/GVZgiQ9lvsxEAmOpg9Y5/vafMkKjiSzjdLMAjg5Sx/Theme.js\";// Enhanced font stack\nconst FONT_STACK=\"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\";export function RoleBasedButton({userInfo,permission,onClick,children,behavior=\"disable\",resourceOrganization,fallbackAction,variant=\"primary\",size=\"medium\",disabled=false,loading=false,icon,actionName=\"perform this action\",unauthorizedText,tooltip,className=\"\",style={},title,id}){// Check permissions\nconst hasAccess=canPerformAction(userInfo,permission,resourceOrganization);const isDisabled=disabled||loading||!hasAccess&&behavior!==\"request\";// Determine button text and behavior\nconst getButtonContent=()=>{if(loading){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"14px\",height:\"14px\",border:\"2px solid transparent\",borderTop:\"2px solid currentColor\",borderRadius:\"50%\",animation:\"spin 1s linear infinite\"}}),\"Laden...\"]});}if(!hasAccess&&behavior===\"request\"){return unauthorizedText||getActionText(actionName,userInfo?.role||\"user\",false);}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\"},children:[icon&&icon,children]});};// Get tooltip text\nconst getTooltip=()=>{if(tooltip)return tooltip;if(title)return title;if(!hasAccess){return getTooltipText(actionName,userInfo?.role||\"user\",hasAccess);}return undefined;};// Handle click\nconst handleClick=()=>{if(isDisabled)return;if(!hasAccess&&behavior===\"request\"&&fallbackAction){fallbackAction();}else if(hasAccess){onClick();}};// Don't render if behavior is \"hide\" and user lacks access\nif(!hasAccess&&behavior===\"hide\"){return null;}// Get button styles\nconst getButtonStyles=()=>{const baseStyles={fontFamily:FONT_STACK,border:\"none\",borderRadius:\"8px\",cursor:isDisabled?\"not-allowed\":\"pointer\",transition:\"all 0.2s ease\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",fontWeight:\"600\",position:\"relative\",outline:\"none\",userSelect:\"none\",...style};// Size styles\nconst sizeStyles={small:{padding:\"6px 12px\",fontSize:\"12px\",minHeight:\"28px\"},medium:{padding:\"10px 16px\",fontSize:\"14px\",minHeight:\"36px\"},large:{padding:\"12px 24px\",fontSize:\"16px\",minHeight:\"44px\"}};// Variant styles\nconst variantStyles={primary:{backgroundColor:isDisabled?\"#9ca3af\":\"#10b981\",color:\"#ffffff\",boxShadow:isDisabled?\"none\":\"0 2px 4px rgba(16, 185, 129, 0.2)\"},secondary:{backgroundColor:isDisabled?\"#f3f4f6\":\"#f9fafb\",color:isDisabled?\"#9ca3af\":\"#374151\",border:`1px solid ${isDisabled?\"#d1d5db\":\"#d1d5db\"}`},danger:{backgroundColor:isDisabled?\"#9ca3af\":\"#dc2626\",color:\"#ffffff\",boxShadow:isDisabled?\"none\":\"0 2px 4px rgba(220, 38, 38, 0.2)\"},success:{backgroundColor:isDisabled?\"#9ca3af\":\"#10b981\",color:\"#ffffff\",boxShadow:isDisabled?\"none\":\"0 2px 4px rgba(16, 185, 129, 0.3)\"},blue:{backgroundColor:isDisabled?\"#9ca3af\":\"#3b82f6\",color:\"#ffffff\",boxShadow:isDisabled?\"none\":\"0 2px 4px rgba(59, 130, 246, 0.2)\"},create:{backgroundColor:isDisabled?\"#9ca3af\":colors.actionCreate,color:\"#ffffff\",boxShadow:isDisabled?\"none\":`0 2px 4px ${colors.actionCreate}40`},edit:{backgroundColor:isDisabled?\"#9ca3af\":colors.actionEdit,color:\"#ffffff\",boxShadow:isDisabled?\"none\":`0 2px 4px ${colors.actionEdit}40`},delete:{backgroundColor:isDisabled?\"#9ca3af\":colors.actionDelete,color:\"#ffffff\",boxShadow:isDisabled?\"none\":`0 2px 4px ${colors.actionDelete}40`}};return{...baseStyles,...sizeStyles[size],...variantStyles[variant],opacity:isDisabled?.6:1};};// Hover effects\nconst handleMouseEnter=e=>{if(isDisabled)return;const button=e.target;if(variant===\"primary\"){button.style.backgroundColor=\"#059669\";button.style.transform=\"translateY(-1px)\";button.style.boxShadow=\"0 4px 8px rgba(16, 185, 129, 0.3)\";}else if(variant===\"secondary\"){button.style.backgroundColor=\"#f3f4f6\";}else if(variant===\"danger\"){button.style.backgroundColor=\"#b91c1c\";button.style.transform=\"translateY(-1px)\";}else if(variant===\"success\"){button.style.backgroundColor=\"#10b981dd\";button.style.transform=\"translateY(-1px)\";button.style.boxShadow=\"0 4px 8px rgba(16, 185, 129, 0.4)\";}else if(variant===\"blue\"){button.style.backgroundColor=\"#2563eb\";button.style.transform=\"translateY(-1px)\";button.style.boxShadow=\"0 4px 8px rgba(59, 130, 246, 0.3)\";}else if(variant===\"create\"){button.style.backgroundColor=colors.actionCreateHover;button.style.transform=\"translateY(-1px)\";button.style.boxShadow=`0 4px 8px ${colors.actionCreate}60`;}else if(variant===\"edit\"){button.style.backgroundColor=colors.actionEditHover;button.style.transform=\"translateY(-1px)\";button.style.boxShadow=`0 4px 8px ${colors.actionEdit}60`;}else if(variant===\"delete\"){button.style.backgroundColor=colors.actionDeleteHover;button.style.transform=\"translateY(-1px)\";button.style.boxShadow=`0 4px 8px ${colors.actionDelete}60`;}};const handleMouseLeave=e=>{if(isDisabled)return;const button=e.target;if(variant===\"primary\"){button.style.backgroundColor=\"#10b981\";button.style.transform=\"translateY(0)\";button.style.boxShadow=\"0 2px 4px rgba(16, 185, 129, 0.2)\";}else if(variant===\"secondary\"){button.style.backgroundColor=\"#f9fafb\";}else if(variant===\"danger\"){button.style.backgroundColor=\"#dc2626\";button.style.transform=\"translateY(0)\";}else if(variant===\"success\"){button.style.backgroundColor=\"#10b981\";button.style.transform=\"translateY(0)\";button.style.boxShadow=\"0 2px 4px rgba(16, 185, 129, 0.3)\";}else if(variant===\"blue\"){button.style.backgroundColor=\"#3b82f6\";button.style.transform=\"translateY(0)\";button.style.boxShadow=\"0 2px 4px rgba(59, 130, 246, 0.2)\";}else if(variant===\"create\"){button.style.backgroundColor=colors.actionCreate;button.style.transform=\"translateY(0)\";button.style.boxShadow=`0 2px 4px ${colors.actionCreate}40`;}else if(variant===\"edit\"){button.style.backgroundColor=colors.actionEdit;button.style.transform=\"translateY(0)\";button.style.boxShadow=`0 2px 4px ${colors.actionEdit}40`;}else if(variant===\"delete\"){button.style.backgroundColor=colors.actionDelete;button.style.transform=\"translateY(0)\";button.style.boxShadow=`0 2px 4px ${colors.actionDelete}40`;}};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes spin {\n                    0% { transform: rotate(0deg); }\n                    100% { transform: rotate(360deg); }\n                }\n            `}),/*#__PURE__*/_jsx(\"button\",{id:id,className:className,style:getButtonStyles(),onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,disabled:isDisabled,title:getTooltip(),\"aria-disabled\":isDisabled,role:\"button\",children:getButtonContent()})]});}// Convenience components for common use cases\nexport function CreateButton(props){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,permission:\"POLICY_CREATE\",variant:\"primary\",actionName:\"Aanmaken\"});}export function EditButton(props){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,permission:\"POLICY_EDIT\",variant:\"secondary\",actionName:\"Bewerken\"});}export function DeleteButton(props){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,permission:\"POLICY_DELETE\",variant:\"danger\",actionName:\"Verwijderen\",behavior:\"hide\"// Hide delete buttons for unauthorized users\n});}\nexport const __FramerMetadata__ = {\"exports\":{\"RoleBasedButton\":{\"type\":\"reactComponent\",\"name\":\"RoleBasedButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ButtonBehavior\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DeleteButton\":{\"type\":\"reactComponent\",\"name\":\"DeleteButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoleBasedButtonProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CreateButton\":{\"type\":\"reactComponent\",\"name\":\"CreateButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ButtonVariant\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ButtonSize\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EditButton\":{\"type\":\"reactComponent\",\"name\":\"EditButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import*as ReactDOM from\"react-dom\";import{FaPlus,FaEdit,FaTrashAlt,FaBuilding,FaCheck,FaEye,FaEllipsisV}from\"react-icons/fa\";import{RoleBasedButton}from\"https://framerusercontent.com/modules/xFJGWtpaR8U5x8p7e1Ig/l76tg1QirWYp96uKTqls/RoleBasedButton.js\";import{canManageOrganizations,canManageUsers,canManagePolicies,canPerformAction}from\"https://framerusercontent.com/modules/kI0FWGqMsJIk4gZTX9cu/2Z9R9c1si3hWj0yYUgKz/Rbac.js\";import{colors,styles,hover,FONT_STACK}from\"https://framerusercontent.com/modules/GVZgiQ9lvsxEAmOpg9Y5/vafMkKjiSzjdLMAjg5Sx/Theme.js\";// Policy Management Buttons\nexport function NewPolicyButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"POLICY_CREATE\",onClick:onClick,variant:\"create\",actionName:\"Polis Aanmaken\",icon:/*#__PURE__*/_jsx(FaPlus,{size:14}),behavior:\"hide\",fallbackAction:()=>{// For users without create permission, show contact broker message\nalert(\"Om een nieuwe polis aan te maken, neem contact op met je verzekeringsmakelaar.\");},children:children||(userInfo?.role===\"admin\"?\"Nieuwe Polis\":userInfo?.role===\"editor\"?\"Nieuwe Polis\":\"Nieuwe Polis Aanvragen\")});}export function EditPolicyButton({userInfo,onClick,resourceOrganization,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"POLICY_EDIT\",onClick:onClick,resourceOrganization:resourceOrganization,variant:\"edit\",size:\"small\",actionName:\"Polis Bewerken\",icon:/*#__PURE__*/_jsx(FaEdit,{size:12}),behavior:\"hide\",children:children||\"Bewerken\"});}export function DeletePolicyButton({userInfo,onClick,resourceOrganization,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"POLICY_DELETE\",onClick:onClick,resourceOrganization:resourceOrganization,variant:\"delete\",size:\"small\",actionName:\"Polis Verwijderen\",icon:/*#__PURE__*/_jsx(FaTrashAlt,{size:12}),behavior:\"hide\"// Hide delete button for unauthorized users - too destructive\n,children:children||\"Verwijderen\"});}export function ApprovePolicyButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"POLICY_APPROVE\",onClick:onClick,variant:\"success\",size:\"small\",actionName:\"Polis Goedkeuren\",icon:/*#__PURE__*/_jsx(FaCheck,{size:12}),behavior:\"hide\"// Only show to authorized users\n,children:children||\"Goedkeuren\"});}// Organization Management Buttons\nexport function NewOrganizationButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"ORG_CREATE\",onClick:onClick,variant:\"create\",actionName:\"Organisatie Aanmaken\",icon:/*#__PURE__*/_jsx(FaBuilding,{size:14}),behavior:\"hide\",children:children||\"Nieuwe Organisatie\"});}export function EditOrganizationButton({userInfo,onClick,resourceOrganization,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"ORG_EDIT\",onClick:onClick,resourceOrganization:resourceOrganization,variant:\"edit\",size:\"small\",actionName:\"Organisatie Bewerken\",icon:/*#__PURE__*/_jsx(FaEdit,{size:12}),behavior:\"hide\",children:\"Bewerken\"});}export function DeleteOrganizationButton({userInfo,onClick,resourceOrganization,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"ORG_DELETE\",onClick:onClick,resourceOrganization:resourceOrganization,variant:\"delete\",size:\"small\",actionName:\"Organisatie Verwijderen\",icon:/*#__PURE__*/_jsx(FaTrashAlt,{size:12}),behavior:\"hide\"// Too destructive - hide from unauthorized users\n,children:\"Verwijderen\"});}// User Management Buttons\nexport function NewUserButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"USER_CREATE\",onClick:onClick,variant:\"create\",actionName:\"Gebruiker Aanmaken\",icon:/*#__PURE__*/_jsx(FaPlus,{size:14}),behavior:\"hide\",children:children||\"Nieuwe Gebruiker\"});}export function EditUserButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"USER_EDIT\",onClick:onClick,variant:\"edit\",size:\"small\",actionName:\"Gebruiker Bewerken\",icon:/*#__PURE__*/_jsx(FaEdit,{size:12}),behavior:\"hide\",children:\"Bewerken\"});}export function DeleteUserButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"USER_DELETE\",onClick:onClick,variant:\"delete\",size:\"small\",actionName:\"Gebruiker Verwijderen\",icon:/*#__PURE__*/_jsx(FaTrashAlt,{size:12}),behavior:\"hide\"// Hide delete button - too sensitive\n,children:\"Verwijderen\"});}// View/Access Buttons (for features that require specific permissions to view)\nexport function ViewChangelogButton({userInfo,onClick,children,...props}){return /*#__PURE__*/_jsx(RoleBasedButton,{...props,userInfo:userInfo,permission:\"CHANGELOG_VIEW\",onClick:onClick,variant:\"secondary\",actionName:\"Wijzigingslogboek Bekijken\",icon:/*#__PURE__*/_jsx(FaEye,{size:14}),behavior:\"hide\",children:children||\"Wijzigingslogboek Bekijken\"});}export function PolicyActionButtons({userInfo,onEdit,onDelete,onApprove,resourceOrganization,policyStatus=\"active\"}){// Hide entire action buttons group if user has no policy management permissions\nif(!canManagePolicies(userInfo,resourceOrganization)){return null;}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"8px\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(PolicyDropdownMenu,{userInfo:userInfo,onEdit:onEdit,onDelete:onDelete,resourceOrganization:resourceOrganization}),policyStatus===\"draft\"&&onApprove&&/*#__PURE__*/_jsx(ApprovePolicyButton,{userInfo:userInfo,onClick:onApprove})]});}function PolicyDropdownMenu({userInfo,onEdit,onDelete,resourceOrganization}){const[isOpen,setIsOpen]=React.useState(false);const[dropdownPosition,setDropdownPosition]=React.useState({top:0,left:0});const dropdownRef=React.useRef(null);const buttonRef=React.useRef(null);const handleToggle=React.useCallback(e=>{e.preventDefault();e.stopPropagation();if(!buttonRef.current)return;const rect=buttonRef.current.getBoundingClientRect();const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;// Check if dropdown would overflow viewport on the right\nconst dropdownWidth=140// minWidth from dropdown style\n;const viewportWidth=window.innerWidth;const spaceOnRight=viewportWidth-rect.right;// If not enough space on right, position to the left of the button\nconst left=spaceOnRight<dropdownWidth+20?rect.left+scrollLeft-dropdownWidth-5// Position to the left\n:rect.right+scrollLeft+5// Position to the right\n;setDropdownPosition({top:rect.bottom+scrollTop+5,left:left});setIsOpen(prev=>!prev);},[]);React.useEffect(()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},ref:dropdownRef,children:[/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,onClick:handleToggle,style:{...styles.iconButton,border:`1px solid ${colors.gray300}`,borderRadius:\"6px\",padding:\"8px\",backgroundColor:\"transparent\"},onMouseOver:e=>{const target=e.target;hover.iconButton(target);target.style.borderColor=colors.primary;target.style.color=colors.primary;},onMouseOut:e=>{const target=e.target;hover.resetIconButton(target);target.style.borderColor=colors.gray300;target.style.color=colors.gray500;},children:/*#__PURE__*/_jsx(FaEllipsisV,{size:12})}),isOpen&&/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:999},onClick:()=>setIsOpen(false)}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:`${dropdownPosition.top}px`,left:`${dropdownPosition.left}px`,backgroundColor:colors.white,border:`1px solid ${colors.gray200}`,borderRadius:\"8px\",boxShadow:\"0 10px 25px rgba(0, 0, 0, 0.1)\",zIndex:1e3,minWidth:\"140px\",padding:\"8px 0\",fontFamily:FONT_STACK},children:/*#__PURE__*/_jsxs(\"div\",{children:[canPerformAction(userInfo,\"POLICY_EDIT\",resourceOrganization)&&/*#__PURE__*/_jsxs(\"div\",{onMouseDown:e=>{e.preventDefault();e.stopPropagation();},onMouseUp:e=>{e.preventDefault();e.stopPropagation();},onClick:e=>{e.preventDefault();e.stopPropagation();onEdit();setIsOpen(false);},style:{width:\"100%\",padding:\"12px 16px\",cursor:\"pointer\",backgroundColor:\"transparent\",color:colors.actionEdit,fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",borderRadius:\"6px\",transition:\"all 0.2s ease\"},onMouseOver:e=>{e.target.style.backgroundColor=\"#f3f4f6\";e.target.style.color=\"#2563eb\";},onMouseOut:e=>{e.target.style.backgroundColor=\"transparent\";e.target.style.color=colors.actionEdit;},children:[/*#__PURE__*/_jsx(FaEdit,{size:14}),\"Bewerken\"]}),canPerformAction(userInfo,\"POLICY_DELETE\",resourceOrganization)&&/*#__PURE__*/_jsxs(\"div\",{onMouseDown:e=>{e.preventDefault();e.stopPropagation();},onMouseUp:e=>{e.preventDefault();e.stopPropagation();},onClick:e=>{e.preventDefault();e.stopPropagation();onDelete();setIsOpen(false);},style:{width:\"100%\",padding:\"12px 16px\",cursor:\"pointer\",backgroundColor:\"transparent\",color:colors.actionDelete,fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",borderRadius:\"6px\",transition:\"all 0.2s ease\"},onMouseOver:e=>{e.target.style.backgroundColor=\"#fef2f2\";e.target.style.color=\"#b91c1c\";},onMouseOut:e=>{e.target.style.backgroundColor=\"transparent\";e.target.style.color=colors.actionDelete;},children:[/*#__PURE__*/_jsx(FaTrashAlt,{size:14}),\"Verwijderen\"]})]})})]}),document.body)]});}function ActionDropdownMenu({canEdit=true,canDelete=true,onEdit,onDelete,editLabel=\"Bewerken\",deleteLabel=\"Verwijderen\"}){const[isOpen,setIsOpen]=React.useState(false);const[dropdownPosition,setDropdownPosition]=React.useState({top:0,left:0});const dropdownRef=React.useRef(null);const buttonRef=React.useRef(null);const handleToggle=React.useCallback(e=>{e.preventDefault();e.stopPropagation();if(!buttonRef.current)return;const rect=buttonRef.current.getBoundingClientRect();const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;// Check if dropdown would overflow viewport on the right\nconst dropdownWidth=140// minWidth from dropdown style\n;const viewportWidth=window.innerWidth;const spaceOnRight=viewportWidth-rect.right;// If not enough space on right, position to the left of the button\nconst left=spaceOnRight<dropdownWidth+20?rect.left+scrollLeft-dropdownWidth-5// Position to the left\n:rect.right+scrollLeft+5// Position to the right\n;setDropdownPosition({top:rect.bottom+scrollTop+5,left:left});setIsOpen(prev=>!prev);},[]);const handleEdit=React.useCallback(e=>{e.preventDefault();e.stopPropagation();onEdit?.();setIsOpen(false);},[onEdit]);const handleDelete=React.useCallback(e=>{e.preventDefault();e.stopPropagation();onDelete?.();setIsOpen(false);},[onDelete]);React.useEffect(()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},ref:dropdownRef,children:[/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,onClick:handleToggle,style:{...styles.iconButton,border:`1px solid ${colors.gray300}`,borderRadius:\"6px\",padding:\"8px\",backgroundColor:\"transparent\"},onMouseOver:e=>{const target=e.target;hover.iconButton(target);target.style.borderColor=colors.primary;target.style.color=colors.primary;},onMouseOut:e=>{const target=e.target;hover.resetIconButton(target);target.style.borderColor=colors.gray300;target.style.color=colors.gray500;},children:/*#__PURE__*/_jsx(FaEllipsisV,{size:12})}),isOpen&&/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:999},onClick:()=>setIsOpen(false)}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:`${dropdownPosition.top}px`,left:`${dropdownPosition.left}px`,backgroundColor:colors.white,border:`1px solid ${colors.gray200}`,borderRadius:\"8px\",boxShadow:\"0 10px 25px rgba(0, 0, 0, 0.1)\",zIndex:1e3,minWidth:\"140px\",padding:\"8px 0\",fontFamily:FONT_STACK},children:[canEdit&&onEdit&&/*#__PURE__*/_jsxs(\"button\",{onClick:handleEdit,style:{width:\"100%\",padding:\"12px 16px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",color:colors.actionEdit,textAlign:\"left\",transition:\"all 0.2s ease\",fontFamily:FONT_STACK,borderRadius:\"6px\",boxShadow:\"none\"},onMouseOver:e=>{const target=e.target;target.style.backgroundColor=\"#f3f4f6\";target.style.color=\"#2563eb\";target.style.transform=\"translateX(2px)\";target.style.boxShadow=\"0 4px 8px rgba(59, 130, 246, 0.15)\";},onMouseOut:e=>{const target=e.target;target.style.backgroundColor=\"transparent\";target.style.color=\"#3b82f6\";target.style.transform=\"translateX(0)\";target.style.boxShadow=\"none\";},children:[/*#__PURE__*/_jsx(FaEdit,{size:14,color:\"currentColor\"}),editLabel]}),canDelete&&onDelete&&/*#__PURE__*/_jsxs(\"button\",{onClick:handleDelete,style:{width:\"100%\",padding:\"12px 16px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",color:colors.actionDelete,textAlign:\"left\",transition:\"all 0.2s ease\",fontFamily:FONT_STACK,borderRadius:\"6px\",boxShadow:\"none\"},onMouseOver:e=>{const target=e.target;target.style.backgroundColor=\"#fef2f2\";target.style.color=\"#b91c1c\";target.style.transform=\"translateX(2px)\";target.style.boxShadow=\"0 4px 8px rgba(220, 38, 38, 0.15)\";},onMouseOut:e=>{const target=e.target;target.style.backgroundColor=\"transparent\";target.style.color=\"#dc2626\";target.style.transform=\"translateX(0)\";target.style.boxShadow=\"none\";},children:[/*#__PURE__*/_jsx(FaTrashAlt,{size:14,color:\"currentColor\"}),deleteLabel]})]})]}),document.body)]});}export function OrganizationActionButtons({userInfo,onEdit,onDelete,resourceOrganization}){// Hide entire action buttons group if user has no management permissions\nif(!canManageOrganizations(userInfo,resourceOrganization)){return null;}return /*#__PURE__*/_jsx(OrganizationDropdownMenu,{userInfo:userInfo,onEdit:onEdit,resourceOrganization:resourceOrganization});}function OrganizationDropdownMenu({userInfo,onEdit,resourceOrganization}){const[isOpen,setIsOpen]=React.useState(false);const[dropdownPosition,setDropdownPosition]=React.useState({top:0,left:0});const dropdownRef=React.useRef(null);const buttonRef=React.useRef(null);const handleToggle=React.useCallback(e=>{e.preventDefault();e.stopPropagation();if(!buttonRef.current)return;const rect=buttonRef.current.getBoundingClientRect();const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;// Check if dropdown would overflow viewport on the right\nconst dropdownWidth=140// minWidth from dropdown style\n;const viewportWidth=window.innerWidth;const spaceOnRight=viewportWidth-rect.right;// If not enough space on right, position to the left of the button\nconst left=spaceOnRight<dropdownWidth+20?rect.left+scrollLeft-dropdownWidth-5// Position to the left\n:rect.right+scrollLeft+5// Position to the right\n;setDropdownPosition({top:rect.bottom+scrollTop+5,left:left});setIsOpen(prev=>!prev);},[]);React.useEffect(()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},ref:dropdownRef,children:[/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,onClick:handleToggle,style:{...styles.iconButton,border:`1px solid ${colors.gray300}`,borderRadius:\"6px\",padding:\"8px\",backgroundColor:\"transparent\"},onMouseOver:e=>{const target=e.target;hover.iconButton(target);target.style.borderColor=colors.primary;target.style.color=colors.primary;},onMouseOut:e=>{const target=e.target;hover.resetIconButton(target);target.style.borderColor=colors.gray300;target.style.color=colors.gray500;},children:/*#__PURE__*/_jsx(FaEllipsisV,{size:12})}),isOpen&&/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:999},onClick:()=>setIsOpen(false)}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:`${dropdownPosition.top}px`,left:`${dropdownPosition.left}px`,backgroundColor:colors.white,border:`1px solid ${colors.gray200}`,borderRadius:\"8px\",boxShadow:\"0 10px 25px rgba(0, 0, 0, 0.1)\",zIndex:1e3,minWidth:\"140px\",padding:\"8px 0\",fontFamily:FONT_STACK},children:/*#__PURE__*/_jsx(\"div\",{children:canPerformAction(userInfo,\"ORG_EDIT\",resourceOrganization)&&/*#__PURE__*/_jsxs(\"div\",{onMouseDown:e=>{e.preventDefault();e.stopPropagation();},onMouseUp:e=>{e.preventDefault();e.stopPropagation();},onClick:e=>{e.preventDefault();e.stopPropagation();onEdit();setIsOpen(false);},style:{width:\"100%\",padding:\"12px 16px\",cursor:\"pointer\",backgroundColor:\"transparent\",color:colors.actionEdit,fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",borderRadius:\"6px\",transition:\"all 0.2s ease\"},onMouseOver:e=>{e.target.style.backgroundColor=\"#f3f4f6\";e.target.style.color=\"#2563eb\";},onMouseOut:e=>{e.target.style.backgroundColor=\"transparent\";e.target.style.color=colors.actionEdit;},children:[/*#__PURE__*/_jsx(FaEdit,{size:14}),\"Bewerken\"]})})})]}),document.body)]});}export function UserActionButtons({userInfo,onEdit,onDelete}){// Hide entire action buttons group if user has no user management permissions\nif(!canManageUsers(userInfo)){return null;}return /*#__PURE__*/_jsx(UserDropdownMenu,{userInfo:userInfo,onEdit:onEdit,onDelete:onDelete});}function UserDropdownMenu({userInfo,onEdit,onDelete}){const[isOpen,setIsOpen]=React.useState(false);const[dropdownPosition,setDropdownPosition]=React.useState({top:0,left:0});const dropdownRef=React.useRef(null);const buttonRef=React.useRef(null);const handleToggle=React.useCallback(e=>{e.preventDefault();e.stopPropagation();if(!buttonRef.current)return;const rect=buttonRef.current.getBoundingClientRect();const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;// Check if dropdown would overflow viewport on the right\nconst dropdownWidth=140// minWidth from dropdown style\n;const viewportWidth=window.innerWidth;const spaceOnRight=viewportWidth-rect.right;// If not enough space on right, position to the left of the button\nconst left=spaceOnRight<dropdownWidth+20?rect.left+scrollLeft-dropdownWidth-5// Position to the left\n:rect.right+scrollLeft+5// Position to the right\n;setDropdownPosition({top:rect.bottom+scrollTop+5,left:left});setIsOpen(prev=>!prev);},[]);React.useEffect(()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},ref:dropdownRef,children:[/*#__PURE__*/_jsx(\"button\",{ref:buttonRef,onClick:handleToggle,style:{...styles.iconButton,border:`1px solid ${colors.gray300}`,borderRadius:\"6px\",padding:\"8px\",backgroundColor:\"transparent\"},onMouseOver:e=>{const target=e.target;hover.iconButton(target);target.style.borderColor=colors.primary;target.style.color=colors.primary;},onMouseOut:e=>{const target=e.target;hover.resetIconButton(target);target.style.borderColor=colors.gray300;target.style.color=colors.gray500;},children:/*#__PURE__*/_jsx(FaEllipsisV,{size:12})}),isOpen&&/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:999},onClick:()=>setIsOpen(false)}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:`${dropdownPosition.top}px`,left:`${dropdownPosition.left}px`,backgroundColor:colors.white,border:`1px solid ${colors.gray200}`,borderRadius:\"8px\",boxShadow:\"0 10px 25px rgba(0, 0, 0, 0.1)\",zIndex:1e3,minWidth:\"140px\",padding:\"8px 0\",fontFamily:FONT_STACK},children:/*#__PURE__*/_jsxs(\"div\",{children:[canPerformAction(userInfo,\"USER_EDIT\")&&/*#__PURE__*/_jsxs(\"div\",{onMouseDown:e=>{e.preventDefault();e.stopPropagation();},onMouseUp:e=>{e.preventDefault();e.stopPropagation();},onClick:e=>{e.preventDefault();e.stopPropagation();onEdit();setIsOpen(false);},style:{width:\"100%\",padding:\"12px 16px\",cursor:\"pointer\",backgroundColor:\"transparent\",color:colors.actionEdit,fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",borderRadius:\"6px\",transition:\"all 0.2s ease\"},onMouseOver:e=>{e.target.style.backgroundColor=\"#f3f4f6\";e.target.style.color=\"#2563eb\";},onMouseOut:e=>{e.target.style.backgroundColor=\"transparent\";e.target.style.color=colors.actionEdit;},children:[/*#__PURE__*/_jsx(FaEdit,{size:14}),\"Bewerken\"]}),canPerformAction(userInfo,\"USER_DELETE\")&&/*#__PURE__*/_jsxs(\"div\",{onMouseDown:e=>{e.preventDefault();e.stopPropagation();},onMouseUp:e=>{e.preventDefault();e.stopPropagation();},onClick:e=>{e.preventDefault();e.stopPropagation();onDelete();setIsOpen(false);},style:{width:\"100%\",padding:\"12px 16px\",cursor:\"pointer\",backgroundColor:\"transparent\",color:colors.actionDelete,fontSize:\"14px\",fontWeight:\"600\",display:\"flex\",alignItems:\"center\",gap:\"8px\",borderRadius:\"6px\",transition:\"all 0.2s ease\"},onMouseOver:e=>{e.target.style.backgroundColor=\"#fef2f2\";e.target.style.color=\"#b91c1c\";},onMouseOut:e=>{e.target.style.backgroundColor=\"transparent\";e.target.style.color=colors.actionDelete;},children:[/*#__PURE__*/_jsx(FaTrashAlt,{size:14}),\"Verwijderen\"]})]})})]}),document.body)]});}\nexport const __FramerMetadata__ = {\"exports\":{\"PolicyActionButtons\":{\"type\":\"reactComponent\",\"name\":\"PolicyActionButtons\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"EditOrganizationButton\":{\"type\":\"reactComponent\",\"name\":\"EditOrganizationButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"NewUserButton\":{\"type\":\"reactComponent\",\"name\":\"NewUserButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DeletePolicyButton\":{\"type\":\"reactComponent\",\"name\":\"DeletePolicyButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ViewChangelogButton\":{\"type\":\"reactComponent\",\"name\":\"ViewChangelogButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DeleteUserButton\":{\"type\":\"reactComponent\",\"name\":\"DeleteUserButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"EditPolicyButton\":{\"type\":\"reactComponent\",\"name\":\"EditPolicyButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"UserActionButtons\":{\"type\":\"reactComponent\",\"name\":\"UserActionButtons\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"EditUserButton\":{\"type\":\"reactComponent\",\"name\":\"EditUserButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"NewOrganizationButton\":{\"type\":\"reactComponent\",\"name\":\"NewOrganizationButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DeleteOrganizationButton\":{\"type\":\"reactComponent\",\"name\":\"DeleteOrganizationButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"OrganizationActionButtons\":{\"type\":\"reactComponent\",\"name\":\"OrganizationActionButtons\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"NewPolicyButton\":{\"type\":\"reactComponent\",\"name\":\"NewPolicyButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ApprovePolicyButton\":{\"type\":\"reactComponent\",\"name\":\"ApprovePolicyButton\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}