Skip to content

Commit

Permalink
Q1 2024 roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
mbugua-samuel committed Jan 10, 2024
1 parent 5798f76 commit 3bca76b
Show file tree
Hide file tree
Showing 66 changed files with 13,595 additions and 0 deletions.
1,696 changes: 1,696 additions & 0 deletions Edit - Product Roadmap 2024 - eva.mutuku - Confluence.html

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions Edit - Product Roadmap 2024 - eva.mutuku - Confluence_files/10404
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="128px" height="128px" viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background: #FFFFFF;">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>project_avatar_code</title>
<desc>Created with Sketch.</desc>
<defs>
<rect id="path-1" x="0" y="0" width="128" height="128"></rect>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="project_avatar_code">
<g id="code">
<g>
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="Rectangle" fill="#FF5630" xlink:href="#path-1"></use>
<path d="M130.3,45.7 C128.5,39.5 131.7,33.7 128.2,28.5 L36.2,28.5 C32.5,28.5 29.5,31.5 29.5,35.2 L29.5,45.7 L130.3,45.7 Z" id="Shape" fill="#EBF2F9" fill-rule="nonzero" ></path>
<circle id="Oval" fill="#FF5630" fill-rule="nonzero" cx="41.6" cy="37.3" r="3"></circle>
<circle id="Oval" fill="#FFC400" fill-rule="nonzero" cx="50.2" cy="37.3" r="3"></circle>
<circle id="Oval" fill="#00B8D9" fill-rule="nonzero" cx="58.7" cy="37.3" r="3"></circle>
<path d="M128.9,128 C128.9,128 130.9,51.3 129.1,45.4 L49.7,45.4 L47.7,45.4 L40.5,45.4 L38.5,45.4 L31.5,45.4 L29.5,45.4 L29.5,133.3 C36.5,138 128.9,128 128.9,128 Z" id="Shape" fill="#253858" fill-rule="nonzero" ></path>
<path d="M78.9,68.2 L42.6,68.2 C40.4,68.2 38.6,66.4 38.6,64.2 L38.6,64.2 C38.6,62 40.4,60.2 42.6,60.2 L79,60.2 C81.2,60.2 83,62 83,64.2 L83,64.2 C82.9,66.4 81.1,68.2 78.9,68.2 Z" id="Shape" fill="#EBF2F9" fill-rule="nonzero" ></path>
<path d="M96.4,68.2 L92.7,68.2 C90.5,68.2 88.7,66.4 88.7,64.2 L88.7,64.2 C88.7,62 90.5,60.2 92.7,60.2 L96.4,60.2 C98.6,60.2 100.4,62 100.4,64.2 L100.4,64.2 C100.4,66.4 98.6,68.2 96.4,68.2 Z" id="Shape" fill="#4C9AFF" fill-rule="nonzero" ></path>
<path d="M54.8,85.7 L42.6,85.7 C40.4,85.7 38.6,83.9 38.6,81.7 L38.6,81.7 C38.6,79.5 40.4,77.7 42.6,77.7 L54.8,77.7 C57,77.7 58.8,79.5 58.8,81.7 L58.8,81.7 C58.7,83.9 56.9,85.7 54.8,85.7 Z" id="Shape" fill="#FF5630" fill-rule="nonzero" ></path>
<path d="M66.5,103.2 L42.5,103.2 C40.3,103.2 38.5,101.4 38.5,99.2 L38.5,99.2 C38.5,97 40.3,95.2 42.5,95.2 L66.5,95.2 C68.7,95.2 70.5,97 70.5,99.2 L70.5,99.2 C70.5,101.4 68.7,103.2 66.5,103.2 Z" id="Shape" fill="#EBF2F9" fill-rule="nonzero" ></path>
<path d="M83.1,103.2 L80.5,103.2 C78.3,103.2 76.5,101.4 76.5,99.2 L76.5,99.2 C76.5,97 78.3,95.2 80.5,95.2 L83.1,95.2 C85.3,95.2 87.1,97 87.1,99.2 L87.1,99.2 C87.1,101.4 85.3,103.2 83.1,103.2 Z" id="Shape" fill="#FF4E4A" fill-rule="nonzero" ></path>
<path d="M105.4,85.7 L68.7,85.7 C66.5,85.7 64.7,83.9 64.7,81.7 L64.7,81.7 C64.7,79.5 66.5,77.7 68.7,77.7 L105.3,77.7 C107.5,77.7 109.3,79.5 109.3,81.7 L109.3,81.7 C109.4,83.9 107.6,85.7 105.4,85.7 Z" id="Shape" fill="#00B8D9" fill-rule="nonzero" ></path>
</g>
</g>
</g>
</g>
</svg>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/*! License: 3.4.0-migrate-conf-custom.js.LICENSE.txt */
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],(function(t){return e(t,window)})):"object"==typeof module&&module.exports?module.exports=e(require("jquery"),window):e(jQuery,window)}((function(e,t){"use strict";function r(t){return function(e,t){var r,n=/^(\d+)\.(\d+)\.(\d+)/,o=n.exec(e)||[],a=n.exec(t)||[];for(r=1;r<=3;r++){if(+o[r]>+a[r])return 1;if(+o[r]<+a[r])return-1}return 0}(e.fn.jquery,t)>=0}e.migrateVersion="3.4.0";var n=Object.create(null);e.migrateDisablePatches=function(){var e;for(e=0;e<arguments.length;e++)n[arguments[e]]=!0},e.migrateEnablePatches=function(){var e;for(e=0;e<arguments.length;e++)delete n[arguments[e]]},e.migrateIsPatchEnabled=function(e){return!n[e]},t.console&&t.console.log&&(e&&r("3.0.0")||t.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),e.migrateWarnings&&t.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),t.console.log("JQMIGRATE: Migrate is installed"+(e.migrateMute?"":" with logging active")+", version "+e.migrateVersion));var o={};function a(r,n){var a=t.console;!e.migrateIsPatchEnabled(r)||e.migrateDeduplicateWarnings&&o[n]||(o[n]=!0,e.migrateWarnings.push(n+" ["+r+"]"),t.jQueryLogger&&t.jQueryLogger({source:"page",action:"warn",actionSubject:"jquery-migrate",code:r,msg:n}),a&&a.warn&&!e.migrateMute&&(a.warn("JQMIGRATE: "+n),e.migrateTrace&&a.trace&&a.trace()))}function i(e,t,r,n,o){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return a(n,o),r},set:function(e){a(n,o),r=e}})}function s(t,r,n,o,i){var s=t[r];t[r]=function(){return i&&a(o,i),(e.migrateIsPatchEnabled(o)?n:s||e.noop).apply(this,arguments)}}function u(e,t,r,n,o){if(!o)throw new Error("No warning message provided");return s(e,t,r,n,o)}function c(e,t,r,n){return s(e,t,r,n)}e.migrateDeduplicateWarnings=!0,e.migrateWarnings=[],void 0===e.migrateTrace&&(e.migrateTrace=!0),e.migrateReset=function(){o={},e.migrateWarnings.length=0},"BackCompat"===t.document.compatMode&&a("quirks","jQuery is not compatible with Quirks Mode");var d,l={},p=e.fn.init,f=e.find,m=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,y=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,g=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;for(d in c(e.fn,"init",(function(t){var r=Array.prototype.slice.call(arguments);return e.migrateIsPatchEnabled("selector-empty-id")&&"string"==typeof t&&"#"===t&&(a("selector-empty-id","jQuery( '#' ) is not a valid selector"),r[0]=[]),p.apply(this,r)}),"selector-empty-id"),e.fn.init.prototype=e.fn,c(e,"find",(function(e){var r=Array.prototype.slice.call(arguments);if("string"==typeof e&&m.test(e))try{t.document.querySelector(e)}catch(n){e=e.replace(y,(function(e,t,r,n){return"["+t+r+'"'+n+'"]'}));try{t.document.querySelector(e),a("selector-hash","Attribute selector with '#' must be quoted: "+r[0]),r[0]=e}catch(e){a("selector-hash","Attribute selector with '#' was not fixed: "+r[0])}}return f.apply(this,r)}),"selector-hash"),f)Object.prototype.hasOwnProperty.call(f,d)&&(e.find[d]=f[d]);if(u(e.fn,"size",(function(){return this.length}),"size","jQuery.fn.size() is deprecated and removed; use the .length property"),u(e,"parseJSON",(function(){return JSON.parse.apply(null,arguments)}),"parseJSON","jQuery.parseJSON is deprecated; use JSON.parse"),u(e,"holdReady",e.holdReady,"holdReady","jQuery.holdReady is deprecated"),u(e,"unique",e.uniqueSort,"unique","jQuery.unique is deprecated; use jQuery.uniqueSort"),i(e.expr,"filters",e.expr.pseudos,"expr-pre-pseudos","jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),i(e.expr,":",e.expr.pseudos,"expr-pre-pseudos","jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),r("3.1.1")&&u(e,"trim",(function(e){return null==e?"":(e+"").replace(g,"")}),"trim","jQuery.trim is deprecated; use String.prototype.trim"),r("3.2.0")&&(u(e,"nodeName",(function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}),"nodeName","jQuery.nodeName is deprecated"),u(e,"isArray",Array.isArray,"isArray","jQuery.isArray is deprecated; use Array.isArray")),r("3.3.0")&&(u(e,"isNumeric",(function(e){var t=typeof e;return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))}),"isNumeric","jQuery.isNumeric() is deprecated"),e.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){l["[object "+t+"]"]=t.toLowerCase()})),u(e,"type",(function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[Object.prototype.toString.call(e)]||"object":typeof e}),"type","jQuery.type is deprecated"),u(e,"isFunction",(function(e){return"function"==typeof e}),"isFunction","jQuery.isFunction() is deprecated"),u(e,"isWindow",(function(e){return null!=e&&e===e.window}),"isWindow","jQuery.isWindow() is deprecated")),e.ajax){var h=e.ajax,v=/(=)\?(?=&|$)|\?\?/;c(e,"ajax",(function(){var e=h.apply(this,arguments);return e.promise&&(u(e,"success",e.done,"jqXHR-methods","jQXHR.success is deprecated and removed"),u(e,"error",e.fail,"jqXHR-methods","jQXHR.error is deprecated and removed"),u(e,"complete",e.always,"jqXHR-methods","jQXHR.complete is deprecated and removed")),e}),"jqXHR-methods"),r("4.0.0")||e.ajaxPrefilter("+json",(function(e){!1!==e.jsonp&&(v.test(e.url)||"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&v.test(e.data))&&a("jsonp-promotion","JSON-to-JSONP auto-promotion is deprecated")}))}var j=e.fn.removeAttr,b=e.fn.toggleClass,w=/\S+/g;function Q(e){return e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))}c(e.fn,"removeAttr",(function(t){var r=this;return e.each(t.match(w),(function(t,n){e.expr.match.bool.test(n)&&(a("removeAttr-bool","jQuery.fn.removeAttr no longer sets boolean properties: "+n),r.prop(n,!1))})),j.apply(this,arguments)}),"removeAttr-bool"),c(e.fn,"toggleClass",(function(t){return void 0!==t&&"boolean"!=typeof t?b.apply(this,arguments):(a("toggleClass-bool","jQuery.fn.toggleClass( boolean ) is deprecated"),this.each((function(){var r=this.getAttribute&&this.getAttribute("class")||"";r&&e.data(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":e.data(this,"__className__")||"")})))}),"toggleClass-bool");var x,A=!1,R=/^[a-z]/,S=/^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;e.swap&&e.each(["height","width","reliableMarginRight"],(function(t,r){var n=e.cssHooks[r]&&e.cssHooks[r].get;n&&(e.cssHooks[r].get=function(){var e;return A=!0,e=n.apply(this,arguments),A=!1,e})})),c(e,"swap",(function(e,t,r,n){var o,i,s={};for(i in A||a("swap","jQuery.swap() is undocumented and deprecated"),t)s[i]=e.style[i],e.style[i]=t[i];for(i in o=r.apply(e,n||[]),t)e.style[i]=s[i];return o}),"swap"),r("3.4.0")&&"undefined"!=typeof Proxy&&(e.cssProps=new Proxy(e.cssProps||{},{set:function(){return a("cssProps","jQuery.cssProps is deprecated"),Reflect.set.apply(this,arguments)}})),r("4.0.0")&&"undefined"!=typeof Proxy&&(e.cssNumber=new Proxy({animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},{get:function(){return a("css-number","jQuery.cssNumber is deprecated"),Reflect.get.apply(this,arguments)},set:function(){return a("css-number","jQuery.cssNumber is deprecated"),Reflect.set.apply(this,arguments)}})),x=e.fn.css,c(e.fn,"css",(function(t,r){var n,o,i=this;return t&&"object"==typeof t&&!Array.isArray(t)?(e.each(t,(function(t,r){e.fn.css.call(i,t,r)})),this):("number"==typeof r&&(o=n=Q(t),R.test(o)&&S.test(o[0].toUpperCase()+o.slice(1))||e.cssNumber[n]||a("css-number",'Number-typed values are deprecated for jQuery.fn.css( "'+t+'", value )')),x.apply(this,arguments))}),"css-number");var C=e.data;if(c(e,"data",(function(t,r,n){var o,i,s;if(r&&"object"==typeof r&&2===arguments.length){for(s in o=e.hasData(t)&&C.call(this,t),i={},r)s!==Q(s)?(a("data-camelCase","jQuery.data() always sets/gets camelCased names: "+s),o[s]=r[s]):i[s]=r[s];return C.call(this,t,i),r}return r&&"string"==typeof r&&r!==Q(r)&&(o=e.hasData(t)&&C.call(this,t))&&r in o?(a("data-camelCase","jQuery.data() always sets/gets camelCased names: "+r),arguments.length>2&&(o[r]=n),o[r]):C.apply(this,arguments)}),"data-camelCase"),e.fx){var N,P,k=e.Tween.prototype.run,H=function(e){return e};c(e.Tween.prototype,"run",(function(){e.easing[this.easing].length>1&&(a("easing-one-arg","'jQuery.easing."+this.easing.toString()+"' should use only one argument"),e.easing[this.easing]=H),k.apply(this,arguments)}),"easing-one-arg"),N=e.fx.interval,P="jQuery.fx.interval is deprecated",t.requestAnimationFrame&&Object.defineProperty(e.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return t.document.hidden||a("fx-interval",P),e.migrateIsPatchEnabled("fx-interval")&&void 0===N?13:N},set:function(e){a("fx-interval",P),N=e}})}var E=e.fn.load,q=e.event.add,M=e.event.fix;e.event.props=[],e.event.fixHooks={},i(e.event.props,"concat",e.event.props.concat,"event-old-patch","jQuery.event.props.concat() is deprecated and removed"),c(e.event,"fix",(function(t){var r,n=t.type,o=this.fixHooks[n],i=e.event.props;if(i.length)for(a("event-old-patch","jQuery.event.props are deprecated and removed: "+i.join());i.length;)e.event.addProp(i.pop());if(o&&!o._migrated_&&(o._migrated_=!0,a("event-old-patch","jQuery.event.fixHooks are deprecated and removed: "+n),(i=o.props)&&i.length))for(;i.length;)e.event.addProp(i.pop());return r=M.call(this,t),o&&o.filter?o.filter(r,t):r}),"event-old-patch"),c(e.event,"add",(function(e,r){return e===t&&"load"===r&&"complete"===t.document.readyState&&a("load-after-event","jQuery(window).on('load'...) called after load event occurred"),q.apply(this,arguments)}),"load-after-event"),e.each(["load","unload","error"],(function(t,r){c(e.fn,r,(function(){var e=Array.prototype.slice.call(arguments,0);return"load"===r&&"string"==typeof e[0]?E.apply(this,e):(a("shorthand-removed-v3","jQuery.fn."+r+"() is deprecated"),e.splice(0,0,r),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}),"shorthand-removed-v3")})),e.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(t,r){u(e.fn,r,(function(e,t){return arguments.length>0?this.on(r,null,e,t):this.trigger(r)}),"shorthand-deprecated-v3","jQuery.fn."+r+"() event shorthand is deprecated")})),e((function(){e(t.document).triggerHandler("ready")})),e.event.special.ready={setup:function(){this===t.document&&a("ready-event","'ready' event is deprecated")}},u(e.fn,"bind",(function(e,t,r){return this.on(e,null,t,r)}),"pre-on-methods","jQuery.fn.bind() is deprecated"),u(e.fn,"unbind",(function(e,t){return this.off(e,null,t)}),"pre-on-methods","jQuery.fn.unbind() is deprecated"),u(e.fn,"delegate",(function(e,t,r,n){return this.on(t,e,r,n)}),"pre-on-methods","jQuery.fn.delegate() is deprecated"),u(e.fn,"undelegate",(function(e,t,r){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)}),"pre-on-methods","jQuery.fn.undelegate() is deprecated"),u(e.fn,"hover",(function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}),"pre-on-methods","jQuery.fn.hover() is deprecated");var O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,T=function(e){var r=t.document.implementation.createHTMLDocument("");return r.body.innerHTML=e,r.body&&r.body.innerHTML};e.UNSAFE_restoreLegacyHtmlPrefilter=function(){e.migrateEnablePatches("self-closed-tags")},c(e,"htmlPrefilter",(function(e){return function(e){var t=e.replace(O,"<$1></$2>");t!==e&&T(e)!==T(t)&&a("self-closed-tags","HTML tags must be properly nested and closed: "+e)}(e),e.replace(O,"<$1></$2>")}),"self-closed-tags"),e.migrateDisablePatches("self-closed-tags");var D=e.fn.offset;if(c(e.fn,"offset",(function(){var e=this[0];return!e||e.nodeType&&e.getBoundingClientRect?D.apply(this,arguments):(a("offset-valid-elem","jQuery.fn.offset() requires a valid DOM element"),arguments.length?this:void 0)}),"offset-valid-elem"),e.ajax){var F=e.param;c(e,"param",(function(t,r){var n=e.ajaxSettings&&e.ajaxSettings.traditional;return void 0===r&&n&&(a("param-ajax-traditional","jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),r=n),F.call(this,t,r)}),"param-ajax-traditional")}if(u(e.fn,"andSelf",e.fn.addBack,"andSelf","jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),e.Deferred){var W=e.Deferred,_=[["resolve","done",e.Callbacks("once memory"),e.Callbacks("once memory"),"resolved"],["reject","fail",e.Callbacks("once memory"),e.Callbacks("once memory"),"rejected"],["notify","progress",e.Callbacks("memory"),e.Callbacks("memory")]];c(e,"Deferred",(function(t){var r=W(),n=r.promise();function o(){var t=arguments;return e.Deferred((function(o){e.each(_,(function(e,a){var i="function"==typeof t[e]&&t[e];r[a[1]]((function(){var e=i&&i.apply(this,arguments);e&&"function"==typeof e.promise?e.promise().done(o.resolve).fail(o.reject).progress(o.notify):o[a[0]+"With"](this===n?o.promise():this,i?[e]:arguments)}))})),t=null})).promise()}return u(r,"pipe",o,"deferred-pipe","deferred.pipe() is deprecated"),u(n,"pipe",o,"deferred-pipe","deferred.pipe() is deprecated"),t&&t.call(r,r),r}),"deferred-pipe"),e.Deferred.exceptionHook=W.exceptionHook}return e}));

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 3bca76b

Please sign in to comment.