acebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).React={})}(this,function(e){function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function w(e,t,n){this.props=e,this.context=t,this.refs=C,this.updater=n||k}function da(){}function L(e,t,n){this.props=e,this.context=t,this.refs=C,this.updater=n||k}function ea(e,t,n){var r,i={},o=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)A.call(t,r)&&!M.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];i.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===i[r]&&(i[r]=l[r]);return{$$typeof:a,type:e,key:o,ref:s,props:i,_owner:_.current}}function N(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}function ja(e,t,n,r){if(j.length){var i=j.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function ka(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>j.length&&j.push(e)}function Q(e,t,n){return null==e?0:function O(e,t,n,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return n(i,e,""===t?"."+P(e,0):t),1;if(l=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;u<e.length;u++){var c=t+P(s=e[u],u);l+=O(s,c,n,i)}else if(c=null===e||"object"!=typeof e?null:"function"==typeof(c=m&&e[m]||e["@@iterator"])?c:null,"function"==typeof c)for(e=c.call(e),u=0;!(s=e.next()).done;)l+=O(s=s.value,c=t+P(s,u++),n,i);else if("object"===s)throw n=""+e,Error(r(31,"[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n,""));return l}(e,"",t,n)}function P(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function ya(e,t,n){e.func.call(e.context,t,e.count++)}function za(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?R(e,r,n,function(e){return e}):null!=e&&(N(e)&&(e=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(z,"$&/")+"/")+n)),r.push(e))}function R(e,t,n,r,i){var a="";null!=n&&(a=(""+n).replace(z,"$&/")+"/"),Q(e,za,t=ja(t,a,r,i)),ka(t)}function t(){var e=V.current;if(null===e)throw Error(r(321));return e}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,i=e[r];if(!(void 0!==i&&0<D(i,t)))break e;e[r]=t,e[n]=i,n=r}}function n(e){return void 0===(e=e[0])?null:e}function E(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var a=2*(r+1)-1,o=e[a],s=a+1,l=e[s];if(void 0!==o&&0>D(o,n))void 0!==l&&0>D(l,o)?(e[r]=l,e[s]=n,r=s):(e[r]=o,e[a]=n,r=a);else{if(!(void 0!==l&&0>D(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function D(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}function F(e){for(var t=n(fe);null!==t;){if(null===t.callback)E(fe);else{if(!(t.startTime<=e))break;E(fe),t.sortIndex=t.expirationTime,S(ce,t)}t=n(fe)}}function T(e){if(ve=!1,F(e),!me)if(null!==n(ce))me=!0,G(U);else{var t=n(fe);null!==t&&X(T,t.startTime-e)}}function U(e,t){me=!1,ve&&(ve=!1,Y()),he=!0;var r=ge;try{for(F(t),pe=n(ce);null!==pe&&(!(pe.expirationTime>t)||e&&!$());){var i=pe.callback;if(null!==i){pe.callback=null,ge=pe.priorityLevel;var a=i(pe.expirationTime<=t);t=W(),"function"==typeof a?pe.callback=a:pe===n(ce)&&E(ce),F(t)}else E(ce);pe=n(ce)}if(null!==pe)var o=!0;else{var s=n(fe);null!==s&&X(T,s.startTime-t),o=!1}return o}finally{pe=null,ge=r,he=!1}}function oa(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,o=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,g=i?Symbol.for("react.memo"):60115,h=i?Symbol.for("react.lazy"):60116,m="function"==typeof Symbol&&Symbol.iterator,v=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,x=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;var t={};for(e=0;10>e;e++)t["_"+String.fromCharCode(e)]=e;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");for(var n,r=Object(e),i=1;i<arguments.length;i++){var a=Object(arguments[i]);for(var o in a)y.call(a,o)&&(r[o]=a[o]);if(v){n=v(a);for(var s=0;s<n.length;s++)b.call(a,n[s])&&(r[n[s]]=a[n[s]])}}return r},k={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){},enqueueReplaceState:function(e,t,n,r){},enqueueSetState:function(e,t,n,r){}},C={};w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(r(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},da.prototype=w.prototype,(i=L.prototype=new da).constructor=L,x(i,w.prototype),i.isPureReactComponent=!0;var I,_={current:null},A=Object.prototype.hasOwnProperty,M={key:!0,ref:!0,__self:!0,__source:!0},z=/\/+/g,j=[],V={current:null};if("undefined"==typeof window||"function"!=typeof MessageChannel){var q=null,B=null,H=function(){if(null!==q)try{var e=W();q(!0,e),q=null}catch(e){throw setTimeout(H,0),e}},K=Date.now(),W=function(){return Date.now()-K},G=function(e){null!==q?setTimeout(G,0,e):(q=e,setTimeout(H,0))},X=function(e,t){B=setTimeout(e,t)},Y=function(){clearTimeout(B)},$=function(){return!1};i=I=function(){}}else{var Z=window.performance,J=window.Date,ee=window.setTimeout,te=window.clearTimeout;if("undefined"!=typeof console&&(i=window.cancelAnimationFrame,"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof i&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),"object"==typeof Z&&"function"==typeof Z.now)W=function(){return Z.now()};else{var ne=J.now();W=function(){return J.now()-ne}}var re=!1,ie=null,ae=-1,oe=5,se=0;$=function(){return W()>=se},i=function(){},I=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):oe=0<e?Math.floor(1e3/e):5};var le=new MessageChannel,ue=le.port2;le.port1.onmessage=function(){if(null!==ie){var e=W();se=e+oe;try{ie(!0,e)?ue.postMessage(null):(re=!1,ie=null)}catch(e){throw ue.postMessage(null),e}}else re=!1},G=function(e){ie=e,re||(re=!0,ue.postMessage(null))},X=function(e,t){ae=ee(function(){e(W())},t)},Y=function(){te(ae),ae=-1}}var ce=[],fe=[],de=1,pe=null,ge=3,he=!1,me=!1,ve=!1,ye=0;x(le={ReactCurrentDispatcher:V,ReactCurrentOwner:_,IsSomeRendererActing:{current:!1},assign:x},{Scheduler:{__proto__:null,unstable_ImmediatePriority:1,unstable_UserBlockingPriority:2,unstable_NormalPriority:3,unstable_IdlePriority:5,unstable_LowPriority:4,unstable_runWithPriority:function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=ge;ge=e;try{return t()}finally{ge=n}},unstable_next:function(e){switch(ge){case 1:case 2:case 3:var t=3;break;default:t=ge}var n=ge;ge=t;try{return e()}finally{ge=n}},unstable_scheduleCallback:function(e,t,r){var i=W();if("object"==typeof r&&null!==r){var a=r.delay;a="number"==typeof a&&0<a?i+a:i,r="number"==typeof r.timeout?r.timeout:oa(e)}else r=oa(e),a=i;return e={id:de++,callback:t,priorityLevel:e,startTime:a,expirationTime:r=a+r,sortIndex:-1},a>i?(e.sortIndex=a,S(fe,e),null===n(ce)&&e===n(fe)&&(ve?Y():ve=!0,X(T,a-i))):(e.sortIndex=r,S(ce,e),me||he||(me=!0,G(U))),e},unstable_cancelCallback:function(e){e.callback=null},unstable_wrapCallback:function(e){var t=ge;return function(){var n=ge;ge=t;try{return e.apply(this,arguments)}finally{ge=n}}},unstable_getCurrentPriorityLevel:function(){return ge},unstable_shouldYield:function(){var e=W();F(e);var t=n(ce);return t!==pe&&null!==pe&&null!==t&&null!==t.callback&&t.startTime<=e&&t.expirationTime<pe.expirationTime||$()},unstable_requestPaint:i,unstable_continueExecution:function(){me||he||(me=!0,G(U))},unstable_pauseExecution:function(){},unstable_getFirstCallbackNode:function(){return n(ce)},get unstable_now(){return W},get unstable_forceFrameRate(){return I},unstable_Profiling:null},SchedulerTracing:{__proto__:null,__interactionsRef:null,__subscriberRef:null,unstable_clear:function(e){return e()},unstable_getCurrent:function(){return null},unstable_getThreadID:function(){return++ye},unstable_trace:function(e,t,n){return n()},unstable_wrap:function(e){return e},unstable_subscribe:function(e){},unstable_unsubscribe:function(e){}}}),e.Children={map:function(e,t,n){if(null==e)return e;var r=[];return R(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;Q(e,ya,t=ja(null,null,t,n)),ka(t)},count:function(e){return Q(e,function(){return null},null)},toArray:function(e){var t=[];return R(e,t,null,function(e){return e}),t},only:function(e){if(!N(e))throw Error(r(143));return e}},e.Component=w,e.Fragment=s,e.Profiler=u,e.PureComponent=L,e.StrictMode=l,e.Suspense=p,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=le,e.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error(r(267,e));var i=x({},e.props),o=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=_.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)A.call(t,c)&&!M.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){u=Array(c);for(var f=0;f<c;f++)u[f]=arguments[f+2];i.children=u}return{$$typeof:a,type:e.type,key:o,ref:s,props:i,_owner:l}},e.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},e.createElement=ea,e.createFactory=function(e){var t=ea.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:d,render:e}},e.isValidElement=N,e.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},e.memo=function(e,t){return{$$typeof:g,type:e,compare:void 0===t?null:t}},e.useCallback=function(e,n){return t().useCallback(e,n)},e.useContext=function(e,n){return t().useContext(e,n)},e.useDebugValue=function(e,t){},e.useEffect=function(e,n){return t().useEffect(e,n)},e.useImperativeHandle=function(e,n,r){return t().useImperativeHandle(e,n,r)},e.useLayoutEffect=function(e,n){return t().useLayoutEffect(e,n)},e.useMemo=function(e,n){return t().useMemo(e,n)},e.useReducer=function(e,n,r){return t().useReducer(e,n,r)},e.useRef=function(e){return t().useRef(e)},e.useState=function(e){return t().useState(e)},e.version="16.1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/components/ReactPDFGenerator.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=3ec5d53b"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"];
import RefreshRuntime from "/@react-refresh";
const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope;
let prevRefreshReg;
let prevRefreshSig;
if (import.meta.hot && !inWebWorker) {
  if (!window.__vite_plugin_react_preamble_installed__) {
    throw new Error("@vitejs/plugin-react can't detect preamble. Something is wrong. See https://github.com/vitejs/vite-plugin-react/pull/11#discussion_r430879201");
  }
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    RefreshRuntime.register(type, "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx " + id);
  };
  window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
}
var _s = $RefreshSig$();
import __vite__cjsImport3_react from "/node_modules/.vite/deps/react.js?v=3ec5d53b"; const React = __vite__cjsImport3_react.__esModule ? __vite__cjsImport3_react.default : __vite__cjsImport3_react;
import {
  Document,
  Page,
  Text,
  View,
  StyleSheet,
  PDFViewer,
  Image,
  Font,
  pdf
} from "/node_modules/.vite/deps/@react-pdf_renderer.js?v=3ec5d53b";
const RedHatLogo = "/red-hat-logo.png";
Font.registerHyphenationCallback((word) => [word]);
Font.register({
  family: "RedHatDisplay",
  fonts: [
    {
      src: "/fonts/RedHatDisplay-Regular.ttf",
      fontWeight: "normal",
      fontStyle: "normal"
    },
    {
      src: "/fonts/RedHatDisplay-Bold.ttf",
      fontWeight: "bold",
      fontStyle: "normal"
    },
    {
      src: "/fonts/RedHatDisplay-Italic.ttf",
      fontWeight: "normal",
      fontStyle: "italic"
    },
    {
      src: "/fonts/RedHatDisplay-BoldItalic.ttf",
      fontWeight: "bold",
      fontStyle: "italic"
    }
  ]
});
const getInitials = (name) => {
  return name.split(" ").map((part) => part.charAt(0).toUpperCase()).join(".");
};
const styles = StyleSheet.create({
  page: {
    flexDirection: "column",
    backgroundColor: "white",
    padding: 40,
    fontFamily: "RedHatDisplay",
    fontSize: 10,
    color: "#333333"
  },
  redColor: {
    color: "#ee0000"
  },
  blueColor: {
    color: "#0066cc"
  },
  section: {
    marginBottom: 18,
    width: "100%"
  },
  header: {
    flexDirection: "row",
    justifyContent: "space-between",
    alignItems: "center",
    marginBottom: 25,
    paddingBottom: 15,
    borderBottomColor: "#d2d2d2",
    borderBottomWidth: 1,
    borderBottomStyle: "solid"
  },
  headerContent: {
    flexGrow: 1
  },
  headerImageContainer: {
    width: 100,
    height: 40,
    alignItems: "flex-end",
    justifyContent: "center"
  },
  logo: {
    width: 80,
    marginRight: 5
  },
  name: {
    fontSize: 20,
    fontFamily: "RedHatDisplay",
    fontWeight: "bold",
    marginBottom: 5
  },
  jobTitle: {
    fontSize: 14,
    fontFamily: "RedHatDisplay",
    color: "#ee0000",
    marginBottom: 5
  },
  sectionTitle: {
    fontSize: 12,
    fontFamily: "RedHatDisplay",
    fontWeight: "bold",
    color: "#ee0000",
    marginBottom: 10,
    textTransform: "uppercase",
    paddingBottom: 3,
    borderBottomColor: "#d2d2d2",
    borderBottomWidth: 0.5,
    borderBottomStyle: "solid"
  },
  table: {
    display: "flex",
    width: "auto",
    marginBottom: 10
  },
  tableRow: {
    flexDirection: "row",
    alignItems: "center",
    minHeight: 24,
    paddingTop: 3,
    paddingBottom: 3,
    borderBottomColor: "#d2d2d2",
    borderBottomWidth: 0.5,
    borderBottomStyle: "solid"
  },
  tableRowLast: {
    flexDirection: "row",
    alignItems: "center",
    minHeight: 24,
    paddingTop: 3,
    paddingBottom: 3
  },
  tableHeaderRow: {
    flexDirection: "row",
    alignItems: "center",
    minHeight: 24,
    paddingTop: 3,
    paddingBottom: 3,
    backgroundColor: "#f5f5f5",
    borderBottomColor: "#d2d2d2",
    borderBottomWidth: 1,
    borderBottomStyle: "solid"
  },
  tableCell: {
    padding: 3
  },
  tableCellHeader: {
    padding: 0.3,
    color: "#ee0000",
    fontWeight: "bold"
  },
  tableCol15: {
    width: "15%"
  },
  tableCol20: {
    width: "20%"
  },
  tableCol25: {
    width: "25%"
  },
  tableCol30: {
    width: "30%"
  },
  tableCol33: {
    width: "33.33%"
  },
  tableCol35: {
    width: "35%"
  },
  tableCol40: {
    width: "40%"
  },
  tableCol50: {
    width: "50%"
  },
  tableCol55: {
    width: "55%"
  },
  tableCol60: {
    width: "60%"
  },
  tableCol70: {
    width: "70%"
  },
  tableCol75: {
    width: "75%"
  },
  tableCol80: {
    width: "80%"
  },
  bold: {
    fontWeight: "bold"
  },
  italic: {
    fontStyle: "italic"
  },
  text: {
    lineHeight: 1.4
  },
  listItem: {
    flexDirection: "row",
    marginBottom: 3,
    paddingLeft: 6
  },
  bullet: {
    width: 6,
    marginRight: 4
  },
  footer: {
    position: "absolute",
    bottom: 30,
    left: 40,
    right: 40,
    flexDirection: "row",
    alignItems: "center",
    fontSize: 8,
    color: "#666666",
    paddingTop: 8,
    borderTopColor: "#d2d2d2",
    borderTopWidth: 0.5,
    borderTopStyle: "solid"
  },
  footerLeft: {
    width: "30%"
  },
  footerCenter: {
    width: "40%",
    textAlign: "center"
  },
  footerRight: {
    width: "30%",
    textAlign: "right"
  },
  sectionNumber: {
    marginRight: 5,
    fontWeight: "bold"
  },
  paragraph: {
    marginBottom: 6,
    lineHeight: 1
  },
  sectionRow: {
    flexDirection: "row",
    marginBottom: 5
  },
  educationItem: {
    marginBottom: 4
  }
});
const CVDocument = ({ cv }) => {
  const initials = getInitials(cv.generalInfo.name);
  const lastKeySkillIndex = cv.keySkills.length - 1;
  const lastExpIndex = cv.experiences.length - 1;
  const lastCertIndex = cv.certifications.length - 1;
  return /* @__PURE__ */ jsxDEV(Document, { title: `${cv.generalInfo.name} - CV`, children: /* @__PURE__ */ jsxDEV(Page, { size: "A4", style: styles.page, children: [
    /* @__PURE__ */ jsxDEV(View, { style: styles.header, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.headerContent, children: [
        /* @__PURE__ */ jsxDEV(Text, { style: styles.name, children: cv.generalInfo.name }, void 0, false, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 281,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ jsxDEV(Text, { style: styles.jobTitle, children: [
          cv.generalInfo.jobTitle,
          ", Red Hat Consulting"
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 282,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 280,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.headerImageContainer, children: /* @__PURE__ */ jsxDEV(Image, { src: RedHatLogo, style: styles.logo }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 285,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 284,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 279,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { style: styles.section, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.sectionRow, children: /* @__PURE__ */ jsxDEV(Text, { style: styles.sectionTitle, children: "1. General Information" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 292,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 291,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.table, children: [
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Name" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 299,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 298,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: initials }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 302,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 301,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Nationality" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 305,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 304,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: cv.generalInfo.nationality }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 308,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 307,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 297,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Job Title" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 315,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 314,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: cv.generalInfo.jobTitle }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 318,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 317,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Location" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 321,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 320,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: cv.generalInfo.location }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 324,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 323,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 313,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableRowLast, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Languages" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 331,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 330,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: cv.generalInfo.languages }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 334,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 333,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: "Education" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 337,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 336,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: cv.education.map(
            (edu, i) => /* @__PURE__ */ jsxDEV(Text, { style: styles.educationItem, children: edu.degree }, i, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 341,
              columnNumber: 17
            }, this)
          ) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 339,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 329,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 295,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 290,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { style: styles.section, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.sectionRow, children: /* @__PURE__ */ jsxDEV(Text, { style: styles.sectionTitle, children: "2. Key Skills" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 351,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 350,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.table, children: [
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableHeaderRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol30], children: /* @__PURE__ */ jsxDEV(Text, { children: "Area" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 358,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 357,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol70], children: /* @__PURE__ */ jsxDEV(Text, { children: "Information" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 361,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 360,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 356,
          columnNumber: 11
        }, this),
        cv.keySkills.map(
          (skill, index) => /* @__PURE__ */ jsxDEV(View, { style: index === lastKeySkillIndex ? styles.tableRowLast : styles.tableRow, children: [
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol30], children: /* @__PURE__ */ jsxDEV(Text, { style: styles.bold, children: skill.category }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 369,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 368,
              columnNumber: 15
            }, this),
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol70], children: /* @__PURE__ */ jsxDEV(Text, { children: skill.description }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 372,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 371,
              columnNumber: 15
            }, this)
          ] }, index, true, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 367,
            columnNumber: 13
          }, this)
        )
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 354,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 349,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { style: styles.section, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.sectionRow, children: /* @__PURE__ */ jsxDEV(Text, { style: styles.sectionTitle, children: "3. Projects" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 382,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 381,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.table, children: [
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableHeaderRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: "Industry" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 389,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 388,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: "Date" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 392,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 391,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: "Location" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 395,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 394,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol55], children: /* @__PURE__ */ jsxDEV(Text, { children: "Description" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 398,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 397,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 387,
          columnNumber: 11
        }, this),
        cv.experiences.map(
          (exp, index) => /* @__PURE__ */ jsxDEV(View, { style: index === lastExpIndex ? styles.tableRowLast : styles.tableRow, children: [
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: exp.industry }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 406,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 405,
              columnNumber: 15
            }, this),
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: exp.date }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 409,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 408,
              columnNumber: 15
            }, this),
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol15], children: /* @__PURE__ */ jsxDEV(Text, { children: exp.location }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 412,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 411,
              columnNumber: 15
            }, this),
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol55], children: /* @__PURE__ */ jsxDEV(Text, { children: exp.description }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 415,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 414,
              columnNumber: 15
            }, this)
          ] }, index, true, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 404,
            columnNumber: 13
          }, this)
        )
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 385,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 380,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { style: styles.section, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.sectionRow, children: /* @__PURE__ */ jsxDEV(Text, { style: styles.sectionTitle, children: "4. Training & Certifications" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 425,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 424,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.table, children: [
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableHeaderRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol80], children: /* @__PURE__ */ jsxDEV(Text, { children: "Qualification" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 432,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 431,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol20], children: /* @__PURE__ */ jsxDEV(Text, { children: "Date" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 435,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 434,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 430,
          columnNumber: 11
        }, this),
        cv.certifications.map(
          (cert, index) => /* @__PURE__ */ jsxDEV(View, { style: index === lastCertIndex ? styles.tableRowLast : styles.tableRow, children: [
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol80], children: /* @__PURE__ */ jsxDEV(Text, { children: cert.qualification }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 443,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 442,
              columnNumber: 15
            }, this),
            /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol20], children: /* @__PURE__ */ jsxDEV(Text, { children: cert.date }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 446,
              columnNumber: 17
            }, this) }, void 0, false, {
              fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
              lineNumber: 445,
              columnNumber: 15
            }, this)
          ] }, index, true, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 441,
            columnNumber: 13
          }, this)
        )
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 428,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 423,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { style: styles.section, children: [
      /* @__PURE__ */ jsxDEV(View, { style: styles.sectionRow, children: /* @__PURE__ */ jsxDEV(Text, { style: styles.sectionTitle, children: "5. Further Information" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 456,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 455,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(Text, { style: styles.paragraph, children: "Information on availability, schedule and rates should be referred to the Services Delivery Manager (contact information below):" }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 459,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(View, { style: styles.table, children: [
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableHeaderRow, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Role" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 467,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 466,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Name" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 470,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 469,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Email" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 473,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 472,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCellHeader, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Phone" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 476,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 475,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 465,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ jsxDEV(View, { style: styles.tableRowLast, children: [
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Services Consulting Manager" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 483,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 482,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "Wolfgang Mild" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 486,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 485,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "wmild@redhat.com" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 489,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 488,
            columnNumber: 13
          }, this),
          /* @__PURE__ */ jsxDEV(View, { style: [styles.tableCell, styles.tableCol25], children: /* @__PURE__ */ jsxDEV(Text, { children: "+43-676-852100209" }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 492,
            columnNumber: 15
          }, this) }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 491,
            columnNumber: 13
          }, this)
        ] }, void 0, true, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 481,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 463,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(Text, { style: styles.paragraph, children: "Information on security clearances, visas etc. should be directed towards the SDM and are dealt with directly with the customer." }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 497,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 454,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV(View, { fixed: true, style: styles.footer, children: [
      /* @__PURE__ */ jsxDEV(Text, { style: styles.footerLeft, children: [
        "CV: ",
        initials
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 506,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(Text, { style: styles.footerCenter, render: ({ pageNumber, totalPages }) => `Page ${pageNumber} of ${totalPages}` }, void 0, false, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 507,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 505,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
    lineNumber: 277,
    columnNumber: 5
  }, this) }, void 0, false, {
    fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
    lineNumber: 276,
    columnNumber: 5
  }, this);
};
_c = CVDocument;
export const ReactPDFGenerator = ({ cv }) => {
  _s();
  const [isLoading, setIsLoading] = React.useState(true);
  React.useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoading(false);
    }, 800);
    return () => clearTimeout(timer);
  }, []);
  const previewContainerStyle = {
    display: "flex",
    flexDirection: "column",
    height: "100vh",
    width: "100%",
    background: "#f5f5f5",
    overflow: "hidden"
  };
  const toolbarStyle = {
    padding: "10px 20px",
    background: "#333",
    color: "white",
    display: "flex",
    justifyContent: "space-between",
    alignItems: "center",
    boxShadow: "0 2px 4px rgba(0,0,0,0.2)",
    zIndex: 10
  };
  const buttonStyle = {
    background: "#ee0000",
    color: "white",
    border: "none",
    padding: "8px 15px",
    borderRadius: "4px",
    cursor: "pointer",
    fontWeight: "bold",
    fontSize: "14px",
    marginLeft: "10px"
  };
  const viewerWrapperStyle = {
    flex: 1,
    overflow: "hidden",
    position: "relative"
  };
  const loadingOverlayStyle = {
    position: "absolute",
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    background: "rgba(255,255,255,0.9)",
    display: "flex",
    flexDirection: "column",
    justifyContent: "center",
    alignItems: "center",
    zIndex: 5
  };
  return /* @__PURE__ */ jsxDEV("div", { style: previewContainerStyle, children: [
    /* @__PURE__ */ jsxDEV("div", { style: toolbarStyle, children: [
      /* @__PURE__ */ jsxDEV("div", { children: [
        /* @__PURE__ */ jsxDEV("strong", { children: cv.generalInfo.name }, void 0, false, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 593,
          columnNumber: 11
        }, this),
        " - CV Preview"
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 592,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV("div", { children: [
        /* @__PURE__ */ jsxDEV(
          "button",
          {
            style: buttonStyle,
            onClick: () => window.print(),
            children: "Print CV"
          },
          void 0,
          false,
          {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 596,
            columnNumber: 11
          },
          this
        ),
        /* @__PURE__ */ jsxDEV(
          "button",
          {
            style: { ...buttonStyle, background: "#0066cc" },
            onClick: () => generatePDF(cv),
            children: "Download PDF"
          },
          void 0,
          false,
          {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 602,
            columnNumber: 11
          },
          this
        )
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 595,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 591,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV("div", { style: viewerWrapperStyle, children: [
      isLoading && /* @__PURE__ */ jsxDEV("div", { style: loadingOverlayStyle, children: [
        /* @__PURE__ */ jsxDEV("div", { style: { fontSize: "24px", marginBottom: "10px", color: "#ee0000" }, children: "Loading CV Preview" }, void 0, false, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 616,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ jsxDEV("div", { style: { fontSize: "14px", color: "#555" }, children: "This may take a moment while we prepare your document..." }, void 0, false, {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 619,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
        lineNumber: 615,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ jsxDEV(
        PDFViewer,
        {
          style: {
            width: "100%",
            height: "100%"
          },
          showToolbar: false,
          children: /* @__PURE__ */ jsxDEV(CVDocument, { cv }, void 0, false, {
            fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
            lineNumber: 633,
            columnNumber: 11
          }, this)
        },
        void 0,
        false,
        {
          fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
          lineNumber: 626,
          columnNumber: 9
        },
        this
      )
    ] }, void 0, true, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 612,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ jsxDEV("style", { dangerouslySetInnerHTML: { __html: `
        @media print {
          body * {
            visibility: hidden;
          }
          .react-pdf__Page {
            visibility: visible;
            position: absolute;
            left: 0;
            top: 0;
          }
          .react-pdf__Page * {
            visibility: visible;
          }
        }
      ` } }, void 0, false, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 638,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
    lineNumber: 589,
    columnNumber: 5
  }, this);
};
_s(ReactPDFGenerator, "Yt82d/dvZsn5nYh5sqDQjv+rJ38=");
_c2 = ReactPDFGenerator;
export const generatePDF = async (cv) => {
  const loadingElement = document.createElement("div");
  loadingElement.style.position = "fixed";
  loadingElement.style.top = "20px";
  loadingElement.style.right = "20px";
  loadingElement.style.background = "#333";
  loadingElement.style.color = "white";
  loadingElement.style.padding = "15px 20px";
  loadingElement.style.borderRadius = "5px";
  loadingElement.style.boxShadow = "0 2px 8px rgba(0,0,0,0.2)";
  loadingElement.style.zIndex = "9999";
  loadingElement.style.display = "flex";
  loadingElement.style.alignItems = "center";
  loadingElement.style.gap = "10px";
  loadingElement.innerHTML = `
    <div style="border: 3px solid rgba(255,255,255,0.3); border-top: 3px solid white; border-radius: 50%; width: 20px; height: 20px; animation: spin 1s linear infinite;"></div>
    <div>Generating PDF...</div>
  `;
  const styleElement = document.createElement("style");
  styleElement.innerHTML = `
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
  `;
  document.head.appendChild(styleElement);
  document.body.appendChild(loadingElement);
  try {
    const doc = /* @__PURE__ */ jsxDEV(CVDocument, { cv }, void 0, false, {
      fileName: "/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx",
      lineNumber: 692,
      columnNumber: 17
    }, this);
    let blob;
    try {
      const timeoutPromise = new Promise((_, reject) => {
        setTimeout(() => reject(new Error("PDF generation timed out")), 15e3);
      });
      blob = await Promise.race(
        [
          pdf(doc).toBlob(),
          timeoutPromise
        ]
      );
    } catch (blobError) {
      console.error("Error creating PDF blob:", blobError);
      throw new Error("Failed to create PDF: " + (blobError instanceof Error ? blobError.message : "Unknown error"));
    }
    if (!blob || blob.size < 1e3) {
      throw new Error("Generated PDF is invalid or too small");
    }
    const url = URL.createObjectURL(blob);
    const link = document.createElement("a");
    link.href = url;
    link.download = `${cv.generalInfo.name.replace(/\s+/g, "_")}_CV.pdf`;
    document.body.appendChild(link);
    link.click();
    setTimeout(() => {
      URL.revokeObjectURL(url);
      document.body.removeChild(link);
      loadingElement.style.background = "#2e7d32";
      loadingElement.innerHTML = `
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z" fill="white"/>
        </svg>
        <div>PDF Downloaded Successfully</div>
      `;
      setTimeout(() => {
        if (document.body.contains(loadingElement)) {
          document.body.removeChild(loadingElement);
        }
      }, 3e3);
    }, 100);
  } catch (err) {
    console.error("Error generating PDF:", err);
    loadingElement.style.background = "#c62828";
    loadingElement.innerHTML = `
      <svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" fill="white"/>
      </svg>
      <div>Error: ${err instanceof Error ? err.message : "Unknown error"}</div>
    `;
    setTimeout(() => {
      if (document.body.contains(loadingElement)) {
        document.body.removeChild(loadingElement);
      }
    }, 5e3);
  }
};
var _c, _c2;
$RefreshReg$(_c, "CVDocument");
$RefreshReg$(_c2, "ReactPDFGenerator");
if (import.meta.hot && !inWebWorker) {
  window.$RefreshReg$ = prevRefreshReg;
  window.$RefreshSig$ = prevRefreshSig;
}
if (import.meta.hot && !inWebWorker) {
  RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
    RefreshRuntime.registerExportsForReactRefresh("/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx", currentExports);
    import.meta.hot.accept((nextExports) => {
      if (!nextExports) return;
      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/josie/development/services-cv-generator/src/components/ReactPDFGenerator.tsx", currentExports, nextExports);
      if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
    });
  });
}

//# sourceMappingURL=data:application/json;base64, 