├── .bowerrc
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .jshintrc
├── .kateconfig
├── Gruntfile.js
├── LICENSE.txt
├── README.md
├── app
├── .gitignore
├── 404.html
├── CNAME
├── bower_components
│ ├── angular-meditor
│ │ ├── .bower.json
│ │ ├── .bowerrc
│ │ ├── .editorconfig
│ │ ├── .gitattributes
│ │ ├── .jshintrc
│ │ ├── .kateconfig
│ │ ├── .nojekyll
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── bower.json
│ │ ├── dist
│ │ │ ├── meditor.css
│ │ │ ├── meditor.js
│ │ │ ├── meditor.min.css
│ │ │ └── meditor.min.js
│ │ └── robots.txt
│ ├── angular-mocks
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── angular-mocks.js
│ │ ├── bower.json
│ │ └── package.json
│ ├── angular-route
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── angular-route.js
│ │ ├── angular-route.min.js
│ │ ├── angular-route.min.js.map
│ │ ├── bower.json
│ │ └── package.json
│ ├── angular
│ │ ├── .bower.json
│ │ ├── README.md
│ │ ├── angular-csp.css
│ │ ├── angular.js
│ │ ├── angular.min.js
│ │ ├── angular.min.js.gzip
│ │ ├── angular.min.js.map
│ │ ├── bower.json
│ │ └── package.json
│ ├── blueimp-canvas-to-blob
│ │ ├── .bower.json
│ │ ├── bower.json
│ │ └── js
│ │ │ ├── canvas-to-blob.js
│ │ │ └── canvas-to-blob.min.js
│ ├── font-awesome
│ │ ├── .bower.json
│ │ ├── .gitignore
│ │ ├── HELP-US-OUT.txt
│ │ ├── bower.json
│ │ ├── css
│ │ │ ├── font-awesome.css
│ │ │ ├── font-awesome.css.map
│ │ │ └── font-awesome.min.css
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ │ ├── less
│ │ │ ├── animated.less
│ │ │ ├── bordered-pulled.less
│ │ │ ├── core.less
│ │ │ ├── fixed-width.less
│ │ │ ├── font-awesome.less
│ │ │ ├── icons.less
│ │ │ ├── larger.less
│ │ │ ├── list.less
│ │ │ ├── mixins.less
│ │ │ ├── path.less
│ │ │ ├── rotated-flipped.less
│ │ │ ├── stacked.less
│ │ │ └── variables.less
│ │ └── scss
│ │ │ ├── _animated.scss
│ │ │ ├── _bordered-pulled.scss
│ │ │ ├── _core.scss
│ │ │ ├── _fixed-width.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _larger.scss
│ │ │ ├── _list.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _path.scss
│ │ │ ├── _rotated-flipped.scss
│ │ │ ├── _stacked.scss
│ │ │ ├── _variables.scss
│ │ │ └── font-awesome.scss
│ ├── foundation-sites
│ │ ├── .babelrc
│ │ ├── .bower.json
│ │ ├── .bowerrc
│ │ ├── .eslintrc
│ │ ├── .github
│ │ │ ├── ISSUE_TEMPLATE.md
│ │ │ └── PULL_REQUEST_TEMPLATE.md
│ │ ├── .scss-lint.yml
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── assets
│ │ │ ├── foundation-flex.scss
│ │ │ ├── foundation-rtl.scss
│ │ │ └── foundation.scss
│ │ ├── bower.json
│ │ ├── code-of-conduct.md
│ │ ├── customizer
│ │ │ ├── complete.json
│ │ │ ├── config.yml
│ │ │ ├── essential.json
│ │ │ └── index.html
│ │ ├── dist
│ │ │ ├── foundation-flex.css
│ │ │ ├── foundation-flex.min.css
│ │ │ ├── foundation-rtl.css
│ │ │ ├── foundation-rtl.min.css
│ │ │ ├── foundation.css
│ │ │ ├── foundation.js
│ │ │ ├── foundation.min.css
│ │ │ ├── foundation.min.js
│ │ │ └── plugins
│ │ │ │ ├── foundation.abide.js
│ │ │ │ ├── foundation.accordion.js
│ │ │ │ ├── foundation.accordionMenu.js
│ │ │ │ ├── foundation.core.js
│ │ │ │ ├── foundation.drilldown.js
│ │ │ │ ├── foundation.dropdown.js
│ │ │ │ ├── foundation.dropdownMenu.js
│ │ │ │ ├── foundation.equalizer.js
│ │ │ │ ├── foundation.interchange.js
│ │ │ │ ├── foundation.magellan.js
│ │ │ │ ├── foundation.offcanvas.js
│ │ │ │ ├── foundation.orbit.js
│ │ │ │ ├── foundation.responsiveMenu.js
│ │ │ │ ├── foundation.responsiveToggle.js
│ │ │ │ ├── foundation.reveal.js
│ │ │ │ ├── foundation.slider.js
│ │ │ │ ├── foundation.sticky.js
│ │ │ │ ├── foundation.tabs.js
│ │ │ │ ├── foundation.toggler.js
│ │ │ │ ├── foundation.tooltip.js
│ │ │ │ ├── foundation.util.box.js
│ │ │ │ ├── foundation.util.keyboard.js
│ │ │ │ ├── foundation.util.mediaQuery.js
│ │ │ │ ├── foundation.util.motion.js
│ │ │ │ ├── foundation.util.nest.js
│ │ │ │ ├── foundation.util.timerAndImageLoader.js
│ │ │ │ ├── foundation.util.touch.js
│ │ │ │ └── foundation.util.triggers.js
│ │ ├── docslink.sh
│ │ ├── js
│ │ │ ├── foundation.abide.js
│ │ │ ├── foundation.accordion.js
│ │ │ ├── foundation.accordionMenu.js
│ │ │ ├── foundation.core.js
│ │ │ ├── foundation.drilldown.js
│ │ │ ├── foundation.dropdown.js
│ │ │ ├── foundation.dropdownMenu.js
│ │ │ ├── foundation.equalizer.js
│ │ │ ├── foundation.interchange.js
│ │ │ ├── foundation.magellan.js
│ │ │ ├── foundation.offcanvas.js
│ │ │ ├── foundation.orbit.js
│ │ │ ├── foundation.responsiveMenu.js
│ │ │ ├── foundation.responsiveToggle.js
│ │ │ ├── foundation.reveal.js
│ │ │ ├── foundation.slider.js
│ │ │ ├── foundation.sticky.js
│ │ │ ├── foundation.tabs.js
│ │ │ ├── foundation.toggler.js
│ │ │ ├── foundation.tooltip.js
│ │ │ ├── foundation.util.box.js
│ │ │ ├── foundation.util.keyboard.js
│ │ │ ├── foundation.util.mediaQuery.js
│ │ │ ├── foundation.util.motion.js
│ │ │ ├── foundation.util.nest.js
│ │ │ ├── foundation.util.timerAndImageLoader.js
│ │ │ ├── foundation.util.touch.js
│ │ │ └── foundation.util.triggers.js
│ │ └── scss
│ │ │ ├── _global.scss
│ │ │ ├── components
│ │ │ ├── _accordion-menu.scss
│ │ │ ├── _accordion.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _breadcrumbs.scss
│ │ │ ├── _button-group.scss
│ │ │ ├── _button.scss
│ │ │ ├── _callout.scss
│ │ │ ├── _close-button.scss
│ │ │ ├── _drilldown.scss
│ │ │ ├── _dropdown-menu.scss
│ │ │ ├── _dropdown.scss
│ │ │ ├── _flex-video.scss
│ │ │ ├── _flex.scss
│ │ │ ├── _float.scss
│ │ │ ├── _label.scss
│ │ │ ├── _media-object.scss
│ │ │ ├── _menu-icon.scss
│ │ │ ├── _menu.scss
│ │ │ ├── _off-canvas.scss
│ │ │ ├── _orbit.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _progress-bar.scss
│ │ │ ├── _reveal.scss
│ │ │ ├── _slider.scss
│ │ │ ├── _sticky.scss
│ │ │ ├── _switch.scss
│ │ │ ├── _table.scss
│ │ │ ├── _tabs.scss
│ │ │ ├── _thumbnail.scss
│ │ │ ├── _title-bar.scss
│ │ │ ├── _tooltip.scss
│ │ │ ├── _top-bar.scss
│ │ │ └── _visibility.scss
│ │ │ ├── forms
│ │ │ ├── _checkbox.scss
│ │ │ ├── _error.scss
│ │ │ ├── _fieldset.scss
│ │ │ ├── _forms.scss
│ │ │ ├── _help-text.scss
│ │ │ ├── _input-group.scss
│ │ │ ├── _label.scss
│ │ │ ├── _meter.scss
│ │ │ ├── _progress.scss
│ │ │ ├── _range.scss
│ │ │ ├── _select.scss
│ │ │ └── _text.scss
│ │ │ ├── foundation.scss
│ │ │ ├── grid
│ │ │ ├── _classes.scss
│ │ │ ├── _column.scss
│ │ │ ├── _flex-grid.scss
│ │ │ ├── _grid.scss
│ │ │ ├── _gutter.scss
│ │ │ ├── _layout.scss
│ │ │ ├── _position.scss
│ │ │ ├── _row.scss
│ │ │ └── _size.scss
│ │ │ ├── settings
│ │ │ └── _settings.scss
│ │ │ ├── typography
│ │ │ ├── _alignment.scss
│ │ │ ├── _base.scss
│ │ │ ├── _helpers.scss
│ │ │ ├── _print.scss
│ │ │ └── _typography.scss
│ │ │ └── util
│ │ │ ├── _breakpoint.scss
│ │ │ ├── _color.scss
│ │ │ ├── _flex.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _selector.scss
│ │ │ ├── _unit.scss
│ │ │ ├── _util.scss
│ │ │ └── _value.scss
│ ├── html2canvas
│ │ ├── .bower.json
│ │ ├── .gitignore
│ │ ├── .gitmodules
│ │ ├── .jshintrc
│ │ ├── CHANGELOG.md
│ │ ├── Gruntfile.js
│ │ ├── LICENSE
│ │ ├── bower.json
│ │ ├── dist
│ │ │ ├── html2canvas.js
│ │ │ ├── html2canvas.min.js
│ │ │ ├── html2canvas.svg.js
│ │ │ └── html2canvas.svg.min.js
│ │ ├── examples
│ │ │ ├── demo.html
│ │ │ ├── demo2.html
│ │ │ └── existing_canvas.html
│ │ ├── package.json
│ │ ├── readme.md
│ │ └── src
│ │ │ ├── clone.js
│ │ │ ├── color.js
│ │ │ ├── core.js
│ │ │ ├── dummyimagecontainer.js
│ │ │ ├── font.js
│ │ │ ├── fontmetrics.js
│ │ │ ├── framecontainer.js
│ │ │ ├── gradientcontainer.js
│ │ │ ├── imagecontainer.js
│ │ │ ├── imageloader.js
│ │ │ ├── lineargradientcontainer.js
│ │ │ ├── log.js
│ │ │ ├── nodecontainer.js
│ │ │ ├── nodeparser.js
│ │ │ ├── promise.js
│ │ │ ├── proxy.js
│ │ │ ├── proxyimagecontainer.js
│ │ │ ├── pseudoelementcontainer.js
│ │ │ ├── renderer.js
│ │ │ ├── renderers
│ │ │ └── canvas.js
│ │ │ ├── stackingcontext.js
│ │ │ ├── support.js
│ │ │ ├── svgcontainer.js
│ │ │ ├── svgnodecontainer.js
│ │ │ ├── textcontainer.js
│ │ │ ├── utils.js
│ │ │ ├── webkitgradientcontainer.js
│ │ │ └── xhr.js
│ ├── jquery
│ │ ├── .bower.json
│ │ ├── AUTHORS.txt
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── bower.json
│ │ ├── dist
│ │ │ ├── jquery.js
│ │ │ ├── jquery.min.js
│ │ │ ├── jquery.min.map
│ │ │ ├── jquery.slim.js
│ │ │ ├── jquery.slim.min.js
│ │ │ └── jquery.slim.min.map
│ │ ├── sizzle
│ │ │ ├── LICENSE.txt
│ │ │ └── dist
│ │ │ │ ├── sizzle.js
│ │ │ │ ├── sizzle.min.js
│ │ │ │ └── sizzle.min.map
│ │ └── src
│ │ │ ├── .jshintrc
│ │ │ ├── ajax.js
│ │ │ ├── ajax
│ │ │ ├── jsonp.js
│ │ │ ├── load.js
│ │ │ ├── parseJSON.js
│ │ │ ├── parseXML.js
│ │ │ ├── script.js
│ │ │ ├── var
│ │ │ │ ├── location.js
│ │ │ │ ├── nonce.js
│ │ │ │ └── rquery.js
│ │ │ └── xhr.js
│ │ │ ├── attributes.js
│ │ │ ├── attributes
│ │ │ ├── attr.js
│ │ │ ├── classes.js
│ │ │ ├── prop.js
│ │ │ ├── support.js
│ │ │ └── val.js
│ │ │ ├── callbacks.js
│ │ │ ├── core.js
│ │ │ ├── core
│ │ │ ├── DOMEval.js
│ │ │ ├── access.js
│ │ │ ├── init.js
│ │ │ ├── parseHTML.js
│ │ │ ├── ready.js
│ │ │ ├── support.js
│ │ │ └── var
│ │ │ │ └── rsingleTag.js
│ │ │ ├── css.js
│ │ │ ├── css
│ │ │ ├── addGetHookIf.js
│ │ │ ├── adjustCSS.js
│ │ │ ├── curCSS.js
│ │ │ ├── defaultDisplay.js
│ │ │ ├── hiddenVisibleSelectors.js
│ │ │ ├── showHide.js
│ │ │ ├── support.js
│ │ │ └── var
│ │ │ │ ├── cssExpand.js
│ │ │ │ ├── getStyles.js
│ │ │ │ ├── isHidden.js
│ │ │ │ ├── rmargin.js
│ │ │ │ ├── rnumnonpx.js
│ │ │ │ └── swap.js
│ │ │ ├── data.js
│ │ │ ├── data
│ │ │ ├── Data.js
│ │ │ ├── accepts.js
│ │ │ ├── support.js
│ │ │ └── var
│ │ │ │ ├── acceptData.js
│ │ │ │ ├── dataPriv.js
│ │ │ │ └── dataUser.js
│ │ │ ├── deferred.js
│ │ │ ├── deferred
│ │ │ └── exceptionHook.js
│ │ │ ├── deprecated.js
│ │ │ ├── dimensions.js
│ │ │ ├── effects.js
│ │ │ ├── effects
│ │ │ ├── Tween.js
│ │ │ ├── animatedSelector.js
│ │ │ └── support.js
│ │ │ ├── event.js
│ │ │ ├── event
│ │ │ ├── ajax.js
│ │ │ ├── alias.js
│ │ │ ├── focusin.js
│ │ │ ├── support.js
│ │ │ └── trigger.js
│ │ │ ├── exports
│ │ │ ├── amd.js
│ │ │ └── global.js
│ │ │ ├── intro.js
│ │ │ ├── jquery.js
│ │ │ ├── manipulation.js
│ │ │ ├── manipulation
│ │ │ ├── _evalUrl.js
│ │ │ ├── buildFragment.js
│ │ │ ├── createSafeFragment.js
│ │ │ ├── getAll.js
│ │ │ ├── setGlobalEval.js
│ │ │ ├── support.js
│ │ │ ├── var
│ │ │ │ ├── nodeNames.js
│ │ │ │ ├── rcheckableType.js
│ │ │ │ ├── rleadingWhitespace.js
│ │ │ │ ├── rscriptType.js
│ │ │ │ └── rtagName.js
│ │ │ └── wrapMap.js
│ │ │ ├── offset.js
│ │ │ ├── outro.js
│ │ │ ├── queue.js
│ │ │ ├── queue
│ │ │ └── delay.js
│ │ │ ├── selector-native.js
│ │ │ ├── selector-sizzle.js
│ │ │ ├── selector.js
│ │ │ ├── serialize.js
│ │ │ ├── support.js
│ │ │ ├── traversing.js
│ │ │ ├── traversing
│ │ │ ├── findFilter.js
│ │ │ └── var
│ │ │ │ ├── dir.js
│ │ │ │ ├── rneedsContext.js
│ │ │ │ └── siblings.js
│ │ │ ├── var
│ │ │ ├── arr.js
│ │ │ ├── class2type.js
│ │ │ ├── concat.js
│ │ │ ├── deletedIds.js
│ │ │ ├── document.js
│ │ │ ├── documentElement.js
│ │ │ ├── hasOwn.js
│ │ │ ├── indexOf.js
│ │ │ ├── pnum.js
│ │ │ ├── push.js
│ │ │ ├── rcssNum.js
│ │ │ ├── rnotwhite.js
│ │ │ ├── slice.js
│ │ │ ├── support.js
│ │ │ └── toString.js
│ │ │ └── wrap.js
│ └── jspdf
│ │ ├── .bower.json
│ │ ├── MIT-LICENSE.txt
│ │ ├── README.md
│ │ ├── bower.json
│ │ ├── dist
│ │ ├── jspdf.debug.js
│ │ └── jspdf.min.js
│ │ ├── doc
│ │ ├── files.html
│ │ ├── index.html
│ │ └── symbols
│ │ │ ├── FontObject.html
│ │ │ ├── PubSub.html
│ │ │ ├── _global_.html
│ │ │ ├── jsPDF-PubSub.html
│ │ │ ├── jsPDF-jsPDF.html
│ │ │ ├── jsPDF.html
│ │ │ ├── jsPDFClass.html
│ │ │ └── src
│ │ │ ├── c__work_jsPDF_jspdf.js.html
│ │ │ ├── c__work_jsPDF_tools_jspdf.js.html
│ │ │ └── jspdf.js.html
│ │ ├── examples
│ │ ├── basic.html
│ │ ├── bootstrap
│ │ │ ├── css
│ │ │ │ ├── bootstrap-responsive.css
│ │ │ │ ├── bootstrap-responsive.min.css
│ │ │ │ ├── bootstrap.css
│ │ │ │ └── bootstrap.min.css
│ │ │ ├── img
│ │ │ │ ├── glyphicons-halflings-white.png
│ │ │ │ └── glyphicons-halflings.png
│ │ │ └── js
│ │ │ │ ├── bootstrap.js
│ │ │ │ └── bootstrap.min.js
│ │ ├── css
│ │ │ ├── editor.css
│ │ │ ├── main.css
│ │ │ └── smoothness
│ │ │ │ ├── images
│ │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png
│ │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png
│ │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png
│ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png
│ │ │ │ ├── ui-bg_glass_75_dadada_1x400.png
│ │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png
│ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png
│ │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png
│ │ │ │ ├── ui-icons_222222_256x240.png
│ │ │ │ ├── ui-icons_2e83ff_256x240.png
│ │ │ │ ├── ui-icons_454545_256x240.png
│ │ │ │ ├── ui-icons_888888_256x240.png
│ │ │ │ └── ui-icons_cd0a0a_256x240.png
│ │ │ │ └── jquery-ui-1.8.17.custom.css
│ │ ├── downloadify.html
│ │ ├── images.html
│ │ ├── images
│ │ │ ├── 24_bit.png
│ │ │ ├── 32_bit.png
│ │ │ ├── RGBA_16bpc.png
│ │ │ ├── RGB_16bpc.png
│ │ │ ├── grayscale_16bpc.png
│ │ │ ├── grayscale_8bpc.png
│ │ │ ├── grayscale_alpha_16_bpc.png
│ │ │ ├── grayscale_alpha_8bpc.png
│ │ │ ├── grid.png
│ │ │ ├── jpg.jpg
│ │ │ ├── png8_flat.png
│ │ │ ├── png8_trans.png
│ │ │ └── tiny_png_indexed.png
│ │ ├── jaxer.html
│ │ ├── js
│ │ │ ├── basic.js
│ │ │ ├── circles.js
│ │ │ ├── editor.js
│ │ │ ├── font-faces.js
│ │ │ ├── font-size.js
│ │ │ ├── from-html.js
│ │ │ ├── html2canvas.js
│ │ │ ├── images.js
│ │ │ ├── jquery
│ │ │ │ ├── jquery-1.7.1.min.js
│ │ │ │ └── jquery-ui-1.8.17.custom.min.js
│ │ │ ├── kitchen-sink.js
│ │ │ ├── landscape.js
│ │ │ ├── lines.js
│ │ │ ├── rectangles.js
│ │ │ ├── string-splitting.js
│ │ │ ├── text-colors.js
│ │ │ ├── theme-ambiance.js
│ │ │ ├── triangles.js
│ │ │ ├── two-page.js
│ │ │ └── user-input.js
│ │ ├── null-logo-trans.png
│ │ ├── octocat.jpg
│ │ ├── octocat.png
│ │ ├── runner.html
│ │ └── thinking-monkey.jpg
│ │ └── index.html
├── favicon.ico
├── images
│ ├── banner-social.png
│ ├── bizcardmaker-logo.png
│ ├── blog
│ │ ├── icon-cdn.png
│ │ ├── icon-chat.png
│ │ ├── icon-lower-prices.png
│ │ ├── icon-new-themes.png
│ │ ├── icon-new-ui.png
│ │ ├── icon-shipping.png
│ │ ├── pdf-download-new.png
│ │ ├── post-picture-auto-save.png
│ │ ├── post-picture-default.png
│ │ ├── post-picture-februrary.png
│ │ ├── post-picture-october.png
│ │ ├── post-picture-pdf-download.png
│ │ ├── post-picture-september.png
│ │ ├── theme-new-autumn.png
│ │ ├── theme-new-city-lights.jpg
│ │ ├── theme-new-line.png
│ │ └── theme-new-space.jpg
│ ├── chrome-app.png
│ ├── logo-brandcrowd.svg
│ ├── logo-pgprint.png
│ ├── logo-smashinglogo.png
│ ├── social-promo-banner.png
│ └── themes
│ │ ├── city.jpg
│ │ ├── diagonals.png
│ │ ├── food.png
│ │ ├── restaurant.png
│ │ ├── school.png
│ │ ├── space.jpg
│ │ ├── stardust.png
│ │ ├── winter.jpg
│ │ ├── winter2.jpg
│ │ └── winter3.jpg
├── robots.txt
├── scripts
│ ├── analytics.js
│ ├── app.js
│ ├── controllers
│ │ └── main.js
│ ├── directives
│ │ ├── drag.js
│ │ └── fileread.js
│ ├── gorgiastemplates.js
│ ├── newsletter.js
│ ├── pdf.js
│ ├── safari.js
│ ├── sw.js
│ ├── themes.js
│ ├── util.js
│ └── website.js
├── styles
│ ├── _affiliate-logo.scss
│ ├── _affiliate-print.scss
│ ├── _app.scss
│ ├── _gorgiastemplates.scss
│ ├── _help.scss
│ ├── _sidebar.scss
│ ├── _themes.scss
│ ├── _utils.scss
│ ├── _website.scss
│ ├── main.scss
│ └── themes
│ │ ├── _border.scss
│ │ ├── _corners.scss
│ │ ├── _diagonals.scss
│ │ ├── _half.scss
│ │ ├── _line.scss
│ │ ├── _picture.scss
│ │ ├── _simple.scss
│ │ ├── _third.scss
│ │ └── _topline.scss
└── templates
│ ├── about.hbs
│ ├── blog
│ ├── 2014-09-22-welcome.hbs
│ ├── 2014-09-29-september-updates.hbs
│ ├── 2014-10-29-october-tricks-treats.hbs
│ ├── 2014-12-12-save-card.hbs
│ ├── 2015-02-17-february-updates.hbs
│ ├── 2016-03-28-better-pdf-download.hbs
│ └── index.hbs
│ ├── contact.hbs
│ ├── faq.hbs
│ ├── index.hbs
│ ├── layouts
│ ├── content.html
│ ├── page.html
│ └── post.html
│ ├── partials
│ ├── affiliate-logo.html
│ ├── card-editor.html
│ ├── footer.html
│ ├── gorgiastemplates.html
│ └── help.html
│ ├── privacy.hbs
│ └── sitemap.xml
├── artwork
├── banner-250x125.png
├── banner-250x125.svg
├── banner-300x150.png
├── banner-300x150.svg
├── banner-800x400.png
├── banner-800x400.svg
├── bizcardmaker-screenshot-1280x800-2.png
├── bizcardmaker-screenshot-1280x800.png
├── bizcardmaker-screenshot-closeup.png
├── bizcardmaker-screenshot-closeup2.png
├── bizcardmaker-screenshot-old.png
├── blog
│ ├── icon-cdn.svg
│ ├── icon-chat.svg
│ ├── icon-lower-prices.svg
│ ├── icon-new-themes.svg
│ ├── icon-new-ui.svg
│ ├── icon-shipping.svg
│ ├── post-picture-auto-save.svg
│ ├── post-picture-default.svg
│ ├── post-picture-february.svg
│ ├── post-picture-october.svg
│ ├── post-picture-pdf-download.svg
│ └── post-picture-september.svg
├── chrome-icon.svg
├── chrome-tile-large.png
├── chrome-tile-large.svg
├── chrome-tile-marquee.png
├── chrome-tile-marquee.svg
├── chrome-tile-small.png
├── chrome-tile-small.svg
├── creditcard-cvc.svg
├── facebook-icon-green.png
├── facebook-icon-orange.png
├── facebook-icon.png
├── facebook-icon.svg
├── icon.svg
├── newslestter-logo.png
├── newsletter-logo.svg
├── promo-dailysteals.svg
├── promo-weebly.svg
├── promo-wix.svg
├── square-icon.png
├── square-icon.svg
├── twitter-banner.png
└── twitter-banner.svg
├── bower.json
├── chrome-app
├── bizcardmaker-icon-128.png
├── bizcardmaker-icon-16.png
├── bizcardmaker-icon-48.png
└── manifest.json
├── generate-themes.js
├── package-lock.json
├── package.json
├── tasks
└── swPrecache.js
├── tests
├── e2e
│ └── themes.spec.js
├── media
│ └── themes-orig
│ │ ├── bizcardmaker-com-theme-border--black.jpg
│ │ ├── bizcardmaker-com-theme-border--blue.jpg
│ │ ├── bizcardmaker-com-theme-border--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-border--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-border--green.jpg
│ │ ├── bizcardmaker-com-theme-border--orange.jpg
│ │ ├── bizcardmaker-com-theme-border--pink.jpg
│ │ ├── bizcardmaker-com-theme-border--purple.jpg
│ │ ├── bizcardmaker-com-theme-border--red.jpg
│ │ ├── bizcardmaker-com-theme-border--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-corners--black.jpg
│ │ ├── bizcardmaker-com-theme-corners--blue.jpg
│ │ ├── bizcardmaker-com-theme-corners--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-corners--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-corners--green.jpg
│ │ ├── bizcardmaker-com-theme-corners--orange.jpg
│ │ ├── bizcardmaker-com-theme-corners--pink.jpg
│ │ ├── bizcardmaker-com-theme-corners--purple.jpg
│ │ ├── bizcardmaker-com-theme-corners--red.jpg
│ │ ├── bizcardmaker-com-theme-corners--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-corners--white.jpg
│ │ ├── bizcardmaker-com-theme-diagonals.jpg
│ │ ├── bizcardmaker-com-theme-half--black.jpg
│ │ ├── bizcardmaker-com-theme-half--blue.jpg
│ │ ├── bizcardmaker-com-theme-half--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-half--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-half--green.jpg
│ │ ├── bizcardmaker-com-theme-half--orange.jpg
│ │ ├── bizcardmaker-com-theme-half--pink.jpg
│ │ ├── bizcardmaker-com-theme-half--purple.jpg
│ │ ├── bizcardmaker-com-theme-half--red.jpg
│ │ ├── bizcardmaker-com-theme-half--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-line--black.jpg
│ │ ├── bizcardmaker-com-theme-line--blue.jpg
│ │ ├── bizcardmaker-com-theme-line--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-line--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-line--green.jpg
│ │ ├── bizcardmaker-com-theme-line--orange.jpg
│ │ ├── bizcardmaker-com-theme-line--pink.jpg
│ │ ├── bizcardmaker-com-theme-line--purple.jpg
│ │ ├── bizcardmaker-com-theme-line--red.jpg
│ │ ├── bizcardmaker-com-theme-line--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-picture--city-half-black.jpg
│ │ ├── bizcardmaker-com-theme-picture--city-half.jpg
│ │ ├── bizcardmaker-com-theme-picture--city-top-black.jpg
│ │ ├── bizcardmaker-com-theme-picture--city-top.jpg
│ │ ├── bizcardmaker-com-theme-picture--food-full.jpg
│ │ ├── bizcardmaker-com-theme-picture--restaurant-full.jpg
│ │ ├── bizcardmaker-com-theme-picture--school-full.jpg
│ │ ├── bizcardmaker-com-theme-picture--space-full.jpg
│ │ ├── bizcardmaker-com-theme-picture--space-half-black.jpg
│ │ ├── bizcardmaker-com-theme-picture--space-half.jpg
│ │ ├── bizcardmaker-com-theme-picture--space-top-black.jpg
│ │ ├── bizcardmaker-com-theme-picture--space-top.jpg
│ │ ├── bizcardmaker-com-theme-picture--stardust-full.jpg
│ │ ├── bizcardmaker-com-theme-simple--black.jpg
│ │ ├── bizcardmaker-com-theme-simple--blue.jpg
│ │ ├── bizcardmaker-com-theme-simple--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-simple--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-simple--green.jpg
│ │ ├── bizcardmaker-com-theme-simple--orange.jpg
│ │ ├── bizcardmaker-com-theme-simple--pink.jpg
│ │ ├── bizcardmaker-com-theme-simple--purple.jpg
│ │ ├── bizcardmaker-com-theme-simple--red.jpg
│ │ ├── bizcardmaker-com-theme-simple--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-simple--white.jpg
│ │ ├── bizcardmaker-com-theme-third--black.jpg
│ │ ├── bizcardmaker-com-theme-third--blue.jpg
│ │ ├── bizcardmaker-com-theme-third--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-third--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-third--green.jpg
│ │ ├── bizcardmaker-com-theme-third--orange.jpg
│ │ ├── bizcardmaker-com-theme-third--pink.jpg
│ │ ├── bizcardmaker-com-theme-third--purple.jpg
│ │ ├── bizcardmaker-com-theme-third--red.jpg
│ │ ├── bizcardmaker-com-theme-third--turquoise.jpg
│ │ ├── bizcardmaker-com-theme-topline--black.jpg
│ │ ├── bizcardmaker-com-theme-topline--blue.jpg
│ │ ├── bizcardmaker-com-theme-topline--dark-blue.jpg
│ │ ├── bizcardmaker-com-theme-topline--dark-green.jpg
│ │ ├── bizcardmaker-com-theme-topline--green.jpg
│ │ ├── bizcardmaker-com-theme-topline--orange.jpg
│ │ ├── bizcardmaker-com-theme-topline--pink.jpg
│ │ ├── bizcardmaker-com-theme-topline--purple.jpg
│ │ ├── bizcardmaker-com-theme-topline--red.jpg
│ │ └── bizcardmaker-com-theme-topline--turquoise.jpg
├── protractor.conf.js
└── themes
│ ├── themes-diff.js
│ └── themes-diff.spec.js
└── themes.json
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "app/bower_components"
3 | }
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 |
9 | # Change these settings to your own preference
10 | indent_style = space
11 | indent_size = 2
12 |
13 | # We recommend you to keep these unchanged
14 | end_of_line = lf
15 | charset = utf-8
16 | trim_trailing_whitespace = true
17 | insert_final_newline = true
18 |
19 | [*.md]
20 | trim_trailing_whitespace = false
21 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .tmp
3 | .sass-cache
4 | public/
5 | npm-debug.log
6 | deploy.json
7 | tests/media/themes
8 | tests/media/themes-diff
9 |
10 | # Editor
11 | .kateproject
12 | .kateproject.d
13 | *.kate-swp
14 |
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "node": true,
3 | "browser": true,
4 | "esnext": true,
5 | "bitwise": true,
6 | "camelcase": false,
7 | "curly": true,
8 | "eqeqeq": true,
9 | "immed": true,
10 | "indent": 2,
11 | "latedef": true,
12 | "newcap": false,
13 | "noarg": true,
14 | "quotmark": "single",
15 | "regexp": true,
16 | "undef": true,
17 | "unused": false,
18 | "strict": false,
19 | "trailing": true,
20 | "smarttabs": true,
21 | "globals": {
22 | "angular": false,
23 | "$": false,
24 | "jQuery": false,
25 | "ga": false,
26 | "jsPDF": false,
27 | "saveAs": false,
28 | "html2canvas": false,
29 | "Draggabilly": false,
30 | "Foundation": false,
31 | "app": true,
32 | "env": true,
33 | "apiUrl": true,
34 | "printchompUrl": true
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/.kateconfig:
--------------------------------------------------------------------------------
1 | kate: replace-tabs on; tab-width 2; indent-width 2; eol unix;
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
7 |
8 | > Easily create business cards in the browser, using high quality professional designs.
9 |
10 | Business Card Maker is mainly built with [AngularJS](https://angularjs.org/) and [Foundation](http://foundation.zurb.com/).
11 |
12 | It uses [HTML2Canvas](http://html2canvas.hertzen.com/) and [jsPDF](http://parall.ax/products/jspdf) to generate the final business card, as a picture or PDF.
13 |
14 | ## Development
15 |
16 | Make sure you have Node.js `>=0.8.0` installed.
17 |
18 | Run the initial setup with:
19 |
20 | ```
21 | npm install -g grunt-cli
22 | npm install
23 | ```
24 |
25 | Run the app in development mode with:
26 |
27 | ```
28 | grunt server
29 | ```
30 |
31 | Before finishing up a feature, check the final build with:
32 |
33 | ```
34 | grunt server:dist
35 | ```
36 |
37 | Everything related to the Angular app is in the `/app` folder.
38 |
39 | **Don't edit anything outside the `/app` folder.**
40 |
41 |
42 | ## License
43 |
44 | This projected is licensed under the terms of the GNU AFFERO GENERAL PUBLIC license.
45 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | sitemap.html
2 |
--------------------------------------------------------------------------------
/app/CNAME:
--------------------------------------------------------------------------------
1 | www.bizcardmaker.com
2 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-meditor",
3 | "version": "1.3.0",
4 | "authors": [
5 | "Ionut Colceriu "
6 | ],
7 | "ignore": [
8 | "node_modules/",
9 | "app/",
10 | "public/",
11 | ".sass-cache",
12 | ".gitignore",
13 | "npm-debug.log",
14 | "CHANGELOG.md",
15 | "Gruntfile.js",
16 | "component.json",
17 | "package.json"
18 | ],
19 | "repository": {
20 | "type": "git",
21 | "url": "git://github.com/ghinda/angular-meditor.git"
22 | },
23 | "dependencies": {
24 | "angular": "~1.2",
25 | "jquery": "~2"
26 | },
27 | "devDependencies": {
28 | "bourbon": "~3",
29 | "angular-route": "~1.2"
30 | },
31 | "homepage": "https://github.com/ghinda/angular-meditor",
32 | "_release": "1.3.0",
33 | "_resolution": {
34 | "type": "version",
35 | "tag": "v1.3.0",
36 | "commit": "0abe3da6349598d53678af5d26a8631930b1ea89"
37 | },
38 | "_source": "git://github.com/ghinda/angular-meditor.git",
39 | "_target": "1.3.0",
40 | "_originalSource": "angular-meditor"
41 | }
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "app/bower_components"
3 | }
4 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 |
9 | # Change these settings to your own preference
10 | indent_style = space
11 |
12 | # We recommend you to keep these unchanged
13 | end_of_line = lf
14 | charset = utf-8
15 | trim_trailing_whitespace = true
16 | insert_final_newline = true
17 |
18 | [*.md]
19 | trim_trailing_whitespace = false
20 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "node": true,
3 | "browser": true,
4 | "esnext": true,
5 | "bitwise": true,
6 | "camelcase": false,
7 | "curly": true,
8 | "eqeqeq": true,
9 | "immed": true,
10 | "indent": 2,
11 | "latedef": true,
12 | "newcap": false,
13 | "noarg": true,
14 | "quotmark": "single",
15 | "regexp": true,
16 | "undef": true,
17 | "unused": false,
18 | "strict": true,
19 | "trailing": true,
20 | "smarttabs": true,
21 | "globals": {
22 | "angular": false,
23 | "$": false,
24 | "jQuery": false,
25 | "ga": false,
26 | "app": true,
27 | "WebFont": true
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.kateconfig:
--------------------------------------------------------------------------------
1 | kate: replace-tabs on; tab-width 2; indent-width 2; eol unix;
2 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/.nojekyll:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Ionut Colceriu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/README.md:
--------------------------------------------------------------------------------
1 | angular-meditor
2 | ===============
3 |
4 | Simple floating text editor for Angular, inspired by Medium.
5 |
6 | As used by [Business Card Maker](http://bizcardmaker.com/).
7 |
8 | Inspired by Medium and [MediumEditor](https://github.com/daviferreira/medium-editor).
9 |
10 | Features
11 | --------
12 |
13 | * Dynamic font family loading from Google Fonts
14 | * Multiple editors on a single page
15 | * Edit existing content with transclusion
16 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-meditor",
3 | "version": "1.3.0",
4 | "authors": [
5 | "Ionut Colceriu "
6 | ],
7 | "ignore": [
8 | "node_modules/",
9 | "app/",
10 | "public/",
11 | ".sass-cache",
12 | ".gitignore",
13 | "npm-debug.log",
14 | "CHANGELOG.md",
15 | "Gruntfile.js",
16 | "component.json",
17 | "package.json"
18 | ],
19 | "repository": {
20 | "type": "git",
21 | "url": "git://github.com/ghinda/angular-meditor.git"
22 | },
23 | "dependencies": {
24 | "angular": "~1.2",
25 | "jquery": "~2"
26 | },
27 | "devDependencies": {
28 | "bourbon": "~3",
29 | "angular-route": "~1.2"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/bower_components/angular-meditor/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org
2 |
3 | User-agent: *
4 |
--------------------------------------------------------------------------------
/app/bower_components/angular-mocks/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-mocks",
3 | "version": "1.2.28",
4 | "main": "./angular-mocks.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.2.28"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-mocks",
10 | "_release": "1.2.28",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.2.28",
14 | "commit": "6bb9b6fd3fdb2eba0f64dc615fa55c5f0050af75"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-mocks.git",
17 | "_target": "1.2.28",
18 | "_originalSource": "angular-mocks"
19 | }
--------------------------------------------------------------------------------
/app/bower_components/angular-mocks/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-mocks",
3 | "version": "1.2.28",
4 | "main": "./angular-mocks.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.2.28"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/bower_components/angular-mocks/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-mocks",
3 | "version": "1.2.28",
4 | "description": "AngularJS mocks for testing",
5 | "main": "angular-mocks.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "mocks",
18 | "testing",
19 | "client-side"
20 | ],
21 | "author": "Angular Core Team ",
22 | "license": "MIT",
23 | "bugs": {
24 | "url": "https://github.com/angular/angular.js/issues"
25 | },
26 | "homepage": "http://angularjs.org"
27 | }
28 |
--------------------------------------------------------------------------------
/app/bower_components/angular-route/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-route",
3 | "version": "1.2.28",
4 | "main": "./angular-route.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.2.28"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-route",
10 | "_release": "1.2.28",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.2.28",
14 | "commit": "bed85f7ae776845f6405a5bce7860d90db48304f"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-route.git",
17 | "_target": "1.2.28",
18 | "_originalSource": "angular-route"
19 | }
--------------------------------------------------------------------------------
/app/bower_components/angular-route/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-route",
3 | "version": "1.2.28",
4 | "main": "./angular-route.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.2.28"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/bower_components/angular-route/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-route",
3 | "version": "1.2.28",
4 | "description": "AngularJS router module",
5 | "main": "angular-route.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "router",
18 | "client-side"
19 | ],
20 | "author": "Angular Core Team ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/angular/angular.js/issues"
24 | },
25 | "homepage": "http://angularjs.org"
26 | }
27 |
--------------------------------------------------------------------------------
/app/bower_components/angular/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.2.28",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {},
7 | "homepage": "https://github.com/angular/bower-angular",
8 | "_release": "1.2.28",
9 | "_resolution": {
10 | "type": "version",
11 | "tag": "v1.2.28",
12 | "commit": "d1369fe05d3a7d85961a2223292b67ee82b9f80a"
13 | },
14 | "_source": "git://github.com/angular/bower-angular.git",
15 | "_target": "1.2.28",
16 | "_originalSource": "angular"
17 | }
--------------------------------------------------------------------------------
/app/bower_components/angular/angular-csp.css:
--------------------------------------------------------------------------------
1 | /* Include this file in your html if you are using the CSP mode. */
2 |
3 | @charset "UTF-8";
4 |
5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6 | .ng-cloak, .x-ng-cloak,
7 | .ng-hide {
8 | display: none !important;
9 | }
10 |
11 | ng\:form {
12 | display: block;
13 | }
14 |
15 | .ng-animate-block-transitions {
16 | transition:0s all!important;
17 | -webkit-transition:0s all!important;
18 | }
19 |
20 | /* show the element during a show/hide animation when the
21 | * animation is ongoing, but the .ng-hide class is active */
22 | .ng-hide-add-active, .ng-hide-remove {
23 | display: block!important;
24 | }
25 |
--------------------------------------------------------------------------------
/app/bower_components/angular/angular.min.js.gzip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/angular/angular.min.js.gzip
--------------------------------------------------------------------------------
/app/bower_components/angular/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.2.28",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/app/bower_components/angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.2.28",
4 | "description": "HTML enhanced for web apps",
5 | "main": "angular.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "client-side"
18 | ],
19 | "author": "Angular Core Team ",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/angular/angular.js/issues"
23 | },
24 | "homepage": "http://angularjs.org"
25 | }
26 |
--------------------------------------------------------------------------------
/app/bower_components/blueimp-canvas-to-blob/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "blueimp-canvas-to-blob",
3 | "version": "2.1.1",
4 | "title": "JavaScript Canvas to Blob",
5 | "description": "JavaScript Canvas to Blob is a function to convert canvas elements into Blob objects.",
6 | "keywords": [
7 | "javascript",
8 | "canvas",
9 | "blob",
10 | "convert",
11 | "conversion"
12 | ],
13 | "homepage": "https://github.com/blueimp/JavaScript-Canvas-to-Blob",
14 | "author": {
15 | "name": "Sebastian Tschan",
16 | "url": "https://blueimp.net"
17 | },
18 | "maintainers": [
19 | {
20 | "name": "Sebastian Tschan",
21 | "url": "https://blueimp.net"
22 | }
23 | ],
24 | "repository": {
25 | "type": "git",
26 | "url": "git://github.com/blueimp/JavaScript-Canvas-to-Blob.git"
27 | },
28 | "bugs": "https://github.com/blueimp/JavaScript-Canvas-to-Blob/issues",
29 | "licenses": [
30 | {
31 | "type": "MIT",
32 | "url": "http://www.opensource.org/licenses/MIT"
33 | }
34 | ],
35 | "main": "js/canvas-to-blob.js",
36 | "ignore": [
37 | "/*.*",
38 | "test"
39 | ]
40 | }
41 |
--------------------------------------------------------------------------------
/app/bower_components/blueimp-canvas-to-blob/js/canvas-to-blob.min.js:
--------------------------------------------------------------------------------
1 | !function(a){"use strict";var b=a.HTMLCanvasElement&&a.HTMLCanvasElement.prototype,c=a.Blob&&function(){try{return Boolean(new Blob)}catch(a){return!1}}(),d=c&&a.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(a){return!1}}(),e=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder,f=(c||e)&&a.atob&&a.ArrayBuffer&&a.Uint8Array&&function(a){var b,f,g,h,i,j;for(b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):decodeURIComponent(a.split(",")[1]),f=new ArrayBuffer(b.length),g=new Uint8Array(f),h=0;h li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/app/bower_components/font-awesome/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-es2015-arrow-functions",
4 | "transform-es2015-block-scoped-functions",
5 | "transform-es2015-block-scoping",
6 | "transform-es2015-classes",
7 | "transform-es2015-destructuring",
8 | "transform-es2015-template-literals",
9 | "transform-es2015-parameters",
10 | "transform-es2015-shorthand-properties",
11 | "transform-es2015-spread",
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "foundation-sites",
3 | "version": "6.2.1",
4 | "main": [
5 | "scss/foundation.scss",
6 | "dist/foundation.js"
7 | ],
8 | "ignore": [
9 | "config",
10 | "docs",
11 | "gulp",
12 | "lib",
13 | "test",
14 | "composer.json",
15 | "CONTRIBUTING.md",
16 | "gulpfile.js",
17 | "meteor-README.md",
18 | "package.js",
19 | "package.json",
20 | "sache.json",
21 | ".editorconfig",
22 | ".npm",
23 | ".gitignore",
24 | ".npmignore",
25 | ".versions"
26 | ],
27 | "dependencies": {
28 | "jquery": "~2.2.0",
29 | "what-input": "~2.0.0"
30 | },
31 | "homepage": "https://github.com/zurb/foundation-sites",
32 | "_release": "6.2.1",
33 | "_resolution": {
34 | "type": "version",
35 | "tag": "v6.2.1",
36 | "commit": "f14f809e659d8bc1ddf5ed4032b0c1bbbcf20a6c"
37 | },
38 | "_source": "https://github.com/zurb/foundation-sites.git",
39 | "_target": "6.2.1",
40 | "_originalSource": "foundation-sites"
41 | }
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "bower_components"
3 | }
4 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | **How can we reproduce this bug?**
4 |
5 | 1. Step one
6 | 2. Step two
7 | 3. Step three
8 |
9 | **What did you expect to happen?**
10 |
11 | **What happened instead?**
12 |
13 | **Test case:**
14 |
15 | Give us a link to a CodePen or JSFiddle that recreates the issue.
16 |
17 | - [CodePen with Foundation 6 and MotionUI](http://codepen.io/rafibomb/pen/xVVGOB)
18 | - [CodePen with Foundation 6, Flexbox grid and MotionUI](http://codepen.io/rafibomb/pen/jqqPra)
19 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | Before submitting a pull request, make sure it's targeting the right branch:
2 |
3 | - For documentation fixes, use `master`.
4 | - For bug fixes, use `develop`.
5 | - For new features, use the branch for the next minor version, which will be formatted `v6.x`.
6 |
7 | If you're fixing a JavaScript issue, it would help to create a new test case under the folder `test/visual/` that recreates the issue and show's that it's been fixed. Run `npm test` to compile the testing folder.
8 |
9 | Happy coding! :)
10 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.12"
4 | before_install:
5 | - rvm install 2.2.2
6 | install:
7 | - npm install -g bower
8 | - npm install
9 | - gem install scss_lint
10 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013-2016 ZURB, inc.
2 |
3 | MIT License
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/assets/foundation-flex.scss:
--------------------------------------------------------------------------------
1 | @import '../scss/foundation';
2 |
3 | @include foundation-everything($flex: true);
4 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/assets/foundation-rtl.scss:
--------------------------------------------------------------------------------
1 | $global-text-direction: rtl;
2 |
3 | @import '../scss/foundation';
4 |
5 | @include foundation-everything;
6 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/assets/foundation.scss:
--------------------------------------------------------------------------------
1 | @import '../scss/foundation';
2 |
3 | @include foundation-everything;
4 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "foundation-sites",
3 | "version": "6.2.1",
4 | "main": [
5 | "scss/foundation.scss",
6 | "dist/foundation.js"
7 | ],
8 | "ignore": [
9 | "config",
10 | "docs",
11 | "gulp",
12 | "lib",
13 | "test",
14 | "composer.json",
15 | "CONTRIBUTING.md",
16 | "gulpfile.js",
17 | "meteor-README.md",
18 | "package.js",
19 | "package.json",
20 | "sache.json",
21 | ".editorconfig",
22 | ".npm",
23 | ".gitignore",
24 | ".npmignore",
25 | ".versions"
26 | ],
27 | "dependencies": {
28 | "jquery": "~2.2.0",
29 | "what-input": "~2.0.0"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/customizer/complete.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | "grid",
4 | "typography",
5 | "button",
6 | "forms",
7 | "abide",
8 | "accordion",
9 | "accordion_menu",
10 | "badge",
11 | "breadcrumbs",
12 | "button_group",
13 | "callout",
14 | "close_button",
15 | "menu",
16 | "menu_icon",
17 | "drilldown_menu",
18 | "dropdown",
19 | "dropdown_menu",
20 | "equalizer",
21 | "flex_video",
22 | "interchange",
23 | "label",
24 | "magellan",
25 | "media_object",
26 | "off_canvas",
27 | "orbit",
28 | "pagination",
29 | "progress_bar",
30 | "responsive_menu",
31 | "responsive_toggle",
32 | "reveal",
33 | "slider",
34 | "sticky",
35 | "switch",
36 | "table",
37 | "tabs",
38 | "thumbnail",
39 | "title_bar",
40 | "toggler",
41 | "tooltip",
42 | "top_bar",
43 | "visibility",
44 | "float"
45 | ]
46 | }
47 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/customizer/essential.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | "typography",
4 | "grid",
5 | "forms",
6 | "button",
7 | "callout",
8 | "reveal"
9 | ],
10 | "variables": {}
11 | }
12 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/docslink.sh:
--------------------------------------------------------------------------------
1 | # Clones the foundation-docs repo and links it to NPM locally
2 | git clone https://github.com/zurb/foundation-docs
3 | npm link ./foundation-docs
4 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_accordion-menu.scss:
--------------------------------------------------------------------------------
1 | ////
2 | /// @group accordion-menu
3 | ////
4 |
5 | /// Sets if accordion menus have the default arrow styles.
6 | /// @type Boolean
7 | $accordionmenu-arrows: true !default;
8 |
9 | /// Sets accordion menu arrow color if arrow is used.
10 | /// @type Color
11 | $accordionmenu-arrow-color: $primary-color !default;
12 |
13 | @mixin foundation-accordion-menu {
14 | @if $accordionmenu-arrows {
15 | .is-accordion-submenu-parent > a {
16 | position: relative;
17 |
18 | &::after {
19 | @include css-triangle(6px, $accordionmenu-arrow-color, down);
20 | position: absolute;
21 | top: 50%;
22 | margin-top: -4px;
23 | right: 1rem;
24 | }
25 | }
26 |
27 | .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
28 | transform-origin: 50% 50%;
29 | transform: scaleY(-1);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_badge.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group badge
7 | ////
8 |
9 | /// Default background color for badges.
10 | /// @type Color
11 | $badge-background: $primary-color !default;
12 |
13 | /// Default text color for badges.
14 | /// @type Color
15 | $badge-color: foreground($badge-background) !default;
16 |
17 | /// Default padding inside badges.
18 | /// @type Number
19 | $badge-padding: 0.3em !default;
20 |
21 | /// Minimum width of a badge.
22 | /// @type Number
23 | $badge-minwidth: 2.1em !default;
24 |
25 | /// Default font size for badges.
26 | /// @type Number
27 | $badge-font-size: 0.6rem !default;
28 |
29 | /// Generates the base styles for a badge.
30 | @mixin badge {
31 | display: inline-block;
32 | padding: $badge-padding;
33 | min-width: $badge-minwidth;
34 | font-size: $badge-font-size;
35 | text-align: center;
36 | border-radius: 50%;
37 | }
38 |
39 | @mixin foundation-badge {
40 | .badge {
41 | @include badge;
42 |
43 | background: $badge-background;
44 | color: $badge-color;
45 |
46 | @each $name, $color in $foundation-palette {
47 | @if $name != primary {
48 | &.#{$name} {
49 | background: $color;
50 | color: foreground($color);
51 | }
52 | }
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_flex.scss:
--------------------------------------------------------------------------------
1 | @mixin foundation-flex-classes {
2 | // Horizontal alignment using justify-content
3 | @each $hdir, $prop in map-remove($-zf-flex-justify, left) {
4 | .align-#{$hdir} {
5 | @include flex-align($x: $hdir);
6 | }
7 | }
8 |
9 | // Vertical alignment using align-items and align-self
10 | @each $vdir, $prop in $-zf-flex-align {
11 | .align-#{$vdir} {
12 | @include flex-align($y: $vdir);
13 | }
14 |
15 | .align-self-#{$vdir} {
16 | @include flex-align-self($y: $vdir);
17 | }
18 | }
19 |
20 | // Source ordering
21 | @include -zf-each-breakpoint {
22 | @for $i from 1 through 6 {
23 | .#{$-zf-size}-order-#{$i} {
24 | @include flex-order($i);
25 | }
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_float.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group float
7 | ////
8 |
9 | @mixin foundation-float-classes {
10 | .float-left {
11 | float: left !important;
12 | }
13 |
14 | .float-right {
15 | float: right !important;
16 | }
17 |
18 | .float-center {
19 | display: block;
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | .clearfix {
25 | @include clearfix;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_label.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group label
7 | ////
8 |
9 | /// Default background color for labels.
10 | /// @type Color
11 | $label-background: $primary-color !default;
12 |
13 | /// Default text color for labels.
14 | /// @type Color
15 | $label-color: foreground($label-background) !default;
16 |
17 | /// Default font size for labels.
18 | /// @type Number
19 | $label-font-size: 0.8rem !default;
20 |
21 | /// Default padding inside labels.
22 | /// @type Number
23 | $label-padding: 0.33333rem 0.5rem !default;
24 |
25 | /// Default radius of labels.
26 | /// @type Number
27 | $label-radius: $global-radius !default;
28 |
29 | /// Generates base styles for a label.
30 | @mixin label {
31 | display: inline-block;
32 | padding: $label-padding;
33 | font-size: $label-font-size;
34 | line-height: 1;
35 | white-space: nowrap;
36 | cursor: default;
37 | border-radius: $label-radius;
38 | }
39 |
40 | @mixin foundation-label {
41 | .label {
42 | @include label;
43 |
44 | background: $label-background;
45 | color: $label-color;
46 |
47 | @each $name, $color in $foundation-palette {
48 | @if $name != primary {
49 | &.#{$name} {
50 | background: $color;
51 | color: foreground($color);
52 | }
53 | }
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_menu-icon.scss:
--------------------------------------------------------------------------------
1 | @mixin foundation-menu-icon {
2 | .menu-icon {
3 | @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);
4 | }
5 |
6 | .menu-icon.dark {
7 | @include hamburger;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/components/_sticky.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | @mixin foundation-sticky {
6 | .sticky-container {
7 | position: relative;
8 | }
9 |
10 | .sticky {
11 | position: absolute;
12 | z-index: 0;
13 | transform: translate3d(0, 0, 0);
14 | }
15 |
16 | .sticky.is-stuck {
17 | position: fixed;
18 | z-index: 5;
19 |
20 | &.is-at-top {
21 | top: 0;
22 | }
23 |
24 | &.is-at-bottom {
25 | bottom: 0;
26 | }
27 | }
28 |
29 | .sticky.is-anchored {
30 | position: absolute;
31 | left: auto;
32 | right: auto;
33 |
34 | &.is-at-bottom {
35 | bottom: 0;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/forms/_checkbox.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group forms
7 | ////
8 |
9 | @mixin foundation-form-checkbox {
10 | [type='file'],
11 | [type='checkbox'],
12 | [type='radio'] {
13 | margin: 0 0 $form-spacing;
14 | }
15 |
16 | // Styles for input/label siblings
17 | [type='checkbox'] + label,
18 | [type='radio'] + label {
19 | display: inline-block;
20 | margin-#{$global-left}: $form-spacing * 0.5;
21 | margin-#{$global-right}: $form-spacing;
22 | margin-bottom: 0;
23 | vertical-align: baseline;
24 |
25 | &[for] {
26 | cursor: pointer;
27 | }
28 | }
29 |
30 | // Styles for inputs inside labels
31 | label > [type='checkbox'],
32 | label > [type='radio'] {
33 | margin-#{$global-right}: $form-spacing * 0.5;
34 | }
35 |
36 | // Normalize file input width
37 | [type='file'] {
38 | width: 100%;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/forms/_fieldset.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group forms
7 | ////
8 |
9 | /// Default border around custom fieldsets.
10 | /// @type Border
11 | $fieldset-border: 1px solid $medium-gray !default;
12 |
13 | /// Default padding inside custom fieldsets.
14 | /// @type Number
15 | $fieldset-padding: rem-calc(20) !default;
16 |
17 | /// Default margin around custom fieldsets.
18 | /// @type Number
19 | $fieldset-margin: rem-calc(18 0) !default;
20 |
21 | /// Default padding between the legend text and fieldset border.
22 | /// @type Number
23 | $legend-padding: rem-calc(0 3) !default;
24 |
25 | @mixin fieldset {
26 | border: $fieldset-border;
27 | padding: $fieldset-padding;
28 | margin: $fieldset-margin;
29 |
30 | legend {
31 | // Covers up the fieldset's border to create artificial padding
32 | background: $body-background;
33 | padding: $legend-padding;
34 | margin: 0;
35 | margin-#{$global-left}: rem-calc(-3);
36 | }
37 | }
38 |
39 | @mixin foundation-form-fieldset {
40 | fieldset {
41 | border: 0;
42 | padding: 0;
43 | margin: 0;
44 | }
45 |
46 | legend {
47 | margin-bottom: $form-spacing * 0.5;
48 | max-width: 100%;
49 | }
50 |
51 | .fieldset {
52 | @include fieldset;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/forms/_forms.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group forms
7 | ////
8 |
9 | /// Global spacing for form elements.
10 | /// @type Number
11 | $form-spacing: rem-calc(16) !default;
12 |
13 | @import 'text';
14 | @import 'checkbox';
15 | @import 'label';
16 | @import 'help-text';
17 | @import 'input-group';
18 | @import 'fieldset';
19 | @import 'select';
20 | @import 'range';
21 | @import 'progress';
22 | @import 'meter';
23 | @import 'error';
24 |
25 | @mixin foundation-forms {
26 | @include foundation-form-text;
27 | @include foundation-form-checkbox;
28 | @include foundation-form-label;
29 | @include foundation-form-helptext;
30 | @include foundation-form-prepostfix;
31 | @include foundation-form-fieldset;
32 | @include foundation-form-select;
33 | @include foundation-form-error;
34 | }
35 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/forms/_help-text.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group forms
7 | ////
8 |
9 | /// Default color for help text.
10 | /// @type Color
11 | $helptext-color: $black !default;
12 |
13 | /// Default font size for help text.
14 | /// @type Number
15 | $helptext-font-size: rem-calc(13) !default;
16 |
17 | /// Default font style for help text.
18 | /// @type Keyword
19 | $helptext-font-style: italic !default;
20 |
21 | @mixin foundation-form-helptext {
22 | .help-text {
23 | $margin-top: ($form-spacing * 0.5) * -1;
24 |
25 | margin-top: $margin-top;
26 | font-size: $helptext-font-size;
27 | font-style: $helptext-font-style;
28 | color: $helptext-color;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/forms/_label.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group forms
7 | ////
8 |
9 | /// Color for form labels.
10 | /// @type Color
11 | $form-label-color: $black !default;
12 |
13 | /// Font size for form labels.
14 | /// @type Number
15 | $form-label-font-size: rem-calc(14) !default;
16 |
17 | /// Font weight for form labels.
18 | /// @type Keyword
19 | $form-label-font-weight: $global-weight-normal !default;
20 |
21 | /// Line height for form labels. The higher the number, the more space between the label and its input field.
22 | /// @type Number
23 | $form-label-line-height: 1.8 !default;
24 |
25 | @mixin form-label {
26 | display: block;
27 | margin: 0;
28 | font-size: $form-label-font-size;
29 | font-weight: $form-label-font-weight;
30 | line-height: $form-label-line-height;
31 | color: $form-label-color;
32 | }
33 |
34 | @mixin form-label-middle {
35 | $input-border-width: get-border-value($input-border, width);
36 | margin: 0 0 $form-spacing;
37 | padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;
38 | }
39 |
40 | @mixin foundation-form-label {
41 | label {
42 | @include form-label;
43 |
44 | &.middle {
45 | @include form-label-middle;
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/grid/_gutter.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group grid
7 | ////
8 |
9 | /// Collapse the gutters on a column by removing the padding. **Note:** only use this mixin within a breakpoint. To collapse a column's gutters on all screen sizes, use the `$gutter` parameter of the `grid-column()` mixin instead.
10 | @mixin grid-column-collapse {
11 | padding-left: 0;
12 | padding-right: 0;
13 | }
14 |
15 | /// Un-collapse the gutters on a column by re-adding the padding.
16 | ///
17 | /// @param {Number} $gutter [$grid-column-gutter] - Spacing between columns.
18 | @mixin grid-column-uncollapse($gutter: $grid-column-gutter) {
19 | $gutter: rem-calc($gutter) / 2;
20 | padding-left: $gutter;
21 | padding-right: $gutter;
22 | }
23 |
24 | /// Shorthand for `grid-column-collapse()`.
25 | /// @alias grid-column-collapse
26 | @mixin grid-col-collapse {
27 | @include grid-column-collapse;
28 | }
29 |
30 | /// Shorthand for `grid-column-uncollapse()`.
31 | /// @alias grid-column-uncollapse
32 | @mixin grid-col-uncollapse($gutter: $grid-column-gutter) {
33 | @include grid-column-uncollapse($gutter);
34 | }
35 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/grid/_layout.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group grid
7 | ////
8 |
9 | /// Sizes child elements so that `$n` number of items appear on each row.
10 | ///
11 | /// @param {Number} $n - Number of elements to display per row.
12 | /// @param {String} $selector ['.column'] - Selector(s) to use for child elements.
13 | @mixin grid-layout(
14 | $n,
15 | $selector: '.column'
16 | ) {
17 | & > #{$selector} {
18 | width: percentage(1/$n);
19 | float: $global-left;
20 |
21 | &:nth-of-type(1n) {
22 | clear: none;
23 | }
24 |
25 | &:nth-of-type(#{$n}n+1) {
26 | clear: both;
27 | }
28 |
29 | &:last-child {
30 | float: left;
31 | }
32 | }
33 | }
34 |
35 | /// Adds extra CSS to block grid children so the last items in the row center automatically. Apply this to the columns, not the row.
36 | ///
37 | /// @param {Number} $n - Number of items that appear in each row.
38 | @mixin grid-layout-center-last($n) {
39 | @for $i from 1 to $n {
40 | @if $i == 1 {
41 | &:nth-child(#{$n}n+1):last-child {
42 | margin-left: (100 - 100/$n * $i) / 2 * 1%;
43 | }
44 | }
45 | @else {
46 | &:nth-child(#{$n}n+1):nth-last-child(#{$i}) {
47 | margin-left: (100 - 100/$n * $i) / 2 * 1%;
48 | }
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/grid/_size.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group grid
7 | ////
8 |
9 | /// Set the width of a grid column.
10 | ///
11 | /// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`.
12 | @mixin grid-column-size(
13 | $columns: $grid-column-count
14 | ) {
15 | width: grid-column($columns);
16 | }
17 |
18 | /// Shorthand for `grid-column-size()`.
19 | /// @alias grid-column-size
20 | @mixin grid-col-size(
21 | $columns: $grid-column-count
22 | ) {
23 | @include grid-column-size($columns);
24 | }
25 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/typography/_alignment.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | @mixin foundation-text-alignment {
6 | @each $size in $breakpoint-classes {
7 | @include breakpoint($size) {
8 | @each $align in (left, right, center, justify) {
9 | @if $size != $-zf-zero-breakpoint {
10 | .#{$size}-text-#{$align} {
11 | text-align: $align;
12 | }
13 | }
14 | @else {
15 | .text-#{$align} {
16 | text-align: $align;
17 | }
18 | }
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/typography/_typography.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group typography
7 | ////
8 |
9 | // scss-lint:disable DeclarationOrder
10 |
11 | // Base typography styles (tags only)
12 | @import 'base';
13 |
14 | // Typography helper classes (classes only)
15 | @import 'helpers';
16 |
17 | // Text alignment classes
18 | @import 'alignment';
19 |
20 | // Print styles
21 | @import 'print';
22 |
23 | @mixin foundation-typography {
24 | @include foundation-typography-base;
25 | @include foundation-typography-helpers;
26 | @include foundation-text-alignment;
27 | @include foundation-print-styles;
28 | }
29 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/util/_selector.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | ////
6 | /// @group functions
7 | ////
8 |
9 | /// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
10 | ///
11 | /// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
12 | @function text-inputs($types: ()) {
13 | $return: ();
14 |
15 | $all-types:
16 | text
17 | password
18 | date
19 | datetime
20 | datetime-local
21 | month
22 | week
23 | email
24 | number
25 | search
26 | tel
27 | time
28 | url
29 | color;
30 |
31 | @if not has-value($types) {
32 | $types: $all-types;
33 | }
34 |
35 | @each $type in $types {
36 | $return: append($return, unquote('[type=\'#{$type}\']'), comma);
37 | }
38 |
39 | @return $return;
40 | }
41 |
--------------------------------------------------------------------------------
/app/bower_components/foundation-sites/scss/util/_util.scss:
--------------------------------------------------------------------------------
1 | // Foundation for Sites by ZURB
2 | // foundation.zurb.com
3 | // Licensed under MIT Open Source
4 |
5 | @import 'unit';
6 | @import 'value';
7 | @import 'color';
8 | @import 'selector';
9 | @import 'flex';
10 | @import 'breakpoint';
11 | @import 'mixins';
12 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "html2canvas",
3 | "description": "Screenshots with JavaScript",
4 | "main": "dist/html2canvas.js",
5 | "ignore": [
6 | "tests",
7 | ".travis.yml"
8 | ],
9 | "homepage": "https://github.com/niklasvh/html2canvas",
10 | "version": "0.5.0-alpha2",
11 | "_release": "0.5.0-alpha2",
12 | "_resolution": {
13 | "type": "version",
14 | "tag": "0.5.0-alpha2",
15 | "commit": "9a0d43d60bb67ef22507cc12cadead19645c990b"
16 | },
17 | "_source": "git://github.com/niklasvh/html2canvas.git",
18 | "_target": "0.5.0-alpha2",
19 | "_originalSource": "html2canvas"
20 | }
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/.gitignore:
--------------------------------------------------------------------------------
1 | /nbproject/
2 | image.jpg
3 | /.project
4 | /.settings/
5 | node_modules/
6 | .envrc
7 | *.sublime-workspace
8 | *.baseline
9 | *.iml
10 | .idea/
11 | .DS_Store
12 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "src/fabric"]
2 | path = src/fabric
3 | url = https://github.com/kangax/fabric.js.git
4 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "curly": true,
3 | "eqeqeq": true,
4 | "immed": true,
5 | "latedef": false,
6 | "newcap": true,
7 | "noarg": true,
8 | "sub": true,
9 | "undef": true,
10 | "boss": true,
11 | "eqnull": true,
12 | "browser": true,
13 | "node": true,
14 | "indent": 4,
15 | "globals": {
16 | "jQuery": true
17 | },
18 | "predef": ["-Promise"]
19 | }
20 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012 Niklas von Hertzen
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "html2canvas",
3 | "description": "Screenshots with JavaScript",
4 | "main": "dist/html2canvas.js",
5 | "ignore": [
6 | "tests",
7 | ".travis.yml"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/dummyimagecontainer.js:
--------------------------------------------------------------------------------
1 | var Promise = require('./promise');
2 | var log = require('./log');
3 | var smallImage = require('./utils').smallImage;
4 |
5 | function DummyImageContainer(src) {
6 | this.src = src;
7 | log("DummyImageContainer for", src);
8 | if (!this.promise || !this.image) {
9 | log("Initiating DummyImageContainer");
10 | DummyImageContainer.prototype.image = new Image();
11 | var image = this.image;
12 | DummyImageContainer.prototype.promise = new Promise(function(resolve, reject) {
13 | image.onload = resolve;
14 | image.onerror = reject;
15 | image.src = smallImage();
16 | if (image.complete === true) {
17 | resolve(image);
18 | }
19 | });
20 | }
21 | }
22 |
23 | module.exports = DummyImageContainer;
24 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/fontmetrics.js:
--------------------------------------------------------------------------------
1 | var Font = require('./font');
2 |
3 | function FontMetrics() {
4 | this.data = {};
5 | }
6 |
7 | FontMetrics.prototype.getMetrics = function(family, size) {
8 | if (this.data[family + "-" + size] === undefined) {
9 | this.data[family + "-" + size] = new Font(family, size);
10 | }
11 | return this.data[family + "-" + size];
12 | };
13 |
14 | module.exports = FontMetrics;
15 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/gradientcontainer.js:
--------------------------------------------------------------------------------
1 | var Promise = require('./promise');
2 |
3 | function GradientContainer(imageData) {
4 | this.src = imageData.value;
5 | this.colorStops = [];
6 | this.type = null;
7 | this.x0 = 0.5;
8 | this.y0 = 0.5;
9 | this.x1 = 0.5;
10 | this.y1 = 0.5;
11 | this.promise = Promise.resolve(true);
12 | }
13 |
14 | GradientContainer.prototype.TYPES = {
15 | LINEAR: 1,
16 | RADIAL: 2
17 | };
18 |
19 | module.exports = GradientContainer;
20 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/imagecontainer.js:
--------------------------------------------------------------------------------
1 | var Promise = require('./promise');
2 |
3 | function ImageContainer(src, cors) {
4 | this.src = src;
5 | this.image = new Image();
6 | var self = this;
7 | this.tainted = null;
8 | this.promise = new Promise(function(resolve, reject) {
9 | self.image.onload = resolve;
10 | self.image.onerror = reject;
11 | if (cors) {
12 | self.image.crossOrigin = "anonymous";
13 | }
14 | self.image.src = src;
15 | if (self.image.complete === true) {
16 | resolve(self.image);
17 | }
18 | });
19 | }
20 |
21 | module.exports = ImageContainer;
22 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/log.js:
--------------------------------------------------------------------------------
1 | module.exports = function() {
2 | if (window.html2canvas.logging && window.console && window.console.log) {
3 | Function.prototype.bind.call(window.console.log, (window.console)).apply(window.console, [(Date.now() - window.html2canvas.start) + "ms", "html2canvas:"].concat([].slice.call(arguments, 0)));
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/promise.js:
--------------------------------------------------------------------------------
1 | module.exports = require('es6-promise').Promise;
2 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/proxyimagecontainer.js:
--------------------------------------------------------------------------------
1 | var ProxyURL = require('./proxy').ProxyURL;
2 | var Promise = require('./promise');
3 |
4 | function ProxyImageContainer(src, proxy) {
5 | var link = document.createElement("a");
6 | link.href = src;
7 | src = link.href;
8 | this.src = src;
9 | this.image = new Image();
10 | var self = this;
11 | this.promise = new Promise(function(resolve, reject) {
12 | self.image.crossOrigin = "Anonymous";
13 | self.image.onload = resolve;
14 | self.image.onerror = reject;
15 |
16 | new ProxyURL(src, proxy, document).then(function(url) {
17 | self.image.src = url;
18 | })['catch'](reject);
19 | });
20 | }
21 |
22 | module.exports = ProxyImageContainer;
23 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/stackingcontext.js:
--------------------------------------------------------------------------------
1 | var NodeContainer = require('./nodecontainer');
2 |
3 | function StackingContext(hasOwnStacking, opacity, element, parent) {
4 | NodeContainer.call(this, element, parent);
5 | this.ownStacking = hasOwnStacking;
6 | this.contexts = [];
7 | this.children = [];
8 | this.opacity = (this.parent ? this.parent.stack.opacity : 1) * opacity;
9 | }
10 |
11 | StackingContext.prototype = Object.create(NodeContainer.prototype);
12 |
13 | StackingContext.prototype.getParentStack = function(context) {
14 | var parentStack = (this.parent) ? this.parent.stack : null;
15 | return parentStack ? (parentStack.ownStacking ? parentStack : parentStack.getParentStack(context)) : context.stack;
16 | };
17 |
18 | module.exports = StackingContext;
19 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/svgnodecontainer.js:
--------------------------------------------------------------------------------
1 | var SVGContainer = require('./svgcontainer');
2 | var Promise = require('./promise');
3 |
4 | function SVGNodeContainer(node, _native) {
5 | this.src = node;
6 | this.image = null;
7 | var self = this;
8 |
9 | this.promise = _native ? new Promise(function(resolve, reject) {
10 | self.image = new Image();
11 | self.image.onload = resolve;
12 | self.image.onerror = reject;
13 | self.image.src = "data:image/svg+xml," + (new XMLSerializer()).serializeToString(node);
14 | if (self.image.complete === true) {
15 | resolve(self.image);
16 | }
17 | }) : this.hasFabric().then(function() {
18 | return new Promise(function(resolve) {
19 | window.html2canvas.svg.fabric.parseSVGDocument(node, self.createCanvas.call(self, resolve));
20 | });
21 | });
22 | }
23 |
24 | SVGNodeContainer.prototype = Object.create(SVGContainer.prototype);
25 |
26 | module.exports = SVGNodeContainer;
27 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/textcontainer.js:
--------------------------------------------------------------------------------
1 | var NodeContainer = require('./nodecontainer');
2 |
3 | function TextContainer(node, parent) {
4 | NodeContainer.call(this, node, parent);
5 | }
6 |
7 | TextContainer.prototype = Object.create(NodeContainer.prototype);
8 |
9 | TextContainer.prototype.applyTextTransform = function() {
10 | this.node.data = this.transform(this.parent.css("textTransform"));
11 | };
12 |
13 | TextContainer.prototype.transform = function(transform) {
14 | var text = this.node.data;
15 | switch(transform){
16 | case "lowercase":
17 | return text.toLowerCase();
18 | case "capitalize":
19 | return text.replace(/(^|\s|:|-|\(|\))([a-z])/g, capitalize);
20 | case "uppercase":
21 | return text.toUpperCase();
22 | default:
23 | return text;
24 | }
25 | };
26 |
27 | function capitalize(m, p1, p2) {
28 | if (m.length > 0) {
29 | return p1 + p2.toUpperCase();
30 | }
31 | }
32 |
33 | module.exports = TextContainer;
34 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/webkitgradientcontainer.js:
--------------------------------------------------------------------------------
1 | var GradientContainer = require('./gradientcontainer');
2 |
3 | function WebkitGradientContainer(imageData) {
4 | GradientContainer.apply(this, arguments);
5 | this.type = (imageData.args[0] === "linear") ? this.TYPES.LINEAR : this.TYPES.RADIAL;
6 | }
7 |
8 | WebkitGradientContainer.prototype = Object.create(GradientContainer.prototype);
9 |
10 | module.exports = WebkitGradientContainer;
11 |
--------------------------------------------------------------------------------
/app/bower_components/html2canvas/src/xhr.js:
--------------------------------------------------------------------------------
1 | var Promise = require('./promise');
2 |
3 | function XHR(url) {
4 | return new Promise(function(resolve, reject) {
5 | var xhr = new XMLHttpRequest();
6 | xhr.open('GET', url);
7 |
8 | xhr.onload = function() {
9 | if (xhr.status === 200) {
10 | resolve(xhr.responseText);
11 | } else {
12 | reject(new Error(xhr.statusText));
13 | }
14 | };
15 |
16 | xhr.onerror = function() {
17 | reject(new Error("Network Error"));
18 | };
19 |
20 | xhr.send();
21 | });
22 | }
23 |
24 | module.exports = XHR;
25 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "main": "dist/jquery.js",
4 | "license": "MIT",
5 | "ignore": [
6 | "package.json"
7 | ],
8 | "keywords": [
9 | "jquery",
10 | "javascript",
11 | "browser",
12 | "library"
13 | ],
14 | "homepage": "https://github.com/jquery/jquery-dist",
15 | "version": "2.2.3",
16 | "_release": "2.2.3",
17 | "_resolution": {
18 | "type": "version",
19 | "tag": "2.2.3",
20 | "commit": "af22a351b2ea5801ffb1695abb3bb34d5bed9198"
21 | },
22 | "_source": "https://github.com/jquery/jquery-dist.git",
23 | "_target": "~2.2.0",
24 | "_originalSource": "jquery"
25 | }
--------------------------------------------------------------------------------
/app/bower_components/jquery/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "main": "dist/jquery.js",
4 | "license": "MIT",
5 | "ignore": [
6 | "package.json"
7 | ],
8 | "keywords": [
9 | "jquery",
10 | "javascript",
11 | "browser",
12 | "library"
13 | ]
14 | }
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "boss": true,
3 | "curly": true,
4 | "eqeqeq": true,
5 | "eqnull": true,
6 | "expr": true,
7 | "immed": true,
8 | "noarg": true,
9 | "quotmark": "double",
10 | "undef": true,
11 | "unused": true,
12 |
13 | "sub": true,
14 |
15 | // Support: IE < 10, Android < 4.1
16 | // The above browsers are failing a lot of tests in the ES5
17 | // test suite at http://test262.ecmascript.org.
18 | "es3": true,
19 |
20 | "globals": {
21 | "window": true,
22 | "JSON": false,
23 |
24 | "jQuery": true,
25 | "define": true,
26 | "module": true,
27 | "noGlobal": true
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/parseJSON.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Support: Android 2.3
6 | // Workaround failure to string-cast null input
7 | jQuery.parseJSON = function( data ) {
8 | return JSON.parse( data + "" );
9 | };
10 |
11 | return jQuery.parseJSON;
12 |
13 | } );
14 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/parseXML.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Cross-browser xml parsing
6 | jQuery.parseXML = function( data ) {
7 | var xml;
8 | if ( !data || typeof data !== "string" ) {
9 | return null;
10 | }
11 |
12 | // Support: IE9
13 | try {
14 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
15 | } catch ( e ) {
16 | xml = undefined;
17 | }
18 |
19 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
20 | jQuery.error( "Invalid XML: " + data );
21 | }
22 | return xml;
23 | };
24 |
25 | return jQuery.parseXML;
26 |
27 | } );
28 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/var/location.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return window.location;
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/var/nonce.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core"
3 | ], function( jQuery ) {
4 | return jQuery.now();
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/var/rquery.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /\?/ );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/attributes.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "./attributes/attr",
4 | "./attributes/prop",
5 | "./attributes/classes",
6 | "./attributes/val"
7 | ], function( jQuery ) {
8 |
9 | // Return jQuery for attributes-only inclusion
10 | return jQuery;
11 | } );
12 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/attributes/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | ( function() {
7 | var input = document.createElement( "input" ),
8 | select = document.createElement( "select" ),
9 | opt = select.appendChild( document.createElement( "option" ) );
10 |
11 | input.type = "checkbox";
12 |
13 | // Support: iOS<=5.1, Android<=4.2+
14 | // Default value for a checkbox should be "on"
15 | support.checkOn = input.value !== "";
16 |
17 | // Support: IE<=11+
18 | // Must access selectedIndex to make default options select
19 | support.optSelected = opt.selected;
20 |
21 | // Support: Android<=2.3
22 | // Options inside disabled selects are incorrectly marked as disabled
23 | select.disabled = true;
24 | support.optDisabled = !opt.disabled;
25 |
26 | // Support: IE<=11+
27 | // An input loses its value after becoming a radio
28 | input = document.createElement( "input" );
29 | input.value = "t";
30 | input.type = "radio";
31 | support.radioValue = input.value === "t";
32 | } )();
33 |
34 | return support;
35 |
36 | } );
37 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/core/DOMEval.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document"
3 | ], function( document ) {
4 | function DOMEval( code, doc ) {
5 | doc = doc || document;
6 |
7 | var script = doc.createElement( "script" );
8 |
9 | script.text = code;
10 | doc.head.appendChild( script ).parentNode.removeChild( script );
11 | }
12 |
13 | return DOMEval;
14 | } );
15 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/core/parseHTML.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../var/document",
4 | "./var/rsingleTag",
5 | "../manipulation/buildFragment"
6 | ], function( jQuery, document, rsingleTag, buildFragment ) {
7 |
8 | // Argument "data" should be string of html
9 | // context (optional): If specified, the fragment will be created in this context,
10 | // defaults to document
11 | // keepScripts (optional): If true, will include scripts passed in the html string
12 | jQuery.parseHTML = function( data, context, keepScripts ) {
13 | if ( !data || typeof data !== "string" ) {
14 | return null;
15 | }
16 | if ( typeof context === "boolean" ) {
17 | keepScripts = context;
18 | context = false;
19 | }
20 | context = context || document;
21 |
22 | var parsed = rsingleTag.exec( data ),
23 | scripts = !keepScripts && [];
24 |
25 | // Single tag
26 | if ( parsed ) {
27 | return [ context.createElement( parsed[ 1 ] ) ];
28 | }
29 |
30 | parsed = buildFragment( [ data ], context, scripts );
31 |
32 | if ( scripts && scripts.length ) {
33 | jQuery( scripts ).remove();
34 | }
35 |
36 | return jQuery.merge( [], parsed.childNodes );
37 | };
38 |
39 | return jQuery.parseHTML;
40 |
41 | } );
42 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/core/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | // Support: Safari 8+
7 | // In Safari 8 documents created via document.implementation.createHTMLDocument
8 | // collapse sibling forms: the second one becomes a child of the first one.
9 | // Because of that, this security measure has to be disabled in Safari 8.
10 | // https://bugs.webkit.org/show_bug.cgi?id=137337
11 | support.createHTMLDocument = ( function() {
12 | var body = document.implementation.createHTMLDocument( "" ).body;
13 | body.innerHTML = "";
14 | return body.childNodes.length === 2;
15 | } )();
16 |
17 | return support;
18 | } );
19 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/core/var/rsingleTag.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | // Match a standalone tag
4 | return ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/addGetHookIf.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | function addGetHookIf( conditionFn, hookFn ) {
4 |
5 | // Define the hook, we'll check on the first run if it's really needed.
6 | return {
7 | get: function() {
8 | if ( conditionFn() ) {
9 |
10 | // Hook not needed (or it's not possible to use it due
11 | // to missing dependency), remove it.
12 | delete this.get;
13 | return;
14 | }
15 |
16 | // Hook needed; redefine it so that the support test is not executed again.
17 | return ( this.get = hookFn ).apply( this, arguments );
18 | }
19 | };
20 | }
21 |
22 | return addGetHookIf;
23 |
24 | } );
25 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/hiddenVisibleSelectors.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../selector"
4 | ], function( jQuery ) {
5 |
6 | jQuery.expr.filters.hidden = function( elem ) {
7 | return !jQuery.expr.filters.visible( elem );
8 | };
9 | jQuery.expr.filters.visible = function( elem ) {
10 |
11 | // Support: Opera <= 12.12
12 | // Opera reports offsetWidths and offsetHeights less than zero on some elements
13 | // Use OR instead of AND as the element is not visible if either is true
14 | // See tickets #10406 and #13132
15 | return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;
16 | };
17 |
18 | } );
19 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/showHide.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../data/var/dataPriv"
3 | ], function( dataPriv ) {
4 |
5 | function showHide( elements, show ) {
6 | var display, elem,
7 | values = [],
8 | index = 0,
9 | length = elements.length;
10 |
11 | // Determine new display value for elements that need to change
12 | for ( ; index < length; index++ ) {
13 | elem = elements[ index ];
14 | if ( !elem.style ) {
15 | continue;
16 | }
17 |
18 | display = elem.style.display;
19 | if ( show ) {
20 | if ( display === "none" ) {
21 |
22 | // Restore a pre-hide() value if we have one
23 | values[ index ] = dataPriv.get( elem, "display" ) || "";
24 | }
25 | } else {
26 | if ( display !== "none" ) {
27 | values[ index ] = "none";
28 |
29 | // Remember the value we're replacing
30 | dataPriv.set( elem, "display", display );
31 | }
32 | }
33 | }
34 |
35 | // Set the display of the elements in a second loop
36 | // to avoid the constant reflow
37 | for ( index = 0; index < length; index++ ) {
38 | if ( values[ index ] != null ) {
39 | elements[ index ].style.display = values[ index ];
40 | }
41 | }
42 |
43 | return elements;
44 | }
45 |
46 | return showHide;
47 |
48 | } );
49 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/cssExpand.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return [ "Top", "Right", "Bottom", "Left" ];
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/getStyles.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return function( elem ) {
3 |
4 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
5 | // IE throws on elements created in popups
6 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
7 | var view = elem.ownerDocument.defaultView;
8 |
9 | if ( !view || !view.opener ) {
10 | view = window;
11 | }
12 |
13 | return view.getComputedStyle( elem );
14 | };
15 | } );
16 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/isHidden.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core",
3 | "../../selector"
4 |
5 | // css is assumed
6 | ], function( jQuery ) {
7 |
8 | return function( elem, el ) {
9 |
10 | // isHidden might be called from jQuery#filter function;
11 | // in that case, element will be second argument
12 | elem = el || elem;
13 | return jQuery.css( elem, "display" ) === "none" ||
14 | !jQuery.contains( elem.ownerDocument, elem );
15 | };
16 | } );
17 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/rmargin.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /^margin/ );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/rnumnonpx.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../var/pnum"
3 | ], function( pnum ) {
4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/css/var/swap.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | // A method for quickly swapping in/out CSS properties to get correct calculations.
4 | return function( elem, options, callback, args ) {
5 | var ret, name,
6 | old = {};
7 |
8 | // Remember the old values, and insert the new ones
9 | for ( name in options ) {
10 | old[ name ] = elem.style[ name ];
11 | elem.style[ name ] = options[ name ];
12 | }
13 |
14 | ret = callback.apply( elem, args || [] );
15 |
16 | // Revert the old values
17 | for ( name in options ) {
18 | elem.style[ name ] = old[ name ];
19 | }
20 |
21 | return ret;
22 | };
23 |
24 | } );
25 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/data/accepts.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | /**
6 | * Determines whether an object can have data
7 | */
8 | jQuery.acceptData = function( owner ) {
9 | // Accepts only:
10 | // - Node
11 | // - Node.ELEMENT_NODE
12 | // - Node.DOCUMENT_NODE
13 | // - Object
14 | // - Any
15 | /* jshint -W018 */
16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
17 | };
18 |
19 | return jQuery.acceptData;
20 | });
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/data/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | ( function() {
7 | var div = document.createElement( "div" );
8 |
9 | // Support: IE<9
10 | support.deleteExpando = true;
11 | try {
12 | delete div.test;
13 | } catch ( e ) {
14 | support.deleteExpando = false;
15 | }
16 |
17 | // Null elements to avoid leaks in IE.
18 | div = null;
19 | } )();
20 |
21 | return support;
22 |
23 | } );
24 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/data/var/acceptData.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | /**
4 | * Determines whether an object can have data
5 | */
6 | return function( owner ) {
7 |
8 | // Accepts only:
9 | // - Node
10 | // - Node.ELEMENT_NODE
11 | // - Node.DOCUMENT_NODE
12 | // - Object
13 | // - Any
14 | /* jshint -W018 */
15 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
16 | };
17 |
18 | } );
19 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/data/var/dataPriv.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../Data"
3 | ], function( Data ) {
4 | return new Data();
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/data/var/dataUser.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../Data"
3 | ], function( Data ) {
4 | return new Data();
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/deferred/exceptionHook.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../deferred"
4 | ], function( jQuery ) {
5 |
6 | // These usually indicate a programmer mistake during development,
7 | // warn about them ASAP rather than swallowing them by default.
8 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
9 |
10 | jQuery.Deferred.exceptionHook = function( error, stack ) {
11 |
12 | // Support: IE9
13 | // Console exists when dev tools are open, which can happen at any time
14 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
15 | window.console.warn( "jQuery.Deferred exception: " + error.message, stack );
16 | }
17 | };
18 |
19 | } );
20 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/deprecated.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core"
3 | ], function( jQuery ) {
4 |
5 | jQuery.fn.extend( {
6 |
7 | bind: function( types, data, fn ) {
8 | return this.on( types, null, data, fn );
9 | },
10 | unbind: function( types, fn ) {
11 | return this.off( types, null, fn );
12 | },
13 |
14 | delegate: function( selector, types, data, fn ) {
15 | return this.on( types, selector, data, fn );
16 | },
17 | undelegate: function( selector, types, fn ) {
18 |
19 | // ( namespace ) or ( selector, types [, fn] )
20 | return arguments.length === 1 ?
21 | this.off( selector, "**" ) :
22 | this.off( types, selector || "**", fn );
23 | },
24 | size: function() {
25 | return this.length;
26 | }
27 | } );
28 |
29 | jQuery.fn.andSelf = jQuery.fn.addBack;
30 |
31 | } );
32 |
33 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/effects/animatedSelector.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../selector",
4 | "../effects"
5 | ], function( jQuery ) {
6 |
7 | jQuery.expr.filters.animated = function( elem ) {
8 | return jQuery.grep( jQuery.timers, function( fn ) {
9 | return elem === fn.elem;
10 | } ).length;
11 | };
12 |
13 | } );
14 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/event/ajax.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../event"
4 | ], function( jQuery ) {
5 |
6 | // Attach a bunch of functions for handling common AJAX events
7 | jQuery.each( [
8 | "ajaxStart",
9 | "ajaxStop",
10 | "ajaxComplete",
11 | "ajaxError",
12 | "ajaxSuccess",
13 | "ajaxSend"
14 | ], function( i, type ) {
15 | jQuery.fn[ type ] = function( fn ) {
16 | return this.on( type, fn );
17 | };
18 | } );
19 |
20 | } );
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/event/alias.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 |
4 | "../event",
5 | "./trigger"
6 | ], function( jQuery ) {
7 |
8 | jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " +
9 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10 | "change select submit keydown keypress keyup error contextmenu" ).split( " " ),
11 | function( i, name ) {
12 |
13 | // Handle event binding
14 | jQuery.fn[ name ] = function( data, fn ) {
15 | return arguments.length > 0 ?
16 | this.on( name, null, data, fn ) :
17 | this.trigger( name );
18 | };
19 | } );
20 |
21 | jQuery.fn.extend( {
22 | hover: function( fnOver, fnOut ) {
23 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
24 | }
25 | } );
26 |
27 | } );
28 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/event/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/support"
3 | ], function( support ) {
4 |
5 | support.focusin = "onfocusin" in window;
6 |
7 | return support;
8 |
9 | } );
10 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/exports/amd.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Register as a named AMD module, since jQuery can be concatenated with other
6 | // files that may use define, but not via a proper concatenation script that
7 | // understands anonymous AMD modules. A named AMD is safest and most robust
8 | // way to register. Lowercase jquery is used because AMD module names are
9 | // derived from file names, and jQuery is normally delivered in a lowercase
10 | // file name. Do this after creating the global so that if an AMD module wants
11 | // to call noConflict to hide this version of jQuery, it will work.
12 |
13 | // Note that for maximum portability, libraries that are not jQuery should
14 | // declare themselves as anonymous modules, and avoid setting a global if an
15 | // AMD loader is present. jQuery is a special case. For more information, see
16 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
17 |
18 | if ( typeof define === "function" && define.amd ) {
19 | define( "jquery", [], function() {
20 | return jQuery;
21 | } );
22 | }
23 |
24 | } );
25 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/exports/global.js:
--------------------------------------------------------------------------------
1 | var
2 |
3 | // Map over jQuery in case of overwrite
4 | _jQuery = window.jQuery,
5 |
6 | // Map over the $ in case of overwrite
7 | _$ = window.$;
8 |
9 | jQuery.noConflict = function( deep ) {
10 | if ( window.$ === jQuery ) {
11 | window.$ = _$;
12 | }
13 |
14 | if ( deep && window.jQuery === jQuery ) {
15 | window.jQuery = _jQuery;
16 | }
17 |
18 | return jQuery;
19 | };
20 |
21 | // Expose jQuery and $ identifiers, even in AMD
22 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
23 | // and CommonJS for browser emulators (#13566)
24 | if ( !noGlobal ) {
25 | window.jQuery = window.$ = jQuery;
26 | }
27 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/jquery.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "./selector",
4 | "./traversing",
5 | "./callbacks",
6 | "./deferred",
7 | "./core/ready",
8 | "./data",
9 | "./queue",
10 | "./queue/delay",
11 | "./attributes",
12 | "./event",
13 | "./event/alias",
14 | "./event/focusin",
15 | "./manipulation",
16 | "./manipulation/_evalUrl",
17 | "./wrap",
18 | "./css",
19 | "./css/hiddenVisibleSelectors",
20 | "./serialize",
21 | "./ajax",
22 | "./ajax/xhr",
23 | "./ajax/script",
24 | "./ajax/jsonp",
25 | "./ajax/load",
26 | "./event/ajax",
27 | "./effects",
28 | "./effects/animatedSelector",
29 | "./offset",
30 | "./dimensions",
31 | "./deprecated",
32 | "./exports/amd"
33 | ], function( jQuery ) {
34 |
35 | return ( window.jQuery = window.$ = jQuery );
36 |
37 | } );
38 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/_evalUrl.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../ajax"
3 | ], function( jQuery ) {
4 |
5 | jQuery._evalUrl = function( url ) {
6 | return jQuery.ajax( {
7 | url: url,
8 |
9 | // Make this explicit, since user can override this through ajaxSetup (#11264)
10 | type: "GET",
11 | dataType: "script",
12 | async: false,
13 | global: false,
14 | "throws": true
15 | } );
16 | };
17 |
18 | return jQuery._evalUrl;
19 |
20 | } );
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/createSafeFragment.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./var/nodeNames"
3 | ], function( nodeNames ) {
4 |
5 | function createSafeFragment( document ) {
6 | var list = nodeNames.split( "|" ),
7 | safeFrag = document.createDocumentFragment();
8 |
9 | if ( safeFrag.createElement ) {
10 | while ( list.length ) {
11 | safeFrag.createElement(
12 | list.pop()
13 | );
14 | }
15 | }
16 | return safeFrag;
17 | }
18 |
19 | return createSafeFragment;
20 | } );
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/getAll.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | function getAll( context, tag ) {
6 |
7 | // Support: IE9-11+
8 | // Use typeof to avoid zero-argument method invocation on host objects (#15151)
9 | var ret = typeof context.getElementsByTagName !== "undefined" ?
10 | context.getElementsByTagName( tag || "*" ) :
11 | typeof context.querySelectorAll !== "undefined" ?
12 | context.querySelectorAll( tag || "*" ) :
13 | [];
14 |
15 | return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
16 | jQuery.merge( [ context ], ret ) :
17 | ret;
18 | }
19 |
20 | return getAll;
21 | } );
22 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/setGlobalEval.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../data/var/dataPriv"
3 | ], function( dataPriv ) {
4 |
5 | // Mark scripts as having already been evaluated
6 | function setGlobalEval( elems, refElements ) {
7 | var i = 0,
8 | l = elems.length;
9 |
10 | for ( ; i < l; i++ ) {
11 | dataPriv.set(
12 | elems[ i ],
13 | "globalEval",
14 | !refElements || dataPriv.get( refElements[ i ], "globalEval" )
15 | );
16 | }
17 | }
18 |
19 | return setGlobalEval;
20 | } );
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/support.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/document",
3 | "../var/support"
4 | ], function( document, support ) {
5 |
6 | ( function() {
7 | var fragment = document.createDocumentFragment(),
8 | div = fragment.appendChild( document.createElement( "div" ) ),
9 | input = document.createElement( "input" );
10 |
11 | // Support: Android 4.0-4.3, Safari<=5.1
12 | // Check state lost if the name is set (#11217)
13 | // Support: Windows Web Apps (WWA)
14 | // `name` and `type` must use .setAttribute for WWA (#14901)
15 | input.setAttribute( "type", "radio" );
16 | input.setAttribute( "checked", "checked" );
17 | input.setAttribute( "name", "t" );
18 |
19 | div.appendChild( input );
20 |
21 | // Support: Safari<=5.1, Android<4.2
22 | // Older WebKit doesn't clone checked state correctly in fragments
23 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
24 |
25 | // Support: IE<=11+
26 | // Make sure textarea (and checkbox) defaultValue is properly cloned
27 | div.innerHTML = "";
28 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
29 | } )();
30 |
31 | return support;
32 |
33 | } );
34 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/var/nodeNames.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return "abbr|article|aside|audio|bdi|canvas|data|datalist|" +
3 | "details|dialog|figcaption|figure|footer|header|hgroup|main|" +
4 | "mark|meter|nav|output|picture|progress|section|summary|template|time|video";
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/var/rcheckableType.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /^(?:checkbox|radio)$/i );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /^\s+/ );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/var/rscriptType.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /^$|\/(?:java|ecma)script/i );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/var/rtagName.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /<([\w:-]+)/ );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/manipulation/wrapMap.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | // We have to close these tags to support XHTML (#13200)
4 | var wrapMap = {
5 |
6 | // Support: IE9
7 | option: [ 1, "", " " ],
8 |
9 | // XHTML parsers do not magically insert elements in the
10 | // same way that tag soup parsers do. So we cannot shorten
11 | // this by omitting or other required elements.
12 | thead: [ 1, "" ],
13 | col: [ 2, "" ],
14 | tr: [ 2, "" ],
15 | td: [ 3, "" ],
16 |
17 | _default: [ 0, "", "" ]
18 | };
19 |
20 | // Support: IE9
21 | wrapMap.optgroup = wrapMap.option;
22 |
23 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
24 | wrapMap.th = wrapMap.td;
25 |
26 | return wrapMap;
27 | } );
28 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/outro.js:
--------------------------------------------------------------------------------
1 | return jQuery;
2 | }));
3 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/queue/delay.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../core",
3 | "../queue",
4 | "../effects" // Delay is optional because of this dependency
5 | ], function( jQuery ) {
6 |
7 | // Based off of the plugin by Clint Helfers, with permission.
8 | // http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
9 | jQuery.fn.delay = function( time, type ) {
10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
11 | type = type || "fx";
12 |
13 | return this.queue( type, function( next, hooks ) {
14 | var timeout = window.setTimeout( next, time );
15 | hooks.stop = function() {
16 | window.clearTimeout( timeout );
17 | };
18 | } );
19 | };
20 |
21 | return jQuery.fn.delay;
22 | } );
23 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/selector-sizzle.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./core",
3 | "../external/sizzle/dist/sizzle"
4 | ], function( jQuery, Sizzle ) {
5 |
6 | jQuery.find = Sizzle;
7 | jQuery.expr = Sizzle.selectors;
8 | jQuery.expr[ ":" ] = jQuery.expr.pseudos;
9 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
10 | jQuery.text = Sizzle.getText;
11 | jQuery.isXMLDoc = Sizzle.isXML;
12 | jQuery.contains = Sizzle.contains;
13 |
14 | } );
15 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/selector.js:
--------------------------------------------------------------------------------
1 | define( [ "./selector-sizzle" ], function() {} );
2 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/traversing/var/dir.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core"
3 | ], function( jQuery ) {
4 |
5 | return function( elem, dir, until ) {
6 | var matched = [],
7 | truncate = until !== undefined;
8 |
9 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
10 | if ( elem.nodeType === 1 ) {
11 | if ( truncate && jQuery( elem ).is( until ) ) {
12 | break;
13 | }
14 | matched.push( elem );
15 | }
16 | }
17 | return matched;
18 | };
19 |
20 | } );
21 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/traversing/var/rneedsContext.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../../core",
3 | "../../selector"
4 | ], function( jQuery ) {
5 | return jQuery.expr.match.needsContext;
6 | } );
7 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/traversing/var/siblings.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | return function( n, elem ) {
4 | var matched = [];
5 |
6 | for ( ; n; n = n.nextSibling ) {
7 | if ( n.nodeType === 1 && n !== elem ) {
8 | matched.push( n );
9 | }
10 | }
11 |
12 | return matched;
13 | };
14 |
15 | } );
16 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/arr.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return [];
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/class2type.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | // [[Class]] -> type pairs
4 | return {};
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/concat.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.concat;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/deletedIds.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return [];
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/document.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return window.document;
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/documentElement.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./document"
3 | ], function( document ) {
4 | return document.documentElement;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/hasOwn.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./class2type"
3 | ], function( class2type ) {
4 | return class2type.hasOwnProperty;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/indexOf.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.indexOf;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/pnum.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/push.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.push;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/rcssNum.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "../var/pnum"
3 | ], function( pnum ) {
4 |
5 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
6 |
7 | } );
8 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/rnotwhite.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 | return ( /\S+/g );
3 | } );
4 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/slice.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./arr"
3 | ], function( arr ) {
4 | return arr.slice;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/support.js:
--------------------------------------------------------------------------------
1 | define( function() {
2 |
3 | // All support tests are defined in their respective modules.
4 | return {};
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/var/toString.js:
--------------------------------------------------------------------------------
1 | define( [
2 | "./class2type"
3 | ], function( class2type ) {
4 | return class2type.toString;
5 | } );
6 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jspdf",
3 | "version": "1.0.272",
4 | "homepage": "https://github.com/mrrio/jspdf",
5 | "description": "PDF Document creation from JavaScript",
6 | "main": "dist/jspdf.min.js",
7 | "moduleType": [
8 | "amd",
9 | "globals"
10 | ],
11 | "keywords": [
12 | "pdf"
13 | ],
14 | "license": "MIT",
15 | "ignore": [
16 | "**/.*",
17 | "libs",
18 | "CNAME",
19 | "jspdf.js",
20 | "jspdf.PLUGINTEMPLATE.js",
21 | "jspdf.plugin.*",
22 | "todo.txt",
23 | "wscript.py",
24 | "build.sh",
25 | "test",
26 | "tools"
27 | ],
28 | "_release": "1.0.272",
29 | "_resolution": {
30 | "type": "version",
31 | "tag": "v1.0.272",
32 | "commit": "1e722ff71d569b8e56a02f6223569f7c195ebd4e"
33 | },
34 | "_source": "git://github.com/MrRio/jsPDF.git",
35 | "_target": "1.0.272",
36 | "_originalSource": "jspdf"
37 | }
--------------------------------------------------------------------------------
/app/bower_components/jspdf/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010-2014 James Hall, https://github.com/MrRio/jsPDF
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jspdf",
3 | "version": "1.0.272",
4 | "homepage": "https://github.com/mrrio/jspdf",
5 | "description": "PDF Document creation from JavaScript",
6 | "main": "dist/jspdf.min.js",
7 | "moduleType": [
8 | "amd",
9 | "globals"
10 | ],
11 | "keywords": [
12 | "pdf"
13 | ],
14 | "license": "MIT",
15 | "ignore": [
16 | "**/.*",
17 | "libs",
18 | "CNAME",
19 | "jspdf.js",
20 | "jspdf.PLUGINTEMPLATE.js",
21 | "jspdf.plugin.*",
22 | "todo.txt",
23 | "wscript.py",
24 | "build.sh",
25 | "test",
26 | "tools"
27 | ]
28 | }
29 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/bootstrap/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/bootstrap/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/bootstrap/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/bootstrap/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/editor.css:
--------------------------------------------------------------------------------
1 | .row-fluid .no-gutter {
2 | margin-left: 0px;
3 | }
4 |
5 | footer {
6 | text-align: center;
7 | margin: 30px 0;
8 | }
9 |
10 | #editor {
11 | width: 50%;
12 | height: 400px;
13 | float: left;
14 | clear: left;
15 | position: relative;
16 | font-family: "source-code-pro";
17 | font-size: 14px;
18 | border: 1px solid #DDD;
19 | border-radius: 4px;
20 | border-bottom-right-radius: 0px;
21 | }
22 |
23 | .preview-pane {
24 | border: 3px solid #ccc;
25 | }
26 |
27 | .controls {
28 | float: left;
29 | clear: left;
30 | width: 50%;
31 | padding-top: 10px;
32 | }
33 |
34 | #template {
35 | width: 250px;
36 | }
37 |
38 | .tweet-buttons {
39 | float: left;
40 | margin-right: 40px;
41 | padding-top: 8px;
42 | }
43 |
44 | .source {
45 | font-family: "source-code-pro", Courier;
46 | font-size: 14px;
47 | }
48 |
49 | .controls .alert {
50 | float: left;
51 | }
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/main.css:
--------------------------------------------------------------------------------
1 | * {
2 | padding: 0; margin: 0;
3 | }
4 | body {
5 | padding: 30px;
6 | font-family: Arial, Helvetica, sans-serif;
7 | }
8 | h1 {
9 | margin-bottom: 1em;
10 | border-bottom: 1px solid #ccc;
11 | }
12 | h2 {
13 | margin-bottom: 1em;
14 | border-bottom: 1px solid #ccc;
15 | }
16 | pre {
17 | border: 1px dotted #ccc;
18 | background: #f7f7f7;
19 | padding: 10px;
20 | margin-bottom: 1em;
21 | }
22 | h1 {
23 | margin-bottom: 0.7em;
24 | }
25 | h2 {
26 | margin-top: 1em;
27 | }
28 | p {
29 | margin-bottom: 1em;
30 | }
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_2e83ff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_2e83ff_256x240.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_454545_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_454545_256x240.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_888888_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_888888_256x240.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_cd0a0a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/css/smoothness/images/ui-icons_cd0a0a_256x240.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/24_bit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/24_bit.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/32_bit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/32_bit.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/RGBA_16bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/RGBA_16bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/RGB_16bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/RGB_16bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/grayscale_16bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/grayscale_16bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/grayscale_8bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/grayscale_8bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/grayscale_alpha_16_bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/grayscale_alpha_16_bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/grayscale_alpha_8bpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/grayscale_alpha_8bpc.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/grid.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/jpg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/jpg.jpg
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/png8_flat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/png8_flat.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/png8_trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/png8_trans.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/images/tiny_png_indexed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/images/tiny_png_indexed.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/jaxer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/circles.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | doc.ellipse(40, 20, 10, 5);
4 |
5 | doc.setFillColor(0,0,255);
6 | doc.ellipse(80, 20, 10, 5, 'F');
7 |
8 | doc.setLineWidth(1);
9 | doc.setDrawColor(0);
10 | doc.setFillColor(255,0,0);
11 | doc.circle(120, 20, 5, 'FD');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/font-faces.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | doc.text(20, 20, 'This is the default font.');
4 |
5 | doc.setFont("courier");
6 | doc.setFontType("normal");
7 | doc.text(20, 30, 'This is courier normal.');
8 |
9 | doc.setFont("times");
10 | doc.setFontType("italic");
11 | doc.text(20, 40, 'This is times italic.');
12 |
13 | doc.setFont("helvetica");
14 | doc.setFontType("bold");
15 | doc.text(20, 50, 'This is helvetica bold.');
16 |
17 | doc.setFont("courier");
18 | doc.setFontType("bolditalic");
19 | doc.text(20, 60, 'This is courier bolditalic.');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/font-size.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 | doc.setFontSize(22);
3 | doc.text(20, 20, 'This is a title');
4 |
5 | doc.setFontSize(16);
6 | doc.text(20, 30, 'This is some normal sized text underneath.');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/from-html.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | // We'll make our own renderer to skip this editor
4 | var specialElementHandlers = {
5 | '#editor': function(element, renderer){
6 | return true;
7 | }
8 | };
9 |
10 | // All units are in the set measurement for the document
11 | // This can be changed to "pt" (points), "mm" (Default), "cm", "in"
12 | doc.fromHTML($('body').get(0), 15, 15, {
13 | 'width': 170,
14 | 'elementHandlers': specialElementHandlers
15 | });
16 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/html2canvas.js:
--------------------------------------------------------------------------------
1 |
2 | var pdf = new jsPDF('p','pt','a4');
3 |
4 | pdf.addHTML(document.body,function() {
5 | var string = pdf.output('datauristring');
6 | $('.preview-pane').attr('src', string);
7 | });
8 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/kitchen-sink.js:
--------------------------------------------------------------------------------
1 |
2 | // Kitchen Sink Example
3 |
4 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/landscape.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF('landscape');
2 | doc.text(20, 20, 'Hello landscape world!');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/lines.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | doc.line(20, 20, 60, 20); // horizontal line
4 |
5 | doc.setLineWidth(0.5);
6 | doc.line(20, 25, 60, 25);
7 |
8 | doc.setLineWidth(1);
9 | doc.line(20, 30, 60, 30);
10 |
11 | doc.setLineWidth(1.5);
12 | doc.line(20, 35, 60, 35);
13 |
14 | doc.setDrawColor(255,0,0); // draw red lines
15 |
16 | doc.setLineWidth(0.1);
17 | doc.line(100, 20, 100, 60); // vertical line
18 |
19 | doc.setLineWidth(0.5);
20 | doc.line(105, 20, 105, 60);
21 |
22 | doc.setLineWidth(1);
23 | doc.line(110, 20, 110, 60);
24 |
25 | doc.setLineWidth(1.5);
26 | doc.line(115, 20, 115, 60);
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/rectangles.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | // Empty square
4 | doc.rect(20, 20, 10, 10);
5 |
6 | // Filled square
7 | doc.rect(40, 20, 10, 10, 'F');
8 |
9 | // Empty red square
10 | doc.setDrawColor(255,0,0);
11 | doc.rect(60, 20, 10, 10);
12 |
13 | // Filled square with red borders
14 | doc.setDrawColor(255,0,0);
15 | doc.rect(80, 20, 10, 10, 'FD');
16 |
17 | // Filled red square
18 | doc.setDrawColor(0);
19 | doc.setFillColor(255,0,0);
20 | doc.rect(100, 20, 10, 10, 'F');
21 |
22 | // Filled red square with black borders
23 | doc.setDrawColor(0);
24 | doc.setFillColor(255,0,0);
25 | doc.rect(120, 20, 10, 10, 'FD');
26 |
27 | // Black sqaure with rounded corners
28 | doc.setDrawColor(0);
29 | doc.setFillColor(255, 255, 255);
30 | doc.roundedRect(140, 20, 10, 10, 3, 3, 'FD');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/text-colors.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | // I know the proper spelling is colour ;)
4 | doc.setTextColor(100);
5 | doc.text(20, 20, 'This is gray.');
6 |
7 | doc.setTextColor(150);
8 | doc.text(20, 30, 'This is light gray.');
9 |
10 | doc.setTextColor(255, 0, 0);
11 | doc.text(20, 40, 'This is red.');
12 |
13 | doc.setTextColor(0, 255, 0);
14 | doc.text(20, 50, 'This is green.');
15 |
16 | doc.setTextColor(0, 0, 255);
17 | doc.text(20, 60, 'This is blue.');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/triangles.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 |
3 | doc.triangle(60, 100, 60, 120, 80, 110, 'FD');
4 |
5 | doc.setLineWidth(1);
6 | doc.setDrawColor(255,0,0);
7 | doc.setFillColor(0,0,255);
8 | doc.triangle(100, 100, 110, 100, 120, 130, 'FD');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/two-page.js:
--------------------------------------------------------------------------------
1 | var doc = new jsPDF();
2 | doc.text(20, 20, 'Hello world!');
3 | doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
4 | doc.addPage('a6','l');
5 | doc.text(20, 20, 'Do you like that?');
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/js/user-input.js:
--------------------------------------------------------------------------------
1 | var name = prompt('What is your name?');
2 | var multiplier = parseInt(prompt('Enter a number:'));
3 |
4 | var doc = new jsPDF();
5 | doc.setFontSize(22);
6 | doc.text(20, 20, 'Questions');
7 | doc.setFontSize(16);
8 | doc.text(20, 30, 'This belongs to: ' + name);
9 |
10 | for(var i = 1; i <= 12; i ++) {
11 | doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ___');
12 | }
13 |
14 | doc.addPage();
15 | doc.setFontSize(22);
16 | doc.text(20, 20, 'Answers');
17 | doc.setFontSize(16);
18 |
19 | for(var i = 1; i <= 12; i ++) {
20 | doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ' + (i * multiplier));
21 | }
22 |
23 | // You wouldn't normally call this - this is just to make the
24 | // demo not look broken as we've disabled auto update.
25 | if (jsPDFEditor !== undefined) {
26 | jsPDFEditor.update(true);
27 | }
28 |
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/null-logo-trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/null-logo-trans.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/octocat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/octocat.jpg
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/octocat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/octocat.png
--------------------------------------------------------------------------------
/app/bower_components/jspdf/examples/thinking-monkey.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/bower_components/jspdf/examples/thinking-monkey.jpg
--------------------------------------------------------------------------------
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/favicon.ico
--------------------------------------------------------------------------------
/app/images/banner-social.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/banner-social.png
--------------------------------------------------------------------------------
/app/images/bizcardmaker-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/bizcardmaker-logo.png
--------------------------------------------------------------------------------
/app/images/blog/icon-cdn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-cdn.png
--------------------------------------------------------------------------------
/app/images/blog/icon-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-chat.png
--------------------------------------------------------------------------------
/app/images/blog/icon-lower-prices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-lower-prices.png
--------------------------------------------------------------------------------
/app/images/blog/icon-new-themes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-new-themes.png
--------------------------------------------------------------------------------
/app/images/blog/icon-new-ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-new-ui.png
--------------------------------------------------------------------------------
/app/images/blog/icon-shipping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/icon-shipping.png
--------------------------------------------------------------------------------
/app/images/blog/pdf-download-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/pdf-download-new.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-auto-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-auto-save.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-default.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-februrary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-februrary.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-october.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-october.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-pdf-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-pdf-download.png
--------------------------------------------------------------------------------
/app/images/blog/post-picture-september.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/post-picture-september.png
--------------------------------------------------------------------------------
/app/images/blog/theme-new-autumn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/theme-new-autumn.png
--------------------------------------------------------------------------------
/app/images/blog/theme-new-city-lights.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/theme-new-city-lights.jpg
--------------------------------------------------------------------------------
/app/images/blog/theme-new-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/theme-new-line.png
--------------------------------------------------------------------------------
/app/images/blog/theme-new-space.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/blog/theme-new-space.jpg
--------------------------------------------------------------------------------
/app/images/chrome-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/chrome-app.png
--------------------------------------------------------------------------------
/app/images/logo-pgprint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/logo-pgprint.png
--------------------------------------------------------------------------------
/app/images/logo-smashinglogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/logo-smashinglogo.png
--------------------------------------------------------------------------------
/app/images/social-promo-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/social-promo-banner.png
--------------------------------------------------------------------------------
/app/images/themes/city.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/city.jpg
--------------------------------------------------------------------------------
/app/images/themes/diagonals.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/diagonals.png
--------------------------------------------------------------------------------
/app/images/themes/food.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/food.png
--------------------------------------------------------------------------------
/app/images/themes/restaurant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/restaurant.png
--------------------------------------------------------------------------------
/app/images/themes/school.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/school.png
--------------------------------------------------------------------------------
/app/images/themes/space.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/space.jpg
--------------------------------------------------------------------------------
/app/images/themes/stardust.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/stardust.png
--------------------------------------------------------------------------------
/app/images/themes/winter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/winter.jpg
--------------------------------------------------------------------------------
/app/images/themes/winter2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/winter2.jpg
--------------------------------------------------------------------------------
/app/images/themes/winter3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/app/images/themes/winter3.jpg
--------------------------------------------------------------------------------
/app/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org
2 |
3 | User-agent: *
4 |
--------------------------------------------------------------------------------
/app/scripts/analytics.js:
--------------------------------------------------------------------------------
1 | /* track analytics
2 | */
3 |
4 | (function() {
5 | 'use strict';
6 |
7 | var events = [
8 | {
9 | selector: '.js-track-order',
10 | arguments: ['Orders', 'Clicked Print Order button'],
11 | },
12 | {
13 | selector: '.js-track-pdf',
14 | arguments: ['Download', 'Download PDF'],
15 | },
16 | {
17 | selector: '.js-track-picture',
18 | arguments: ['Download', 'Download picture'],
19 | },
20 | ];
21 |
22 | var clickElement = function (nativeEvent) {
23 | events.some(function (event) {
24 | if (window.util.closest(nativeEvent.target, event.selector)) {
25 | ga.apply(null, ['send', 'event'].concat(event.arguments));
26 | return true;
27 | }
28 | });
29 | };
30 |
31 | document.body.addEventListener('click', clickElement);
32 | })();
33 |
--------------------------------------------------------------------------------
/app/scripts/app.js:
--------------------------------------------------------------------------------
1 | /* Business Card Maker app
2 | */
3 |
4 | var app = angular.module('businessCardMaker', [
5 | 'ngRoute',
6 | 'angular-meditor'
7 | ]);
8 |
9 | app.run([ '$rootScope', function($rootScope){
10 | 'use strict';
11 |
12 | var root = $rootScope.root = {};
13 | }]);
14 |
15 |
--------------------------------------------------------------------------------
/app/scripts/directives/fileread.js:
--------------------------------------------------------------------------------
1 | /* fileread directive
2 | * for uploading files
3 | */
4 |
5 | app.directive('fileread', [function () {
6 | 'use strict';
7 |
8 | return {
9 | scope: {
10 | fileread: '='
11 | },
12 | link: function (scope, element) {
13 | element.bind('change', function (changeEvent) {
14 | scope.$apply(function () {
15 | scope.fileread = changeEvent.target.files[0];
16 | // or all selected files:
17 | // scope.fileread = changeEvent.target.files;
18 | });
19 | });
20 | }
21 | };
22 | }]);
23 |
--------------------------------------------------------------------------------
/app/scripts/gorgiastemplates.js:
--------------------------------------------------------------------------------
1 | /* briskine popup
2 | */
3 |
4 | (function() {
5 | 'use strict';
6 |
7 | var $popup = document.querySelector('.js-gtemplates-popup');
8 | if (!$popup) {
9 | return;
10 | }
11 |
12 | var hideClass = 'gtemplates-popup-hide';
13 | var storageKey = 'gtemplates-popup';
14 | var closedTime = null;
15 | var expiry = 1000 * 60 * 60 * 24;
16 |
17 | function timeAgo (dateString) {
18 | if (!dateString) {
19 | return true;
20 | }
21 |
22 | var difference = Date.now() - parseInt(dateString, 10);
23 | return difference > expiry;
24 | }
25 |
26 | function hidePopup () {
27 | $popup.classList.add(hideClass);
28 | window.localStorage.setItem(storageKey, String(Date.now()));
29 | }
30 |
31 | var $closeBtn = $popup.querySelector('.js-gtemplates-close');
32 | $closeBtn.addEventListener('click', hidePopup);
33 |
34 | function showPopup () {
35 | closedTime = window.localStorage.getItem(storageKey);
36 | if (timeAgo(closedTime)) {
37 | $popup.classList.remove(hideClass);
38 | }
39 | }
40 |
41 | setTimeout(function () {
42 | showPopup();
43 | }, 2000);
44 | })();
45 |
--------------------------------------------------------------------------------
/app/scripts/newsletter.js:
--------------------------------------------------------------------------------
1 | /* subscribe to newsletter modal
2 | * WARNING Disabled. Not loaded on the site.
3 | */
4 |
5 | (function() {
6 | 'use strict';
7 | var apiUrl = 'https://live-bizcardmaker.rhcloud.com';
8 |
9 | var newsletterSubscribe = function(e) {
10 | if (!window.util.closest(e.target, '.js-newsletter-subscribe')) {
11 | return;
12 | }
13 |
14 | // track email
15 | var $content = document.querySelector('.card-content');
16 | var emailAddress = $content.querySelector('.email p').textContent.trim();
17 |
18 | var xhr = new window.XMLHttpRequest();
19 | xhr.open('POST', apiUrl + '/newsletter/subscribe');
20 | xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
21 | xhr.send(JSON.stringify({
22 | email: emailAddress
23 | }));
24 | };
25 |
26 | document.body.addEventListener('click', newsletterSubscribe);
27 | })();
28 |
--------------------------------------------------------------------------------
/app/scripts/safari.js:
--------------------------------------------------------------------------------
1 | /* safari tweaks
2 | */
3 |
4 | (function() {
5 | 'use strict';
6 |
7 | // Safari, in Private Browsing Mode, looks like it supports localStorage
8 | // but all calls to setItem throw QuotaExceededError.
9 | if (typeof localStorage === 'object') {
10 | try {
11 | localStorage.setItem('localStorage', 1);
12 | localStorage.removeItem('localStorage');
13 | } catch (e) {
14 | window.Storage.prototype._setItem = window.Storage.prototype.setItem;
15 | window.Storage.prototype.setItem = function() {};
16 | }
17 | }
18 |
19 | // ugly detection for ugly Safari
20 | var isSafari = (navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1);
21 |
22 | // show a notice if using safari
23 | var $warning = document.querySelector('.warning-safari');
24 |
25 | if (isSafari) {
26 | $warning.className += 'warning-safari-show';
27 | }
28 | })();
--------------------------------------------------------------------------------
/app/scripts/sw.js:
--------------------------------------------------------------------------------
1 | if ('serviceWorker' in navigator) {
2 | window.addEventListener('load', function() {
3 | navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
4 | // Registration was successful
5 | console.log('ServiceWorker registration successful with scope: ', registration.scope);
6 | }, function(err) {
7 | // registration failed :(
8 | console.log('ServiceWorker registration failed: ', err);
9 | });
10 | });
11 | }
12 |
--------------------------------------------------------------------------------
/app/scripts/themes.js:
--------------------------------------------------------------------------------
1 | /* theme selector
2 | */
3 |
4 | (function() {
5 | 'use strict';
6 |
7 | var themeActive = '';
8 | var $themeActive;
9 | var $container = document.querySelector('.themes-box');
10 |
11 | // if we're on a page without the themes
12 | if (!$container) {
13 | return;
14 | }
15 |
16 | function hashChange () {
17 | themeActive = window.util.hash('theme');
18 |
19 | // if no theme in the url
20 | if (!themeActive) {
21 | // select the first in the list
22 | $container.querySelector('.theme-item').click();
23 |
24 | return;
25 | }
26 |
27 | // uncheck previous active theme
28 | $themeActive = $container.querySelector('.active');
29 | if ($themeActive) {
30 | window.util.removeClass($themeActive, 'active');
31 | }
32 |
33 | $themeActive = $container.querySelector('.js-' + themeActive);
34 | if ($themeActive) {
35 | window.util.addClass($themeActive, 'active');
36 | }
37 | }
38 |
39 | hashChange();
40 | window.addEventListener('hashchange', hashChange, false);
41 | })();
42 |
--------------------------------------------------------------------------------
/app/scripts/website.js:
--------------------------------------------------------------------------------
1 | /* Business Card Maker website
2 | */
3 |
4 | (function() {
5 | 'use strict';
6 |
7 | $(document).foundation();
8 | })();
9 |
--------------------------------------------------------------------------------
/app/styles/_affiliate-logo.scss:
--------------------------------------------------------------------------------
1 | /* logo affiliate
2 | */
3 |
4 | $btnLogoBg: #27ae60;
5 |
6 | .btn-logo {
7 | margin-bottom: .4em;
8 | padding: .6em 1em;
9 | border-radius: 3px;
10 | background: $btnLogoBg;
11 | box-shadow: inset 0 -2px 0 darken($btnLogoBg, 8%);
12 |
13 | font-size: emCalc(20);
14 | text-align: left;
15 | }
16 |
17 | .btn-logo:hover {
18 | background: lighten($btnLogoBg, 8%);
19 | }
20 |
21 | .btn-logo small {
22 | display: block;
23 | }
24 |
25 | .affiliate-logo-powered {
26 | margin-left: 1.6em;
27 |
28 | font-size: emCalc(12);
29 | }
30 |
31 | .affiliate-logo-powered img {
32 | margin-left: emCalc(4);
33 | width: emCalc(160);
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/app/styles/_gorgiastemplates.scss:
--------------------------------------------------------------------------------
1 | /* gorgias templates popup
2 | */
3 |
4 | .gtemplates-popup {
5 | position: absolute;
6 | bottom: 1rem;
7 | right: 1.6rem;
8 | z-index: 9999;
9 | width: 13.4rem;
10 | background-color: #f4f5f7;
11 | border-radius: 3px;
12 | box-shadow: 0 4px 14px rgba(0,0,0,.05);
13 |
14 | font-size: .8rem;
15 |
16 | transition: .3s all cubic-bezier(.17,.67,.51,1.5);
17 | transform: translate3d(0,0,0);
18 | opacity: 1;
19 | }
20 |
21 | .gtemplates-popup p {
22 | margin: 0;
23 | padding: .6rem;
24 | }
25 |
26 | .gtemplates-popup a {
27 | display: block;
28 | padding: .6rem;
29 | background-color: hsla(206, 81%, 60%, .1);
30 | border-radius: 0 0 3px 3px;
31 |
32 | color: #1c3a70;
33 | font-weight: bold;
34 | }
35 |
36 | .gtemplates-popup a:hover {
37 | background-color: hsla(206, 81%, 60%, .2);
38 | }
39 |
40 | .gtemplates-close {
41 | position: absolute;
42 | top: -1.2rem;
43 | right: 0;
44 | padding: .2rem .6rem;
45 | background-color: #707c92;
46 | border-radius: 1rem;
47 | opacity: .7;
48 |
49 | color: #fff;
50 | font-size: .6rem;
51 | }
52 |
53 | .gtemplates-close:hover {
54 | opacity: 1;
55 | }
56 |
57 | .gtemplates-popup-hide {
58 | transform: translate3d(0, 10px, 0);
59 | opacity: 0;
60 | visibility: hidden;
61 | height: 0;
62 | overflow: hidden;
63 | }
64 |
65 |
--------------------------------------------------------------------------------
/app/styles/_help.scss:
--------------------------------------------------------------------------------
1 | /* help popup
2 | */
3 |
4 | .help {
5 | padding-top: 1.6em;
6 | padding-bottom: 3.4em;
7 | }
8 |
9 | .help-title {
10 | margin-bottom: 1.4em;
11 | opacity: .4;
12 |
13 | font-size: .8em;
14 | font-weight: bold;
15 | }
16 |
17 | .help-list {
18 | list-style-type: none;
19 | margin: 0 0 0 -1.8em;
20 |
21 | font-size: .9em;
22 | }
23 |
24 | .help-list li {
25 | position: relative;
26 | margin: 0 0 1.8em;
27 | padding-left: 1.8em;
28 | }
29 |
30 | .icon-help {
31 | position: absolute;
32 | top: emCalc(4);
33 | left: 0;
34 | opacity: .4;
35 |
36 | font-size: emCalc(20);
37 | }
38 |
39 | .icon-help.fa-long-arrow-down {
40 | transform: rotate(-45deg);
41 | }
42 |
--------------------------------------------------------------------------------
/app/styles/_sidebar.scss:
--------------------------------------------------------------------------------
1 | /* Right sidebar
2 | */
3 |
4 | .sidebar-right {
5 | display: none;
6 | min-height: 100%;
7 | width: 22em;
8 | padding: 0 1.6em 0 2.8em;
9 | }
10 |
11 | /* show for 1240px and up
12 | */
13 | @media (min-width: 77.5em) {
14 | .sidebar-right {
15 | display: block;
16 | }
17 | }
18 |
19 | /* safari warning
20 | */
21 |
22 | .warning-safari {
23 | display: none;
24 | }
25 |
26 | .warning-safari-show {
27 | display: block;
28 | }
29 |
--------------------------------------------------------------------------------
/app/styles/main.scss:
--------------------------------------------------------------------------------
1 | /* bizcardmaker.com
2 | * everything styles
3 | */
4 |
5 | /* variables
6 | */
7 | $color1: #2854a1;
8 | $color2: lighten(saturate($color1, 40%), 20%);
9 | $white: #fff;
10 | $grey: #e6e6e6;
11 |
12 | @import 'utils';
13 | @import 'website';
14 | @import 'app';
15 | @import 'sidebar';
16 | @import 'help';
17 |
18 | @import 'affiliate-logo';
19 | @import 'affiliate-print';
20 | @import 'gorgiastemplates';
21 |
--------------------------------------------------------------------------------
/app/styles/themes/_diagonals.scss:
--------------------------------------------------------------------------------
1 | /* Diagonals theme
2 | */
3 |
4 | .theme-diagonals,
5 | .theme-diagonals-thumb .theme-preview {
6 | background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVAQMAAACT2TfVAAAABlBMVEUAAAD///+l2Z/dAAAANklEQVQIWx3DwQkAIAwEweMaN6VZSkrIMw8xLg6M17RDbf3F5LYmKOvysFlMbnmCki8Pm8WUHhEDFuFJix/eAAAAAElFTkSuQmCC');
7 | }
8 |
9 | .theme-diagonals .card-content {
10 | @include theme(light);
11 |
12 | .card-picture {
13 | background-color: $white;
14 |
15 | opacity: 1 !important;
16 | }
17 |
18 | .person,
19 | .details,
20 | .email,
21 | .url {
22 | width: emCalc(172);
23 | }
24 |
25 | .card-item {
26 | left: 56%;
27 | padding: emCalc(4);
28 | background-color: $white;
29 |
30 | color: #000;
31 |
32 | &:hover {
33 | background-color: darken($white, 10%);
34 | }
35 |
36 | a {
37 | color: #000;
38 | }
39 |
40 | p {
41 | line-height: 1.2em;
42 | }
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/styles/themes/_simple.scss:
--------------------------------------------------------------------------------
1 | /* Simple theme
2 | */
3 |
4 | /* Theme
5 | */
6 |
7 | %theme-simple {
8 |
9 | .card-picture {
10 | position: absolute;
11 | top: 4%;
12 | left: 4%;
13 | }
14 |
15 | .card-item,
16 | .card-item p {
17 | position: relative;
18 | }
19 |
20 | .card-item {
21 | position: absolute;
22 | left: 52%;
23 | }
24 |
25 | .person {
26 | top: 4%;
27 | }
28 |
29 | }
30 |
31 | /* Mixin
32 | */
33 |
34 | @mixin simple($name, $color, $dark: false) {
35 |
36 | .theme-simple--#{$name},
37 | .theme-simple--#{$name}-thumb .theme-preview {
38 | background-color: $color;
39 | }
40 |
41 | .theme-simple--#{$name} {
42 | @extend %theme-simple;
43 |
44 | @if $dark == true {
45 | @include theme(dark);
46 | } @else {
47 | @include theme(light);
48 | }
49 | }
50 |
51 | }
52 |
53 | /* Sub-themes
54 | */
55 |
56 | @include simple('black', #000, true);
57 | @include simple('white', #fff);
58 | @include simple('blue', #00A6DE);
59 | @include simple('dark-blue', #133B8B, true);
60 | @include simple('red', #ED1C24, true);
61 | @include simple('turquoise', #1ABC9C, true);
62 | @include simple('green', #8DC63F);
63 | @include simple('dark-green', #00723F, true);
64 | @include simple('pink', #E8A0C6);
65 | @include simple('purple', #713F64, true);
66 | @include simple('orange', #F58220, true);
67 |
--------------------------------------------------------------------------------
/app/templates/about.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | layout: content.html
3 | title: About
4 | ---
5 |
6 |
7 |
8 |
9 |
10 | Business Card Maker allows you to easily create business cards in seconds, for free , using high quality professional designs, in your web browser without having to install any extra software.
11 |
12 |
13 |
14 | Just type in your contact details on the business card, add a logo or picture, and get a printable PDF that you can print at home or at your local printer, or a high quality picture that you can share on Facebook, or anywhere else online.
15 |
16 |
17 |
18 | You can order printed business cards by clicking the Get printed business cards button, under the business card.
19 |
20 |
21 |
22 |
23 |
24 | For the best quality use glossy or thick paper when printing at home. The high-resolution PDF is ready for professional printing and includes bleed and crop marks.
25 |
26 |
27 |
28 | To get the perfect size for your business cards, just cut along the crop marks.
29 |
30 |
31 |
32 | For the logo, try to use images with a large resolution, and transparent background, if possible.
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/templates/blog/2014-09-22-welcome.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Welcome
3 | layout: post.html
4 | posted: 2014-09-22
5 | picture: /images/blog/post-picture-default.png
6 | ---
7 |
8 | Welcome to the Business Card Maker blog!
9 |
10 | I launched the first version of Business Card Maker roughly one year ago. That’s right, it took one year to start a blog for it, but not without good reason. I'm busy adding all the features you keep requesting!
11 |
12 | It wasn’t as pretty as it is today, or have as many features, but it was just as easy to use. That’s the best thing about Business Card Maker: the fact that anybody, without any technical knowledge, can quickly create great-looking business cards, literally in seconds.
13 |
14 | I hope you enjoy using it, and just as important, that it is useful to you. Lots of new things are planned for future updates, so be sure to check back often!
15 |
16 | I will update this blog on a regular basis to keep you up to date with all the new things happening, as well as other things like creative tips or printing advice.
17 |
18 | For support or any questions you can reach me on Twitter at [@bizcardmakercom](https://www.twitter.com/bizcardmakercom) or by email at [contact@bizcardmaker.com](mailto:contact@bizcardmaker.com).
19 |
20 | Cheers,
21 | Ionuț
22 |
23 |
--------------------------------------------------------------------------------
/app/templates/blog/2016-03-28-better-pdf-download.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Better PDF downloads
3 | layout: post.html
4 | posted: 2016-03-28
5 | picture: /images/blog/post-picture-pdf-download.png
6 | ---
7 |
8 | We've got some good news for everybody printing the business cards themselves. We improved the PDF download format to match the ones used by professional printers.
9 |
10 | The new format includes a single business card on a page, compared to the old one that contained multiple cards. It also includes extra spacing and crop marks to make it much easier for you to cut up the cards to the perfect size (3.5" x 2").
11 |
12 | All this means the PDF file is prepared for professional printing, and ready to take or upload to any printer.
13 |
14 | If you haven’t tried it out already, here’s how the new PDF download looks like:
15 |
16 |
17 |
18 | ## Printing multiple cards on a single page
19 |
20 | If you’re printing at home and need to print multiple business cards on the same page, here’s a quick tutorial on how to print multiple pages per sheet of paper using Acrobat or Reader .
21 |
22 |
--------------------------------------------------------------------------------
/app/templates/blog/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Blog
3 | layout: content.html
4 | ---
5 |
6 |
7 |
8 | {{#withSort posted 'data.posted'}}
9 |
10 | {{#each pages}}
11 |
12 |
13 |
14 |
24 |
25 |
26 |
27 | {{moment data.posted "MMMM D, YYYY"}}
28 |
29 |
30 |
31 |
32 | {{truncate page 180 "..."}}
33 |
34 |
35 | read more »
36 |
37 |
38 |
39 |
40 |
41 |
42 | {{/each}}
43 |
44 | {{/withSort}}
45 |
46 |
47 |
--------------------------------------------------------------------------------
/app/templates/contact.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | layout: content.html
3 | title: Contact Us
4 | ---
5 |
6 |
7 |
8 |
20 |
21 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/templates/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page.html
3 | title: ''
4 | ---
5 |
6 |
7 |
8 |
9 |
10 | Choose a design
11 |
12 |
13 |
14 | {{#each themes.list}}
15 |
16 |
19 |
20 | {{/each}}
21 |
22 |
23 |
24 |
25 | {{> card-editor}}
26 |
27 |
28 |
39 |
40 |
41 | {{> gorgiastemplates }}
42 |
--------------------------------------------------------------------------------
/app/templates/layouts/content.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page.html
3 | ---
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{ title }}
13 |
14 |
15 | {{> body}}
16 |
17 |
18 |
19 |
20 |
21 | {{> footer}}
22 |
23 |
--------------------------------------------------------------------------------
/app/templates/layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page.html
3 | ---
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{#if page.picture}}
13 |
14 | {{/if}}
15 |
16 | {{ page.title }}
17 |
18 |
19 |
20 |
21 | {{moment page.posted "MMMM D, YYYY"}}
22 |
23 |
24 |
25 | {{#markdown}}
26 | {{> body}}
27 | {{/markdown}}
28 |
29 |
30 |
31 |
32 | Catch up on the latest posts:
33 |
34 |
35 |
36 |
37 | {{#withSort posted 'page.posted'}}
38 | {{#each pages }}
39 |
40 |
41 |
42 | {{ data.title }}
43 |
44 |
45 |
46 | {{/each}}
47 | {{/withSort}}
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | {{> footer}}
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/templates/partials/affiliate-logo.html:
--------------------------------------------------------------------------------
1 |
2 | Create a logo
3 |
4 | Get a great looking new logo in a minute.
5 |
6 |
7 |
8 |
14 |
--------------------------------------------------------------------------------
/app/templates/partials/footer.html:
--------------------------------------------------------------------------------
1 |
47 |
--------------------------------------------------------------------------------
/app/templates/partials/gorgiastemplates.html:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/app/templates/partials/help.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | HELP
4 |
5 |
6 |
7 |
8 |
9 | Click on any of the details on the card, to edit them.
10 |
11 |
12 |
13 | Double click or select the text to change its style, size or font.
14 |
15 |
16 |
17 | Drag elements around using the dotted borders that show up when placing the cursor over them.
18 |
19 |
20 |
21 | Resize the picture or text boxes by dragging the bottom right corner of the dotted box.
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/templates/sitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | https://www.bizcardmaker.com/
5 | {{moment now "YYYY-MM-DD"}}
6 | monthly
7 | 1
8 |
9 | {{#each pages}}
10 | {{#if data.title}}
11 |
12 | https://www.bizcardmaker.com{{replace this.dirname "public" ""}}/{{this.basename}}{{ext}}
13 | {{moment data.posted "YYYY-MM-DD"}}
14 | monthly
15 | 0.8
16 |
17 | {{/if}}
18 | {{/each}}
19 |
20 |
--------------------------------------------------------------------------------
/artwork/banner-250x125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/banner-250x125.png
--------------------------------------------------------------------------------
/artwork/banner-300x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/banner-300x150.png
--------------------------------------------------------------------------------
/artwork/banner-800x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/banner-800x400.png
--------------------------------------------------------------------------------
/artwork/bizcardmaker-screenshot-1280x800-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/bizcardmaker-screenshot-1280x800-2.png
--------------------------------------------------------------------------------
/artwork/bizcardmaker-screenshot-1280x800.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/bizcardmaker-screenshot-1280x800.png
--------------------------------------------------------------------------------
/artwork/bizcardmaker-screenshot-closeup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/bizcardmaker-screenshot-closeup.png
--------------------------------------------------------------------------------
/artwork/bizcardmaker-screenshot-closeup2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/bizcardmaker-screenshot-closeup2.png
--------------------------------------------------------------------------------
/artwork/bizcardmaker-screenshot-old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/bizcardmaker-screenshot-old.png
--------------------------------------------------------------------------------
/artwork/chrome-tile-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/chrome-tile-large.png
--------------------------------------------------------------------------------
/artwork/chrome-tile-marquee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/chrome-tile-marquee.png
--------------------------------------------------------------------------------
/artwork/chrome-tile-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/chrome-tile-small.png
--------------------------------------------------------------------------------
/artwork/facebook-icon-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/facebook-icon-green.png
--------------------------------------------------------------------------------
/artwork/facebook-icon-orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/facebook-icon-orange.png
--------------------------------------------------------------------------------
/artwork/facebook-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/facebook-icon.png
--------------------------------------------------------------------------------
/artwork/newslestter-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/newslestter-logo.png
--------------------------------------------------------------------------------
/artwork/square-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/square-icon.png
--------------------------------------------------------------------------------
/artwork/twitter-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/artwork/twitter-banner.png
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bizcardmaker",
3 | "version": "0.0.0",
4 | "private": true,
5 | "dependencies": {
6 | "angular": "1.2.28",
7 | "angular-route": "1.2.28",
8 | "angular-meditor": "1.3.0",
9 | "blueimp-canvas-to-blob": "2.1.1",
10 | "bourbon": "4.2.6",
11 | "foundation-sites": "6.2.1",
12 | "font-awesome": "4.4.0",
13 | "html2canvas": "0.5.0-alpha2",
14 | "jquery": "2.2.0",
15 | "jspdf": "1.0.272",
16 | "momentjs": "2.8.4"
17 | },
18 | "devDependencies": {
19 | "angular-mocks": "1.2.28"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/chrome-app/bizcardmaker-icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/chrome-app/bizcardmaker-icon-128.png
--------------------------------------------------------------------------------
/chrome-app/bizcardmaker-icon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/chrome-app/bizcardmaker-icon-16.png
--------------------------------------------------------------------------------
/chrome-app/bizcardmaker-icon-48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/chrome-app/bizcardmaker-icon-48.png
--------------------------------------------------------------------------------
/chrome-app/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "Business Card Maker",
4 | "description": "Easily create your own FREE business cards in seconds, using high quality professional designs.",
5 | "version": "1.0.2",
6 | "icons": {
7 | "16": "bizcardmaker-icon-16.png",
8 | "48": "bizcardmaker-icon-48.png",
9 | "128": "bizcardmaker-icon-128.png"
10 | },
11 | "app": {
12 | "launch": {
13 | "web_url": "http://www.bizcardmaker.com/?utm_source=chromewebstore&utm_medium=app&utm_campaign=chromewebstore"
14 | }
15 | },
16 | "permissions": []
17 | }
18 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bizcardmaker",
3 | "version": "0.0.0",
4 | "private": true,
5 | "devDependencies": {
6 | "chai": "^4.0.0",
7 | "connect-livereload": "^0.6.0",
8 | "gm": "^1.23.0",
9 | "grunt": "^1.0.1",
10 | "grunt-assemble": "^0.6.0",
11 | "grunt-build-control": "^0.7.1",
12 | "grunt-cli": "^1.4.3",
13 | "grunt-contrib-clean": "^2.0.0",
14 | "grunt-contrib-concat": "^2.0.0",
15 | "grunt-contrib-connect": "^3.0.0",
16 | "grunt-contrib-copy": "^1.0.0",
17 | "grunt-contrib-cssmin": "^4.0.0",
18 | "grunt-contrib-htmlmin": "^3.0.0",
19 | "grunt-contrib-jshint": "^3.0.0",
20 | "grunt-contrib-uglify": "^5.0.0",
21 | "grunt-contrib-watch": "^1.1.0",
22 | "grunt-protractor-runner": "^5.0.0",
23 | "grunt-rev": "^0.1.0",
24 | "grunt-run": "^0.8.1",
25 | "grunt-sass": "^3.1.0",
26 | "grunt-usemin": "^3.1.1",
27 | "matchdep": "^2.0.0",
28 | "mocha": "^10.0.0",
29 | "protractor": "^7.0.0",
30 | "sass": "^1.26.2",
31 | "sw-precache": "^5.2.1"
32 | },
33 | "engines": {
34 | "node": ">=0.8.0"
35 | },
36 | "scripts": {
37 | "update": "webdriver-manager update",
38 | "start": "grunt server",
39 | "build": "grunt",
40 | "test": "grunt test",
41 | "deploy": "grunt deploy"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-border--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-border--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-corners--white.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-corners--white.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-diagonals.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-diagonals.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-half--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-half--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-line--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-line--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-half-black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-half-black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-half.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-half.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-top-black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-top-black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-top.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--city-top.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--food-full.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--food-full.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--restaurant-full.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--restaurant-full.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--school-full.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--school-full.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-full.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-full.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-half-black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-half-black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-half.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-half.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-top-black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-top-black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-top.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--space-top.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-picture--stardust-full.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-picture--stardust-full.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-simple--white.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-simple--white.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-third--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-third--turquoise.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--black.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--dark-blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--dark-blue.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--dark-green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--dark-green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--green.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--orange.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--orange.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--pink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--pink.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--purple.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--purple.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--red.jpg
--------------------------------------------------------------------------------
/tests/media/themes-orig/bizcardmaker-com-theme-topline--turquoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghinda/bizcardmaker/56cadad5b5f98dacdb7d23937bb55776a5cec9e2/tests/media/themes-orig/bizcardmaker-com-theme-topline--turquoise.jpg
--------------------------------------------------------------------------------
/tests/protractor.conf.js:
--------------------------------------------------------------------------------
1 | /* Protractor config
2 | */
3 |
4 | var themeDir = __dirname + '/media/themes';
5 |
6 | exports.config = {
7 | directConnect: true,
8 | baseUrl: 'http://localhost:9000/',
9 | capabilities: {
10 | 'browserName': 'chrome',
11 |
12 | chromeOptions: {
13 | args: [ '--start-maximized' ],
14 | prefs: {
15 | download: {
16 | prompt_for_download: false,
17 | default_directory: themeDir
18 | },
19 | profile: {
20 | default_content_settings: {
21 | 'multiple-automatic-downloads': 1
22 | }
23 | }
24 | }
25 | }
26 | },
27 | framework: 'jasmine2',
28 | rootElement: '.card-maker',
29 | jasmineNodeOpts: {
30 | showColors: true,
31 | defaultTimeoutInterval: 3000000
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/tests/themes/themes-diff.js:
--------------------------------------------------------------------------------
1 | /* using mocha programatically so we don't need to use
2 | * the cli or a different runner for it
3 | */
4 |
5 | var Mocha = require('mocha');
6 | var path = require('path');
7 |
8 | // First, you need to instantiate a Mocha instance.
9 | var mocha = new Mocha({
10 | timeout: 20000
11 | });
12 |
13 | // Then, you need to use the method "addFile" on the mocha
14 | // object for each file.
15 |
16 | mocha.addFile('tests/themes/themes-diff.spec.js');
17 |
18 | // Now, you can run the tests.
19 | mocha.run(function(failures){
20 | process.on('exit', function () {
21 | process.exit(failures);
22 | });
23 | });
--------------------------------------------------------------------------------