patternfly-sass 0.0.0.pre.semantically.pre.released → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.bowerrc +3 -0
- data/.gitignore +43 -0
- data/.rspec +3 -0
- data/.rubocop.yml +54 -0
- data/.travis.yml +17 -0
- data/Gemfile +3 -0
- data/README.md +29 -438
- data/Rakefile +128 -0
- data/TODO.md +13 -0
- data/assets/fonts/patternfly/OpenSans-Bold-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-Bold-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-Bold-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-Bold-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-BoldItalic-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-BoldItalic-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-BoldItalic-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-BoldItalic-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBold-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBold-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBold-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBold-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBoldItalic-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-Italic-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-Italic-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-Italic-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-Italic-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-Light-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-Light-webfont.svg +1831 -0
- data/assets/fonts/patternfly/OpenSans-Light-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-Light-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-LightItalic-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-LightItalic-webfont.svg +1835 -0
- data/assets/fonts/patternfly/OpenSans-LightItalic-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-LightItalic-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-Regular-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-Regular-webfont.svg +1831 -0
- data/assets/fonts/patternfly/OpenSans-Regular-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-Regular-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-Semibold-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-Semibold-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-Semibold-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-Semibold-webfont.woff +0 -0
- data/assets/fonts/patternfly/OpenSans-SemiboldItalic-webfont.eot +0 -0
- data/assets/fonts/patternfly/OpenSans-SemiboldItalic-webfont.svg +1830 -0
- data/assets/fonts/patternfly/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- data/assets/fonts/patternfly/OpenSans-SemiboldItalic-webfont.woff +0 -0
- data/assets/fonts/patternfly/PatternFlyIcons-webfont.eot +0 -0
- data/assets/fonts/patternfly/PatternFlyIcons-webfont.svg +63 -0
- data/assets/fonts/patternfly/PatternFlyIcons-webfont.ttf +0 -0
- data/assets/fonts/patternfly/PatternFlyIcons-webfont.woff +0 -0
- data/assets/images/patternfly/apple-touch-icon-114-precomposed.png +0 -0
- data/assets/images/patternfly/apple-touch-icon-144-precomposed.png +0 -0
- data/assets/images/patternfly/apple-touch-icon-57-precomposed.png +0 -0
- data/assets/images/patternfly/apple-touch-icon-72-precomposed.png +0 -0
- data/{dist/img → assets/images/patternfly}/bg-login.jpg +0 -0
- data/assets/images/patternfly/brand-lg.png +0 -0
- data/assets/images/patternfly/brand.png +0 -0
- data/{dist/img → assets/images/patternfly}/brand.svg +87 -87
- data/assets/images/patternfly/logo.png +0 -0
- data/{dist/img → assets/images/patternfly}/logo.svg +22 -22
- data/{dist/img → assets/images/patternfly}/spinner-lg.gif +0 -0
- data/{dist/img → assets/images/patternfly}/spinner-sm.gif +0 -0
- data/{dist/img → assets/images/patternfly}/spinner-xs.gif +0 -0
- data/{dist/img → assets/images/patternfly}/spinner.gif +0 -0
- data/assets/javascripts/patternfly/patternfly.js +212 -0
- data/assets/javascripts/patternfly/patternfly.min.js +1 -0
- data/{dist/sass → assets/stylesheets}/_patternfly-compass.scss +1 -1
- data/{dist/sass → assets/stylesheets}/_patternfly-sprockets.scss +1 -1
- data/assets/stylesheets/_patternfly.scss +105 -0
- data/assets/stylesheets/patternfly/_alerts.scss +29 -0
- data/{dist/sass → assets/stylesheets}/patternfly/_badges.scss +0 -0
- data/assets/stylesheets/patternfly/_blank-slate.scss +29 -0
- data/assets/stylesheets/patternfly/_bootstrap-combobox-css.scss +42 -0
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_bootstrap-combobox.scss +2 -2
- data/assets/stylesheets/patternfly/_bootstrap-select-css.scss +309 -0
- data/{dist/sass → assets/stylesheets}/patternfly/_bootstrap-select.scss +15 -24
- data/assets/stylesheets/patternfly/_bootstrap-treeview.scss +37 -0
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_breadcrumbs.scss +2 -2
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_buttons.scss +8 -10
- data/assets/stylesheets/patternfly/_close.scss +13 -0
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_datatables.scss +69 -33
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_dropdowns.scss +6 -96
- data/assets/stylesheets/patternfly/_fonts.scss +54 -0
- data/assets/stylesheets/patternfly/_forms.scss +31 -0
- data/assets/stylesheets/patternfly/_icons.scss +155 -0
- data/{dist/sass → assets/stylesheets}/patternfly/_infotip.scss +8 -4
- data/{dist/sass → assets/stylesheets}/patternfly/_labels.scss +2 -7
- data/{dist/sass → assets/stylesheets}/patternfly/_list-group.scss +2 -7
- data/assets/stylesheets/patternfly/_login.scss +121 -0
- data/assets/stylesheets/patternfly/_mixin_overrides.scss +55 -0
- data/assets/stylesheets/patternfly/_mixins.scss +96 -0
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_modals.scss +2 -13
- data/{dist/sass → assets/stylesheets}/patternfly/_navbar.scss +98 -176
- data/{dist/sass → assets/stylesheets}/patternfly/_pager.scss +6 -2
- data/assets/stylesheets/patternfly/_pagination.scss +64 -0
- data/assets/stylesheets/patternfly/_panels.scss +57 -0
- data/assets/stylesheets/patternfly/_popovers.scss +32 -0
- data/{dist/sass → assets/stylesheets}/patternfly/_progress-bars.scss +19 -49
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_search.scss +10 -9
- data/{dist/sass → assets/stylesheets}/patternfly/_sidebar.scss +32 -34
- data/assets/stylesheets/patternfly/_spinner.scss +62 -0
- data/{dist/sass → assets/stylesheets}/patternfly/_syntax-highlighting.scss +5 -16
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_tables.scss +4 -24
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_tabs.scss +3 -3
- data/{dist/sass/rcue → assets/stylesheets/patternfly}/_tooltip.scss +3 -2
- data/{dist/sass → assets/stylesheets}/patternfly/_type.scss +5 -10
- data/assets/stylesheets/patternfly/_variables.scss +225 -0
- data/bower.json +29 -0
- data/lib/patternfly-sass.rb +5 -8
- data/lib/patternfly-sass/engine.rb +6 -3
- data/lib/patternfly-sass/version.rb +2 -1
- data/package.json +28 -0
- data/patternfly-sass.gemspec +18 -20
- data/spec/compare_spec.rb +43 -0
- data/spec/spec_helper.rb +9 -0
- data/tasks/converter.rb +455 -0
- data/tests/capture.js +43 -0
- data/tests/components/bootstrap-combobox/.bower.json +14 -0
- data/tests/components/bootstrap-combobox/.gitignore +1 -0
- data/tests/components/bootstrap-combobox/README.md +59 -0
- data/tests/components/bootstrap-combobox/css/bootstrap-combobox.css +42 -0
- data/tests/components/bootstrap-combobox/js/bootstrap-combobox.js +438 -0
- data/tests/components/bootstrap-combobox/js/tests/index.html +29 -0
- data/tests/components/bootstrap-combobox/js/tests/unit/bootstrap-combobox.js +323 -0
- data/tests/components/bootstrap-combobox/js/tests/vendor/jquery.js +9597 -0
- data/tests/components/bootstrap-combobox/js/tests/vendor/qunit.css +244 -0
- data/tests/components/bootstrap-combobox/js/tests/vendor/qunit.js +2152 -0
- data/{dist/sass/patternfly/dependencies/bootstrap-combobox/combobox.scss → tests/components/bootstrap-combobox/less/combobox.less} +8 -10
- data/tests/components/bootstrap-select/.bower.json +38 -0
- data/tests/components/bootstrap-select/CONTRIBUTING.md +87 -0
- data/tests/components/bootstrap-select/README.md +61 -0
- data/tests/components/bootstrap-select/bootstrap-select.css +309 -0
- data/tests/components/bootstrap-select/bootstrap-select.jquery.json +29 -0
- data/tests/components/bootstrap-select/bootstrap-select.js +972 -0
- data/tests/components/bootstrap-select/bootstrap-select.min.css +7 -0
- data/tests/components/bootstrap-select/bootstrap-select.min.js +8 -0
- data/tests/components/bootstrap-select/bower.json +29 -0
- data/tests/components/bootstrap-select/composer.json +17 -0
- data/tests/components/bootstrap-select/i18n/defaults-cs-CZ.js +29 -0
- data/tests/components/bootstrap-select/i18n/defaults-cz-CZ.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-de_DE.js +29 -0
- data/tests/components/bootstrap-select/i18n/defaults-de_DE.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-es-CL.js +29 -0
- data/tests/components/bootstrap-select/i18n/defaults-es-CL.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-eu.js +30 -0
- data/tests/components/bootstrap-select/i18n/defaults-eu.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-it_IT.js +32 -0
- data/tests/components/bootstrap-select/i18n/defaults-it_IT.min.js +1 -0
- data/tests/components/bootstrap-select/i18n/defaults-nl_NL.js +32 -0
- data/tests/components/bootstrap-select/i18n/defaults-nl_NL.min.js +7 -0
- data/tests/components/bootstrap-select/i18n/defaults-pl_PL.js +29 -0
- data/tests/components/bootstrap-select/i18n/defaults-pl_PL.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-pt_BR.js +33 -0
- data/tests/components/bootstrap-select/i18n/defaults-pt_BR.min.js +7 -0
- data/tests/components/bootstrap-select/i18n/defaults-ru-RU.js +31 -0
- data/tests/components/bootstrap-select/i18n/defaults-ru_RU.min.js +6 -0
- data/tests/components/bootstrap-select/i18n/defaults-zh_CN.js +30 -0
- data/tests/components/bootstrap-select/i18n/defaults-zh_CN.min.js +6 -0
- data/tests/components/bootstrap-select/package.json +31 -0
- data/tests/components/bootstrap-select/test.html +62 -0
- data/tests/components/bootstrap-treeview/.bower.json +38 -0
- data/tests/components/bootstrap-treeview/Gruntfile.js +62 -0
- data/tests/components/bootstrap-treeview/LICENSE +202 -0
- data/tests/components/bootstrap-treeview/README.md +289 -0
- data/tests/components/bootstrap-treeview/app.js +29 -0
- data/tests/components/bootstrap-treeview/bower.json +29 -0
- data/tests/components/bootstrap-treeview/dist/bootstrap-treeview.min.css +1 -0
- data/tests/components/bootstrap-treeview/dist/bootstrap-treeview.min.js +1 -0
- data/tests/components/bootstrap-treeview/package.json +18 -0
- data/tests/components/bootstrap-treeview/public/css/bootstrap-treeview.css +37 -0
- data/tests/components/bootstrap-treeview/public/example-dom.html +59 -0
- data/tests/components/bootstrap-treeview/public/index.html +333 -0
- data/tests/components/bootstrap-treeview/public/js/bootstrap-treeview.js +455 -0
- data/tests/components/bootstrap-treeview/screenshot/default.PNG +0 -0
- data/tests/components/bootstrap-treeview/src/css/bootstrap-treeview.css +37 -0
- data/tests/components/bootstrap-treeview/src/js/bootstrap-treeview.js +455 -0
- data/tests/components/datatables-colreorder/.bower.json +22 -0
- data/tests/components/datatables-colreorder/License.txt +20 -0
- data/tests/components/datatables-colreorder/Readme.md +39 -0
- data/tests/components/datatables-colreorder/bower.json +12 -0
- data/tests/components/datatables-colreorder/css/dataTables.colReorder.css +14 -0
- data/tests/components/datatables-colreorder/examples/alt_insert.xml +30 -0
- data/tests/components/datatables-colreorder/examples/col_filter.xml +38 -0
- data/tests/components/datatables-colreorder/examples/colvis.xml +26 -0
- data/tests/components/datatables-colreorder/examples/fixedcolumns.xml +43 -0
- data/tests/components/datatables-colreorder/examples/fixedheader.xml +27 -0
- data/tests/components/datatables-colreorder/examples/index.xml +19 -0
- data/tests/components/datatables-colreorder/examples/jqueryui.xml +27 -0
- data/tests/components/datatables-colreorder/examples/new_init.xml +23 -0
- data/tests/components/datatables-colreorder/examples/predefined.xml +30 -0
- data/tests/components/datatables-colreorder/examples/realtime.xml +30 -0
- data/tests/components/datatables-colreorder/examples/reset.xml +41 -0
- data/tests/components/datatables-colreorder/examples/scrolling.xml +27 -0
- data/tests/components/datatables-colreorder/examples/server_side.xml +38 -0
- data/tests/components/datatables-colreorder/examples/simple.xml +25 -0
- data/tests/components/datatables-colreorder/examples/state_save.xml +26 -0
- data/tests/components/datatables-colreorder/images/.DS_Store +0 -0
- data/tests/components/datatables-colreorder/images/insert.png +0 -0
- data/tests/components/datatables-colreorder/js/dataTables.colReorder.js +1372 -0
- data/tests/components/datatables-colreorder/make.sh +31 -0
- data/tests/components/datatables-colvis/.bower.json +22 -0
- data/tests/components/datatables-colvis/License.txt +20 -0
- data/tests/components/datatables-colvis/README.md +38 -0
- data/tests/components/datatables-colvis/bower.json +12 -0
- data/tests/components/datatables-colvis/css/dataTables.colVis.css +185 -0
- data/tests/components/datatables-colvis/css/dataTables.colvis.jqueryui.css +41 -0
- data/tests/components/datatables-colvis/examples/.DS_Store +0 -0
- data/tests/components/datatables-colvis/examples/button_order.xml +26 -0
- data/tests/components/datatables-colvis/examples/exclude_columns.xml +28 -0
- data/tests/components/datatables-colvis/examples/group_columns.xml +40 -0
- data/tests/components/datatables-colvis/examples/index.xml +18 -0
- data/tests/components/datatables-colvis/examples/jqueryui.xml +28 -0
- data/tests/components/datatables-colvis/examples/mouseover.xml +28 -0
- data/tests/components/datatables-colvis/examples/new_init.xml +26 -0
- data/tests/components/datatables-colvis/examples/restore.xml +33 -0
- data/tests/components/datatables-colvis/examples/simple.xml +25 -0
- data/tests/components/datatables-colvis/examples/text.xml +29 -0
- data/tests/components/datatables-colvis/examples/title_callback.xml +30 -0
- data/tests/components/datatables-colvis/examples/two_tables.xml +24 -0
- data/tests/components/datatables-colvis/examples/two_tables_identical.xml +35 -0
- data/tests/components/datatables-colvis/js/dataTables.colVis.js +1123 -0
- data/tests/components/datatables-colvis/make.sh +28 -0
- data/tests/components/datatables/.bower.json +42 -0
- data/tests/components/datatables/Contributing.md +18 -0
- data/tests/components/datatables/Readme.md +53 -0
- data/tests/components/datatables/bower.json +32 -0
- data/tests/components/datatables/license.txt +20 -0
- data/tests/components/datatables/media/css/jquery.dataTables.css +455 -0
- data/tests/components/datatables/media/css/jquery.dataTables.min.css +1 -0
- data/tests/components/datatables/media/css/jquery.dataTables_themeroller.css +416 -0
- data/tests/components/datatables/media/images/Sorting icons.psd +0 -0
- data/tests/components/datatables/media/images/favicon.ico +0 -0
- data/tests/components/datatables/media/images/sort_asc.png +0 -0
- data/tests/components/datatables/media/images/sort_asc_disabled.png +0 -0
- data/tests/components/datatables/media/images/sort_both.png +0 -0
- data/tests/components/datatables/media/images/sort_desc.png +0 -0
- data/tests/components/datatables/media/images/sort_desc_disabled.png +0 -0
- data/tests/components/datatables/media/js/jquery.dataTables.js +14951 -0
- data/tests/components/datatables/media/js/jquery.dataTables.min.js +160 -0
- data/tests/components/datatables/media/js/jquery.js +5 -0
- data/tests/components/google-code-prettify/.bower.json +26 -0
- data/tests/components/google-code-prettify/CHANGES.html +172 -0
- data/tests/components/google-code-prettify/COPYING +191 -0
- data/tests/components/google-code-prettify/README-zh-Hans.html +143 -0
- data/tests/components/google-code-prettify/README.html +233 -0
- data/tests/components/google-code-prettify/README.md +54 -0
- data/tests/components/google-code-prettify/bin/prettify.min.css +1 -0
- data/tests/components/google-code-prettify/bin/prettify.min.js +30 -0
- data/tests/components/google-code-prettify/bin/run_prettify.min.js +34 -0
- data/tests/components/google-code-prettify/bower.json +16 -0
- data/tests/components/google-code-prettify/examples/quine.html +55 -0
- data/tests/components/google-code-prettify/src/lang-apollo.js +51 -0
- data/tests/components/google-code-prettify/src/lang-basic.js +32 -0
- data/tests/components/google-code-prettify/src/lang-clj.js +64 -0
- data/tests/components/google-code-prettify/src/lang-css.js +159 -0
- data/tests/components/google-code-prettify/src/lang-dart.js +88 -0
- data/tests/components/google-code-prettify/src/lang-erlang.js +92 -0
- data/tests/components/google-code-prettify/src/lang-go.js +58 -0
- data/tests/components/google-code-prettify/src/lang-hs.js +101 -0
- data/tests/components/google-code-prettify/src/lang-lisp.js +94 -0
- data/tests/components/google-code-prettify/src/lang-llvm.js +61 -0
- data/tests/components/google-code-prettify/src/lang-lua.js +59 -0
- data/tests/components/google-code-prettify/src/lang-matlab.js +180 -0
- data/tests/components/google-code-prettify/src/lang-ml.js +56 -0
- data/tests/components/google-code-prettify/src/lang-mumps.js +139 -0
- data/tests/components/google-code-prettify/src/lang-n.js +65 -0
- data/tests/components/google-code-prettify/src/lang-pascal.js +32 -0
- data/tests/components/google-code-prettify/src/lang-proto.js +35 -0
- data/tests/components/google-code-prettify/src/lang-r.js +57 -0
- data/tests/components/google-code-prettify/src/lang-rd.js +47 -0
- data/tests/components/google-code-prettify/src/lang-scala.js +54 -0
- data/tests/components/google-code-prettify/src/lang-sql.js +58 -0
- data/tests/components/google-code-prettify/src/lang-tcl.js +62 -0
- data/tests/components/google-code-prettify/src/lang-tex.js +46 -0
- data/tests/components/google-code-prettify/src/lang-vb.js +66 -0
- data/tests/components/google-code-prettify/src/lang-vhdl.js +34 -0
- data/tests/components/google-code-prettify/src/lang-wiki.js +53 -0
- data/tests/components/google-code-prettify/src/lang-xq.js +67 -0
- data/tests/components/google-code-prettify/src/lang-yaml.js +27 -0
- data/tests/components/google-code-prettify/src/prettify.css +52 -0
- data/tests/components/google-code-prettify/src/prettify.js +1655 -0
- data/tests/components/google-code-prettify/src/run_prettify.js +1905 -0
- data/tests/components/google-code-prettify/styles/demo.html +61 -0
- data/tests/components/google-code-prettify/styles/desert.css +34 -0
- data/tests/components/google-code-prettify/styles/doxy.css +64 -0
- data/tests/components/google-code-prettify/styles/index.html +89 -0
- data/tests/components/google-code-prettify/styles/sons-of-obsidian.css +118 -0
- data/tests/components/google-code-prettify/styles/sunburst.css +51 -0
- data/tests/components/jquery/.bower.json +38 -0
- data/tests/components/jquery/MIT-LICENSE.txt +21 -0
- data/tests/components/jquery/bower.json +28 -0
- data/tests/components/jquery/dist/jquery.js +9210 -0
- data/tests/components/jquery/dist/jquery.min.js +5 -0
- data/tests/components/jquery/dist/jquery.min.map +1 -0
- data/tests/components/jquery/src/ajax.js +786 -0
- data/tests/components/jquery/src/ajax/jsonp.js +89 -0
- data/tests/components/jquery/src/ajax/load.js +75 -0
- data/tests/components/jquery/src/ajax/parseJSON.js +13 -0
- data/tests/components/jquery/src/ajax/parseXML.js +28 -0
- data/tests/components/jquery/src/ajax/script.js +64 -0
- data/tests/components/jquery/src/ajax/var/nonce.js +5 -0
- data/tests/components/jquery/src/ajax/var/rquery.js +3 -0
- data/tests/components/jquery/src/ajax/xhr.js +136 -0
- data/tests/components/jquery/src/attributes.js +11 -0
- data/tests/components/jquery/src/attributes/attr.js +141 -0
- data/tests/components/jquery/src/attributes/classes.js +158 -0
- data/tests/components/jquery/src/attributes/prop.js +94 -0
- data/tests/components/jquery/src/attributes/support.js +35 -0
- data/tests/components/jquery/src/attributes/val.js +161 -0
- data/tests/components/jquery/src/callbacks.js +205 -0
- data/tests/components/jquery/src/core.js +502 -0
- data/tests/components/jquery/src/core/access.js +60 -0
- data/tests/components/jquery/src/core/init.js +123 -0
- data/tests/components/jquery/src/core/parseHTML.js +39 -0
- data/tests/components/jquery/src/core/ready.js +97 -0
- data/tests/components/jquery/src/core/var/rsingleTag.js +4 -0
- data/tests/components/jquery/src/css.js +450 -0
- data/tests/components/jquery/src/css/addGetHookIf.js +22 -0
- data/tests/components/jquery/src/css/curCSS.js +57 -0
- data/tests/components/jquery/src/css/defaultDisplay.js +70 -0
- data/tests/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/tests/components/jquery/src/css/support.js +96 -0
- data/tests/components/jquery/src/css/swap.js +28 -0
- data/tests/components/jquery/src/css/var/cssExpand.js +3 -0
- data/tests/components/jquery/src/css/var/getStyles.js +12 -0
- data/tests/components/jquery/src/css/var/isHidden.js +13 -0
- data/tests/components/jquery/src/css/var/rmargin.js +3 -0
- data/tests/components/jquery/src/css/var/rnumnonpx.js +5 -0
- data/tests/components/jquery/src/data.js +178 -0
- data/tests/components/jquery/src/data/Data.js +181 -0
- data/tests/components/jquery/src/data/accepts.js +20 -0
- data/tests/components/jquery/src/data/var/data_priv.js +5 -0
- data/tests/components/jquery/src/data/var/data_user.js +5 -0
- data/tests/components/jquery/src/deferred.js +149 -0
- data/tests/components/jquery/src/deprecated.js +13 -0
- data/tests/components/jquery/src/dimensions.js +50 -0
- data/tests/components/jquery/src/effects.js +648 -0
- data/tests/components/jquery/src/effects/Tween.js +114 -0
- data/tests/components/jquery/src/effects/animatedSelector.js +13 -0
- data/tests/components/jquery/src/event.js +868 -0
- data/tests/components/jquery/src/event/ajax.js +13 -0
- data/tests/components/jquery/src/event/alias.js +39 -0
- data/tests/components/jquery/src/event/support.js +9 -0
- data/tests/components/jquery/src/exports/amd.js +24 -0
- data/tests/components/jquery/src/exports/global.js +32 -0
- data/tests/components/jquery/src/intro.js +44 -0
- data/tests/components/jquery/src/jquery.js +37 -0
- data/tests/components/jquery/src/manipulation.js +580 -0
- data/tests/components/jquery/src/manipulation/_evalUrl.js +18 -0
- data/tests/components/jquery/src/manipulation/support.js +32 -0
- data/tests/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/tests/components/jquery/src/offset.js +207 -0
- data/tests/components/jquery/src/outro.js +1 -0
- data/tests/components/jquery/src/queue.js +142 -0
- data/tests/components/jquery/src/queue/delay.js +22 -0
- data/tests/components/jquery/src/selector-native.js +172 -0
- data/tests/components/jquery/src/selector-sizzle.js +14 -0
- data/tests/components/jquery/src/selector.js +1 -0
- data/tests/components/jquery/src/serialize.js +111 -0
- data/tests/components/jquery/src/sizzle/dist/sizzle.js +2067 -0
- data/tests/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/tests/components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/tests/components/jquery/src/traversing.js +199 -0
- data/tests/components/jquery/src/traversing/findFilter.js +100 -0
- data/tests/components/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/tests/components/jquery/src/var/arr.js +3 -0
- data/tests/components/jquery/src/var/class2type.js +4 -0
- data/tests/components/jquery/src/var/concat.js +5 -0
- data/tests/components/jquery/src/var/hasOwn.js +5 -0
- data/tests/components/jquery/src/var/indexOf.js +5 -0
- data/tests/components/jquery/src/var/pnum.js +3 -0
- data/tests/components/jquery/src/var/push.js +5 -0
- data/tests/components/jquery/src/var/rnotwhite.js +3 -0
- data/tests/components/jquery/src/var/slice.js +5 -0
- data/tests/components/jquery/src/var/strundefined.js +3 -0
- data/tests/components/jquery/src/var/support.js +4 -0
- data/tests/components/jquery/src/var/toString.js +5 -0
- data/tests/components/jquery/src/wrap.js +79 -0
- data/tests/index.html +16 -0
- data/tests/patternfly/accordions.html +84 -0
- data/tests/patternfly/alerts.html +85 -0
- data/tests/patternfly/badges.html +67 -0
- data/tests/patternfly/basic.html +552 -0
- data/tests/patternfly/blank-slate.html +77 -0
- data/tests/patternfly/bootstrap-combobox.html +338 -0
- data/tests/patternfly/bootstrap-select.html +210 -0
- data/tests/patternfly/bootstrap-treeview-2.html +271 -0
- data/tests/patternfly/bootstrap-treeview.html +234 -0
- data/tests/patternfly/breadcrumbs.html +46 -0
- data/tests/patternfly/buttons.html +521 -0
- data/tests/patternfly/code.html +77 -0
- data/tests/patternfly/dashboard.html +217 -0
- data/tests/patternfly/datatables-columns.html +487 -0
- data/tests/patternfly/datatables.html +466 -0
- data/tests/patternfly/dist/css/patternfly.css +11483 -0
- data/tests/patternfly/dist/css/patternfly.min.css +10 -0
- data/tests/patternfly/dist/css/styles.css +1 -0
- data/tests/patternfly/dist/css/styles.min.css +1 -0
- data/tests/patternfly/dropdowns.html +48 -0
- data/tests/patternfly/form.html +257 -0
- data/tests/patternfly/forms.html +425 -0
- data/tests/patternfly/icons.html +276 -0
- data/tests/patternfly/img/dashboard-1.png +0 -0
- data/tests/patternfly/img/dashboard-2.png +0 -0
- data/tests/patternfly/img/dashboard-3.png +0 -0
- data/tests/patternfly/img/dashboard-4.png +0 -0
- data/tests/patternfly/index.html +163 -0
- data/tests/patternfly/infotip.html +82 -0
- data/tests/patternfly/labels.html +102 -0
- data/tests/patternfly/list-group.html +105 -0
- data/tests/patternfly/login.html +74 -0
- data/tests/patternfly/modals.html +77 -0
- data/tests/patternfly/navbar.html +5424 -0
- data/tests/patternfly/pagination.html +277 -0
- data/tests/patternfly/panels.html +107 -0
- data/tests/patternfly/popovers.html +98 -0
- data/tests/patternfly/progress-bars.html +271 -0
- data/tests/patternfly/search.html +165 -0
- data/tests/patternfly/spinner.html +66 -0
- data/tests/patternfly/tab.html +595 -0
- data/tests/patternfly/tables.html +203 -0
- data/tests/patternfly/tabs.html +273 -0
- data/tests/patternfly/tests.css +16 -0
- data/tests/patternfly/tooltip.html +64 -0
- data/tests/patternfly/typography-2.css +10 -0
- data/tests/patternfly/typography-2.html +284 -0
- data/tests/patternfly/typography.html +189 -0
- metadata +843 -374
- data/CODE_OF_CONDUCT.md +0 -4
- data/OPEN_SOURCE_LICENCES.txt +0 -1366
- data/QUICKSTART.md +0 -210
- data/dist/fonts/FontAwesome.otf +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.svg +0 -19028
- data/dist/fonts/OpenSans-Bold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.svg +0 -19036
- data/dist/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-BoldItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.svg +0 -19030
- data/dist/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-ExtraBold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.svg +0 -19036
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-ExtraBoldItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.svg +0 -19043
- data/dist/fonts/OpenSans-Italic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Italic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Light-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Light-webfont.svg +0 -19026
- data/dist/fonts/OpenSans-Light-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Light-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.svg +0 -19039
- data/dist/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-LightItalic-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.svg +0 -19030
- data/dist/fonts/OpenSans-Regular-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.eot +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.svg +0 -19030
- data/dist/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.woff +0 -0
- data/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -19043
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- data/dist/fonts/OpenSans-SemiboldItalic-webfont.woff2 +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.eot +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.svg +0 -140
- data/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
- data/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
- data/dist/fonts/fontawesome-webfont.eot +0 -0
- data/dist/fonts/fontawesome-webfont.svg +0 -2671
- data/dist/fonts/fontawesome-webfont.ttf +0 -0
- data/dist/fonts/fontawesome-webfont.woff +0 -0
- data/dist/fonts/fontawesome-webfont.woff2 +0 -0
- data/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/dist/fonts/glyphicons-halflings-regular.svg +0 -288
- data/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/dist/img/Logo_Horizontal_Reversed.svg +0 -49
- data/dist/img/OpenShift-Logo-NoText.svg +0 -51
- data/dist/img/OpenShift-Logo-Text.svg +0 -95
- data/dist/img/OpenShift-logo.svg +0 -69
- data/dist/img/RH_Atomic-Logo-NoText.svg +0 -53
- data/dist/img/RH_Atomic-Logo-Text.svg +0 -91
- data/dist/img/RH_atomic.svg +0 -88
- data/dist/img/apple-touch-icon-precomposed-114.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-144.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-152.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-180.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-57.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-72.png +0 -0
- data/dist/img/apple-touch-icon-precomposed-76.png +0 -0
- data/dist/img/bg-login-2.png +0 -0
- data/dist/img/bg-login.png +0 -0
- data/dist/img/bg-modal-about-pf.png +0 -0
- data/dist/img/bg-navbar-pf-alt.svg +0 -9
- data/dist/img/brand-alt.svg +0 -88
- data/dist/img/dropbox-logo.svg +0 -15
- data/dist/img/facebook-logo.svg +0 -12
- data/dist/img/favicon.ico +0 -0
- data/dist/img/fedora-logo.png +0 -0
- data/dist/img/git-logo.svg +0 -21
- data/dist/img/github-logo.svg +0 -17
- data/dist/img/gmail.svg +0 -23
- data/dist/img/google-calendar.svg +0 -26
- data/dist/img/google-drive.svg +0 -17
- data/dist/img/google-logo.svg +0 -19
- data/dist/img/instagram-logo.png +0 -0
- data/dist/img/kubernetes-Logo.svg +0 -60
- data/dist/img/kubernetes.svg +0 -8
- data/dist/img/linkedin-logo.svg +0 -13
- data/dist/img/logo-alt.svg +0 -18
- data/dist/img/open-id-logo.svg +0 -19
- data/dist/img/rcue-full.svg +0 -221
- data/dist/img/rcue.svg +0 -92
- data/dist/img/redhat_reverse.png +0 -0
- data/dist/img/skype-logo.svg +0 -23
- data/dist/img/spinner-inverse-lg.gif +0 -0
- data/dist/img/spinner-inverse-sm.gif +0 -0
- data/dist/img/spinner-inverse-xs.gif +0 -0
- data/dist/img/spinner-inverse.gif +0 -0
- data/dist/img/stack-exchange-logo.svg +0 -21
- data/dist/img/twitter-logo.svg +0 -19
- data/dist/js/patternfly-functions-base.js +0 -7
- data/dist/js/patternfly-functions-charts.js +0 -13
- data/dist/js/patternfly-functions-colors.js +0 -8
- data/dist/js/patternfly-functions-count-chars.js +0 -59
- data/dist/js/patternfly-functions-data-tables.js +0 -149
- data/dist/js/patternfly-functions-fixed-heights.js +0 -109
- data/dist/js/patternfly-functions-list.js +0 -79
- data/dist/js/patternfly-functions-navigation.js +0 -113
- data/dist/js/patternfly-functions-popovers.js +0 -37
- data/dist/js/patternfly-functions-sidebar.js +0 -31
- data/dist/js/patternfly-functions-tree-grid.js +0 -82
- data/dist/js/patternfly-functions-vertical-nav.js +0 -610
- data/dist/js/patternfly-functions.js +0 -1307
- data/dist/js/patternfly-functions.min.js +0 -1
- data/dist/js/patternfly-settings-base.d.ts +0 -9
- data/dist/js/patternfly-settings-base.js +0 -16
- data/dist/js/patternfly-settings-charts.d.ts +0 -92
- data/dist/js/patternfly-settings-charts.js +0 -449
- data/dist/js/patternfly-settings-colors.d.ts +0 -88
- data/dist/js/patternfly-settings-colors.js +0 -91
- data/dist/js/patternfly-settings.d.ts +0 -3
- data/dist/js/patternfly-settings.js +0 -558
- data/dist/js/patternfly-settings.min.js +0 -1
- data/dist/js/patternfly.dataTables.pfColVis.js +0 -151
- data/dist/js/patternfly.dataTables.pfEmpty.js +0 -253
- data/dist/js/patternfly.dataTables.pfEmpty.min.js +0 -1
- data/dist/js/patternfly.dataTables.pfFilter.js +0 -429
- data/dist/js/patternfly.dataTables.pfFilter.min.js +0 -1
- data/dist/js/patternfly.dataTables.pfPagination.js +0 -401
- data/dist/js/patternfly.dataTables.pfPagination.min.js +0 -1
- data/dist/js/patternfly.dataTables.pfResize.js +0 -214
- data/dist/js/patternfly.dataTables.pfResize.min.js +0 -1
- data/dist/js/patternfly.dataTables.pfSelect.js +0 -281
- data/dist/js/patternfly.dataTables.pfSelect.min.js +0 -1
- data/dist/js/patternfly.js +0 -1866
- data/dist/js/patternfly.min.js +0 -2
- data/dist/sass/_patternfly.scss +0 -147
- data/dist/sass/patternfly/_about-modal.scss +0 -44
- data/dist/sass/patternfly/_accordion.scss +0 -18
- data/dist/sass/patternfly/_alerts.scss +0 -44
- data/dist/sass/patternfly/_application-launcher.scss +0 -213
- data/dist/sass/patternfly/_blank-slate.scss +0 -52
- data/dist/sass/patternfly/_bootstrap-combobox.scss +0 -35
- data/dist/sass/patternfly/_bootstrap-datepicker.scss +0 -132
- data/dist/sass/patternfly/_bootstrap-mixin-overrides.scss +0 -33
- data/dist/sass/patternfly/_bootstrap-slider.scss +0 -66
- data/dist/sass/patternfly/_bootstrap-switch.scss +0 -19
- data/dist/sass/patternfly/_bootstrap-touchspin.scss +0 -31
- data/dist/sass/patternfly/_bootstrap-treeview.scss +0 -89
- data/dist/sass/patternfly/_breadcrumbs.scss +0 -20
- data/dist/sass/patternfly/_buttons.scss +0 -50
- data/dist/sass/patternfly/_card-view.scss +0 -105
- data/dist/sass/patternfly/_cards.scss +0 -238
- data/dist/sass/patternfly/_charts.scss +0 -388
- data/dist/sass/patternfly/_close.scss +0 -16
- data/dist/sass/patternfly/_color-variables.scss +0 -85
- data/dist/sass/patternfly/_context-selector.scss +0 -125
- data/dist/sass/patternfly/_datatables.scss +0 -186
- data/dist/sass/patternfly/_date-and-time.scss +0 -35
- data/dist/sass/patternfly/_dropdowns.scss +0 -235
- data/dist/sass/patternfly/_experimental-features.scss +0 -48
- data/dist/sass/patternfly/_filter.scss +0 -42
- data/dist/sass/patternfly/_fonts.scss +0 -124
- data/dist/sass/patternfly/_footer.scss +0 -19
- data/dist/sass/patternfly/_forms.scss +0 -192
- data/dist/sass/patternfly/_icons.scss +0 -371
- data/dist/sass/patternfly/_layouts.scss +0 -140
- data/dist/sass/patternfly/_links.scss +0 -5
- data/dist/sass/patternfly/_list-pf.scss +0 -178
- data/dist/sass/patternfly/_list-view-dnd.scss +0 -53
- data/dist/sass/patternfly/_list-view.scss +0 -390
- data/dist/sass/patternfly/_login.scss +0 -341
- data/dist/sass/patternfly/_mixins.scss +0 -81
- data/dist/sass/patternfly/_modals.scss +0 -49
- data/dist/sass/patternfly/_nav-vertical-alt.scss +0 -168
- data/dist/sass/patternfly/_navbar-alt.scss +0 -141
- data/dist/sass/patternfly/_navbar-vertical.scss +0 -168
- data/dist/sass/patternfly/_notifications-drawer.scss +0 -250
- data/dist/sass/patternfly/_pagination.scss +0 -121
- data/dist/sass/patternfly/_panels.scss +0 -134
- data/dist/sass/patternfly/_popovers.scss +0 -52
- data/dist/sass/patternfly/_rcue-about-modal.scss +0 -45
- data/dist/sass/patternfly/_rcue-additions.scss +0 -11
- data/dist/sass/patternfly/_rcue-login.scss +0 -75
- data/dist/sass/patternfly/_rcue-variables.scss +0 -57
- data/dist/sass/patternfly/_rcue.scss +0 -6
- data/dist/sass/patternfly/_search.scss +0 -64
- data/dist/sass/patternfly/_skip-to-content.scss +0 -12
- data/dist/sass/patternfly/_spinner.scss +0 -72
- data/dist/sass/patternfly/_table-view.scss +0 -188
- data/dist/sass/patternfly/_tables.scss +0 -90
- data/dist/sass/patternfly/_tabs.scss +0 -118
- data/dist/sass/patternfly/_time-picker.scss +0 -98
- data/dist/sass/patternfly/_toast.scss +0 -75
- data/dist/sass/patternfly/_toolbar.scss +0 -190
- data/dist/sass/patternfly/_tooltip.scss +0 -15
- data/dist/sass/patternfly/_tree-list-view.scss +0 -83
- data/dist/sass/patternfly/_variables.scss +0 -595
- data/dist/sass/patternfly/_vertical-nav.scss +0 -944
- data/dist/sass/patternfly/_wizard.scss +0 -665
- data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker.scss +0 -242
- data/dist/sass/patternfly/dependencies/bootstrap-datepicker/datepicker3.scss +0 -257
- data/dist/sass/patternfly/dependencies/bootstrap-select/bootstrap-select.scss +0 -389
- data/dist/sass/patternfly/dependencies/bootstrap-select/variables.scss +0 -9
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_mixins.scss +0 -25
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_rules.scss +0 -246
- data/dist/sass/patternfly/dependencies/bootstrap-slider/_variables.scss +0 -28
- data/dist/sass/patternfly/dependencies/bootstrap-slider/bootstrap-slider.scss +0 -42
- data/dist/sass/patternfly/dependencies/bootstrap-switch/bootstrap-switch.scss +0 -195
- data/dist/sass/patternfly/dependencies/bootstrap-switch/build.scss +0 -3
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins.scss +0 -40
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/alerts.scss +0 -14
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/background-variant.scss +0 -9
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/border-radius.scss +0 -18
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/buttons.scss +0 -68
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/center-block.scss +0 -7
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/clearfix.scss +0 -22
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/forms.scss +0 -85
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/gradients.scss +0 -59
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid-framework.scss +0 -98
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/grid.scss +0 -122
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/hide-text.scss +0 -21
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/image.scss +0 -33
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/labels.scss +0 -12
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/list-group.scss +0 -29
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-divider.scss +0 -10
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/nav-vertical-align.scss +0 -9
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/opacity.scss +0 -8
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/pagination.scss +0 -23
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/panels.scss +0 -24
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/progress-bar.scss +0 -10
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-filter.scss +0 -8
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/reset-text.scss +0 -18
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/resize.scss +0 -6
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/responsive-visibility.scss +0 -15
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/size.scss +0 -10
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/tab-focus.scss +0 -9
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/table-row.scss +0 -28
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-emphasis.scss +0 -9
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/text-overflow.scss +0 -8
- data/dist/sass/patternfly/dependencies/bootstrap-switch/mixins/vendor-prefixes.scss +0 -227
- data/dist/sass/patternfly/dependencies/bootstrap-switch/variables.scss +0 -862
- data/dist/sass/patternfly/dependencies/bootstrap-touchspin/_jquery.bootstrap-touchspin.scss +0 -45
- data/dist/sass/patternfly/dependencies/c3/_c3.scss +0 -178
- data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/_bootstrap-datetimepicker.scss +0 -344
- data/dist/sass/patternfly/dependencies/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker-build.scss +0 -16
- data/dist/sass/rcue/_about-modal.scss +0 -44
- data/dist/sass/rcue/_accordion.scss +0 -18
- data/dist/sass/rcue/_alerts.scss +0 -44
- data/dist/sass/rcue/_badges.scss +0 -11
- data/dist/sass/rcue/_blank-slate.scss +0 -52
- data/dist/sass/rcue/_bootstrap-datepicker.scss +0 -132
- data/dist/sass/rcue/_bootstrap-mixin-overrides.scss +0 -33
- data/dist/sass/rcue/_bootstrap-select.scss +0 -108
- data/dist/sass/rcue/_bootstrap-slider.scss +0 -66
- data/dist/sass/rcue/_bootstrap-switch.scss +0 -19
- data/dist/sass/rcue/_bootstrap-touchspin.scss +0 -31
- data/dist/sass/rcue/_bootstrap-treeview.scss +0 -89
- data/dist/sass/rcue/_card-view.scss +0 -105
- data/dist/sass/rcue/_cards.scss +0 -238
- data/dist/sass/rcue/_charts.scss +0 -388
- data/dist/sass/rcue/_close.scss +0 -16
- data/dist/sass/rcue/_color-variables.scss +0 -85
- data/dist/sass/rcue/_context-selector.scss +0 -125
- data/dist/sass/rcue/_date-and-time.scss +0 -35
- data/dist/sass/rcue/_experimental-features.scss +0 -48
- data/dist/sass/rcue/_filter.scss +0 -42
- data/dist/sass/rcue/_fonts.scss +0 -124
- data/dist/sass/rcue/_footer.scss +0 -19
- data/dist/sass/rcue/_forms.scss +0 -192
- data/dist/sass/rcue/_icons.scss +0 -371
- data/dist/sass/rcue/_infotip.scss +0 -145
- data/dist/sass/rcue/_labels.scss +0 -17
- data/dist/sass/rcue/_layouts.scss +0 -140
- data/dist/sass/rcue/_links.scss +0 -5
- data/dist/sass/rcue/_list-group.scss +0 -23
- data/dist/sass/rcue/_list-pf.scss +0 -178
- data/dist/sass/rcue/_list-view-dnd.scss +0 -53
- data/dist/sass/rcue/_list-view.scss +0 -390
- data/dist/sass/rcue/_login.scss +0 -341
- data/dist/sass/rcue/_mixins.scss +0 -81
- data/dist/sass/rcue/_nav-vertical-alt.scss +0 -168
- data/dist/sass/rcue/_navbar-alt.scss +0 -141
- data/dist/sass/rcue/_navbar-vertical.scss +0 -168
- data/dist/sass/rcue/_navbar.scss +0 -579
- data/dist/sass/rcue/_notifications-drawer.scss +0 -250
- data/dist/sass/rcue/_pager.scss +0 -68
- data/dist/sass/rcue/_pagination.scss +0 -121
- data/dist/sass/rcue/_panels.scss +0 -134
- data/dist/sass/rcue/_patternfly-additions.scss +0 -76
- data/dist/sass/rcue/_patternfly.scss +0 -31
- data/dist/sass/rcue/_popovers.scss +0 -52
- data/dist/sass/rcue/_progress-bars.scss +0 -121
- data/dist/sass/rcue/_rcue-about-modal.scss +0 -45
- data/dist/sass/rcue/_rcue-login.scss +0 -75
- data/dist/sass/rcue/_rcue-variables.scss +0 -57
- data/dist/sass/rcue/_sidebar.scss +0 -176
- data/dist/sass/rcue/_skip-to-content.scss +0 -12
- data/dist/sass/rcue/_spinner.scss +0 -72
- data/dist/sass/rcue/_syntax-highlighting.scss +0 -36
- data/dist/sass/rcue/_table-view.scss +0 -188
- data/dist/sass/rcue/_time-picker.scss +0 -98
- data/dist/sass/rcue/_toast.scss +0 -75
- data/dist/sass/rcue/_toolbar.scss +0 -190
- data/dist/sass/rcue/_tree-list-view.scss +0 -83
- data/dist/sass/rcue/_type.scss +0 -29
- data/dist/sass/rcue/_variables.scss +0 -595
- data/dist/sass/rcue/_vertical-nav.scss +0 -944
- data/dist/sass/rcue/_wizard.scss +0 -665
data/bower.json
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "PatternFlySass",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"authors": "Red Hat",
|
5
|
+
"license": "Apache-2.0",
|
6
|
+
"homepage": "https://www.patternfly.org",
|
7
|
+
"main": [
|
8
|
+
"dist/css/patternfly.css"
|
9
|
+
],
|
10
|
+
"ignore": [
|
11
|
+
"**/.*",
|
12
|
+
"node_modules",
|
13
|
+
"bower_components",
|
14
|
+
"app/components",
|
15
|
+
"test",
|
16
|
+
"tests",
|
17
|
+
"package.json",
|
18
|
+
"Gruntfile.js"
|
19
|
+
],
|
20
|
+
"devDependencies": {
|
21
|
+
"bootstrap-combobox": "~1.1.6",
|
22
|
+
"bootstrap-select": "~1.5.4",
|
23
|
+
"bootstrap-treeview": "~1.0.1",
|
24
|
+
"datatables": "~1.10.4",
|
25
|
+
"datatables-colreorder": "~1.1.2",
|
26
|
+
"datatables-colvis": "~1.1.1",
|
27
|
+
"google-code-prettify": "~1.0.3"
|
28
|
+
}
|
29
|
+
}
|
data/lib/patternfly-sass.rb
CHANGED
@@ -20,7 +20,7 @@ module Patternfly
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def stylesheets_path
|
23
|
-
File.join assets_path, '
|
23
|
+
File.join assets_path, 'stylesheets'
|
24
24
|
end
|
25
25
|
|
26
26
|
def fonts_path
|
@@ -28,15 +28,15 @@ module Patternfly
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def javascripts_path
|
31
|
-
File.join assets_path, '
|
31
|
+
File.join assets_path, 'javascripts'
|
32
32
|
end
|
33
33
|
|
34
34
|
def images_path
|
35
|
-
File.join assets_path, '
|
35
|
+
File.join assets_path, 'images'
|
36
36
|
end
|
37
37
|
|
38
38
|
def assets_path
|
39
|
-
@assets_path ||= File.join gem_path, '
|
39
|
+
@assets_path ||= File.join gem_path, 'assets'
|
40
40
|
end
|
41
41
|
|
42
42
|
# Environment detection helpers
|
@@ -74,9 +74,6 @@ module Patternfly
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def register_rails_engine
|
77
|
-
require 'bootstrap-sass'
|
78
|
-
require 'font-awesome-sass'
|
79
|
-
|
80
77
|
require 'patternfly-sass/engine'
|
81
78
|
end
|
82
79
|
|
@@ -89,4 +86,4 @@ module Patternfly
|
|
89
86
|
end
|
90
87
|
end
|
91
88
|
|
92
|
-
Patternfly.load!
|
89
|
+
Patternfly.load!
|
@@ -1,11 +1,14 @@
|
|
1
|
+
require 'bootstrap-sass'
|
2
|
+
require 'font-awesome-sass'
|
3
|
+
|
1
4
|
module Patternfly
|
2
5
|
module Rails
|
3
6
|
class Engine < ::Rails::Engine
|
4
7
|
initializer 'patternfly-sass.assets.precompile' do |app|
|
5
|
-
%w(
|
6
|
-
app.config.assets.paths << root.join('
|
8
|
+
%w(stylesheets javascripts fonts images).each do |sub|
|
9
|
+
app.config.assets.paths << root.join('assets', sub).to_s
|
7
10
|
end
|
8
11
|
end
|
9
12
|
end
|
10
13
|
end
|
11
|
-
end
|
14
|
+
end
|
data/package.json
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"name": "PatternFlySass",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"author": "Red Hat",
|
5
|
+
"license": "Apache-2.0",
|
6
|
+
"devDependencies": {
|
7
|
+
"grunt": "~0.4.1",
|
8
|
+
"grunt-contrib-sass": "~0.7.4",
|
9
|
+
"matchdep": "~0.3.0",
|
10
|
+
"grunt-contrib-watch": "~0.5.3",
|
11
|
+
"grunt-contrib-connect": "~0.5.0",
|
12
|
+
"connect-livereload": "~0.3.0",
|
13
|
+
"grunt-contrib-uglify": "~0.3.2",
|
14
|
+
"grunt-contrib-cssmin": "~0.10.0",
|
15
|
+
"grunt-shell": "~1.0.1",
|
16
|
+
"grunt-casper": "~0.4.1",
|
17
|
+
"phantomcss": "~0.7.2",
|
18
|
+
"connect": "~3.2.0",
|
19
|
+
"process": "~0.8.0",
|
20
|
+
"serve-static": "~1.6.1",
|
21
|
+
"serve-index": "~1.2.1",
|
22
|
+
"http": "0.0.0",
|
23
|
+
"fs": "0.0.2",
|
24
|
+
"path": "~0.4.9",
|
25
|
+
"glob": "~4.0.5",
|
26
|
+
"grunt-contrib-clean": "~0.6.0"
|
27
|
+
}
|
28
|
+
}
|
data/patternfly-sass.gemspec
CHANGED
@@ -3,29 +3,27 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'patternfly-sass/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = "patternfly-sass"
|
7
7
|
s.version = Patternfly::VERSION
|
8
|
-
s.authors = [
|
8
|
+
s.authors = ["Dávid Halász", "Alex Wood"]
|
9
9
|
s.email = 'patternflyui@gmail.com'
|
10
10
|
s.summary = "Red Hat's Patternfly, converted to Sass and ready to drop into Rails"
|
11
|
-
s.homepage =
|
12
|
-
s.license = '
|
11
|
+
s.homepage = "https://github.com/Patternfly/patternfly-sass"
|
12
|
+
s.license = 'MIT'
|
13
13
|
|
14
|
-
s.add_runtime_dependency 'sass', '~> 3.
|
15
|
-
s.add_runtime_dependency 'bootstrap-sass', '~> 3.3.
|
16
|
-
s.add_runtime_dependency 'font-awesome-sass', '~> 4.
|
14
|
+
s.add_runtime_dependency 'sass', '~> 3.2'
|
15
|
+
s.add_runtime_dependency 'bootstrap-sass', '~> 3.3.4'
|
16
|
+
s.add_runtime_dependency 'font-awesome-sass', '~> 4.3.0'
|
17
17
|
|
18
|
-
s
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
Dir.glob('dist/img/**/*')
|
30
|
-
].flatten
|
18
|
+
# Converter's dependencies
|
19
|
+
s.add_development_dependency 'rake', '~> 10.4'
|
20
|
+
s.add_development_dependency 'term-ansicolor'
|
21
|
+
# Testing dependencies
|
22
|
+
s.add_development_dependency 'rspec', '~> 3.2'
|
23
|
+
s.add_development_dependency 'nokogiri', '~> 1.6'
|
24
|
+
s.add_development_dependency 'rmagick', '~> 2.15'
|
25
|
+
s.add_development_dependency 'imgur-api', '~> 0.0.4'
|
26
|
+
|
27
|
+
s.files = `git ls-files`.split("\n")
|
28
|
+
s.test_files = `git ls-files -- tests/*`.split("\n") + `git ls-files -- spec/*`.split("\n")
|
31
29
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'rmagick'
|
4
|
+
|
5
|
+
RSpec.describe "compare SASS with LESS screenshots" do
|
6
|
+
BASEURL = "http://localhost:9000"
|
7
|
+
RESOLUTIONS = [[320, 480], [768, 1024], [1280, 1024]]
|
8
|
+
CONTEXTS = %w(less sass)
|
9
|
+
TOLERANCE = 0.05
|
10
|
+
|
11
|
+
html = Net::HTTP.get(URI("#{BASEURL}/less/patternfly/index.html"))
|
12
|
+
document = Nokogiri::HTML(html)
|
13
|
+
|
14
|
+
document.css(".row a").each do |link|
|
15
|
+
file = link['href']
|
16
|
+
context "#{file}" do
|
17
|
+
title = file.sub('.html', '')
|
18
|
+
RESOLUTIONS.each do |w,h|
|
19
|
+
it "#{w}x#{h}" do
|
20
|
+
CONTEXTS.each do |ctx|
|
21
|
+
`phantomjs tests/capture.js #{w} #{h} #{BASEURL}/#{ctx}/patternfly/#{file} tests/#{ctx}/#{title}-#{w}x#{h}.png`
|
22
|
+
end
|
23
|
+
img_less = Magick::Image.read("tests/less/#{title}-#{w}x#{h}.png").first
|
24
|
+
img_sass = Magick::Image.read("tests/sass/#{title}-#{w}x#{h}.png").first
|
25
|
+
|
26
|
+
cols = [img_less.base_columns, img_sass.base_columns].max
|
27
|
+
rows = [img_less.base_rows, img_sass.base_rows].max
|
28
|
+
|
29
|
+
img_less.resize_to_fill!(cols, rows)
|
30
|
+
img_sass.resize_to_fill!(cols, rows)
|
31
|
+
|
32
|
+
img_diff, diff_rate = img_less.compare_channel img_sass, Magick::MeanAbsoluteErrorMetric, Magick::AllChannels
|
33
|
+
img_less.destroy!
|
34
|
+
img_sass.destroy!
|
35
|
+
|
36
|
+
img_diff.write("tests/failures/#{title}-#{w}x#{h}.png") unless diff_rate <= TOLERANCE
|
37
|
+
img_diff.destroy!
|
38
|
+
expect(diff_rate).to be <= TOLERANCE
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/tasks/converter.rb
ADDED
@@ -0,0 +1,455 @@
|
|
1
|
+
BOOTSTRAP_GEM_ROOT = Gem::Specification.find_by_name("bootstrap-sass").gem_dir
|
2
|
+
require "#{BOOTSTRAP_GEM_ROOT}/tasks/converter"
|
3
|
+
require 'pathname'
|
4
|
+
|
5
|
+
module Patternfly
|
6
|
+
class Converter < ::Converter
|
7
|
+
BOOTSTRAP_LESS_ROOT = 'components/bootstrap/less'
|
8
|
+
PATTERNFLY_LESS_ROOT = 'less'
|
9
|
+
PATTERNFLY_COMPONENTS = "../components/patternfly/components"
|
10
|
+
|
11
|
+
# Override
|
12
|
+
def initialize(options)
|
13
|
+
defaults = {
|
14
|
+
:branch => 'master',
|
15
|
+
:repo => 'patternfly/patternfly',
|
16
|
+
:cache_path => 'tmp/converter-cache-patternfly',
|
17
|
+
:test_dir => 'tests/patternfly'
|
18
|
+
}
|
19
|
+
options = defaults.merge(options)
|
20
|
+
super(:repo => options[:repo], :cache_path => options[:cache_path], :branch => options[:branch])
|
21
|
+
@save_to = {
|
22
|
+
:scss => 'assets/stylesheets/patternfly',
|
23
|
+
:js => 'assets/javascripts/patternfly',
|
24
|
+
:fonts => 'assets/fonts/patternfly'
|
25
|
+
}
|
26
|
+
@test_dir = options[:test_dir]
|
27
|
+
get_trees(PATTERNFLY_LESS_ROOT, BOOTSTRAP_LESS_ROOT, 'components/bootstrap-select', 'components/bootstrap-combobox', 'tests', 'dist')
|
28
|
+
end
|
29
|
+
|
30
|
+
def process_patternfly
|
31
|
+
log_status "Convert Patternfly LESS to SASS"
|
32
|
+
puts " repo : #@repo_url"
|
33
|
+
puts " branch : #@branch_sha #@repo_url/tree/#@branch"
|
34
|
+
puts " save to: #{@save_to.to_json}"
|
35
|
+
puts " twbs cache: #{@cache_path}"
|
36
|
+
puts '-' * 60
|
37
|
+
|
38
|
+
@save_to.values { |v| FileUtils.mkdir_p(v) }
|
39
|
+
|
40
|
+
process_font_assets
|
41
|
+
process_patternfly_less_assets
|
42
|
+
process_javascript_assets
|
43
|
+
store_version
|
44
|
+
cache_tests
|
45
|
+
end
|
46
|
+
|
47
|
+
def remove_xforms(transforms, *rejects)
|
48
|
+
transforms.reject do |xform|
|
49
|
+
rejects.include?(xform)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def process_font_assets
|
54
|
+
log_status 'Processing fonts...'
|
55
|
+
files = read_files(get_paths_by_type('dist/fonts', /\.(eot|svg|ttf|woff2?)$/))
|
56
|
+
save_to = @save_to[:fonts]
|
57
|
+
files.each do |name, content|
|
58
|
+
save_file File.join(save_to, name.gsub('dist/fonts/', '')), content
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def process_javascript_assets
|
63
|
+
log_status 'Processing javascripts...'
|
64
|
+
save_to = @save_to[:js]
|
65
|
+
files = read_files(get_paths_by_type('dist/js', /\.js$/))
|
66
|
+
files.each do |name, content|
|
67
|
+
save_file File.join(save_to, name.gsub('dist/js/', '')), content
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def process_image_assets
|
72
|
+
log_status 'Processing images...'
|
73
|
+
save_to = @save_to[:img]
|
74
|
+
files = read_files(get_paths_by_type('dist/img', /\.(png|gif|jpg|svg?)$/))
|
75
|
+
files.each do |name, content|
|
76
|
+
save_file File.join(save_to, name.gsub('dist/img/', '')), content
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def process_patternfly_less_assets
|
81
|
+
log_status "Processing stylesheets..."
|
82
|
+
files = read_files(bootstrap_less_files)
|
83
|
+
files['less/mixin_overrides.less'] = files['less/mixins.less'].dup
|
84
|
+
save_to = @save_to[:scss]
|
85
|
+
|
86
|
+
files.each do |name, file|
|
87
|
+
# TODO unify the case statements. Maybe pass in two procs as
|
88
|
+
# callbacks; one for before and one for after.
|
89
|
+
#
|
90
|
+
# TODO override replace_spin so its regex isn't so over-zealous
|
91
|
+
transforms = DEFAULT_TRANSFORMS.dup
|
92
|
+
name = File.basename(name)
|
93
|
+
case name
|
94
|
+
when 'mixin_overrides.less'
|
95
|
+
button_variant = ".button-variant(.*?)"
|
96
|
+
file = replace_rules(file, button_variant) do |rule, pos|
|
97
|
+
""
|
98
|
+
end
|
99
|
+
when 'patternfly.less'
|
100
|
+
transforms = remove_xforms(transforms, :replace_spin)
|
101
|
+
when 'variables.less'
|
102
|
+
transforms = remove_xforms(transforms, :replace_spin)
|
103
|
+
when 'spinner.less'
|
104
|
+
transforms = remove_xforms(transforms, :replace_spin, :replace_image_urls)
|
105
|
+
end
|
106
|
+
|
107
|
+
file = convert_less(file, *transforms)
|
108
|
+
|
109
|
+
# Special cases go here
|
110
|
+
case name
|
111
|
+
when 'mixins.less'
|
112
|
+
NESTED_MIXINS.each do |selector, prefix|
|
113
|
+
file = flatten_mixins(file, selector, prefix)
|
114
|
+
end
|
115
|
+
file = replace_all(
|
116
|
+
file,
|
117
|
+
/,\s*\.open\s+\.dropdown-toggle& \{(.*?)\}/m,
|
118
|
+
" {\\1}\n .open & { &.dropdown-toggle {\\1} }")
|
119
|
+
when 'mixin_overrides.less'
|
120
|
+
NESTED_MIXINS.each do |selector, prefix|
|
121
|
+
file = flatten_mixins(file, selector, prefix)
|
122
|
+
end
|
123
|
+
when 'variables.less'
|
124
|
+
file = ['$patternfly-sass-asset-helper: false !default;', file].join("\n")
|
125
|
+
file = replace_all(file, %r{"../img"}, '"../images"')
|
126
|
+
file = replace_all file, %r{(\$font-path): (\s*)"(.*)";}, '\\1: \\2if($patternfly-sass-asset-helper, "patternfly", "\\3/patternfly");'
|
127
|
+
file = replace_all file, %r{(\$img-path): (\s*)"(.*)";}, '\\1: \\2if($patternfly-sass-asset-helper, "patternfly", "\\3/patternfly");'
|
128
|
+
file = replace_all file, %r{(\$icon-font-path): (\s*)"(.*)";\n}, ''
|
129
|
+
file = replace_all file, %r{(\$fa-font-path): (\s*)"(.*)";\n}, ''
|
130
|
+
|
131
|
+
when 'patternfly.less'
|
132
|
+
file = fix_top_level(file)
|
133
|
+
# This is a hack. We want bootstrap-select to be placed in
|
134
|
+
# the final compiled CSS, but Sass doesn't insert a file's contents
|
135
|
+
# when that file has a '.css' extension. Sass just uses a @import
|
136
|
+
# statement. This method moves the bootstrap-select.css into our
|
137
|
+
# output directory and renames it with a '.scss' extension.
|
138
|
+
add_to_dist("bootstrap-select/bootstrap-select.css", "_bootstrap-select-css.scss")
|
139
|
+
# Similar solution for the bootstrap-combobox
|
140
|
+
add_to_dist("bootstrap-combobox/css/bootstrap-combobox.css", "_bootstrap-combobox-css.scss")
|
141
|
+
end
|
142
|
+
|
143
|
+
name_out = "#{File.basename(name, ".less")}.scss"
|
144
|
+
name_out = "_#{name_out}"
|
145
|
+
|
146
|
+
path = File.join(save_to, name_out)
|
147
|
+
save_file(path, file)
|
148
|
+
log_processed(File.basename(path))
|
149
|
+
end
|
150
|
+
|
151
|
+
FileUtils.mv("#{save_to}/_patternfly.scss", File.expand_path("#{save_to}/../_patternfly.scss"))
|
152
|
+
end
|
153
|
+
|
154
|
+
def add_to_dist(name, name_out)
|
155
|
+
in_file = File.join('components', name);
|
156
|
+
in_dir = File.dirname(in_file)
|
157
|
+
dir_files = get_paths_by_directory(in_dir)
|
158
|
+
file = read_files(dir_files)[in_file]
|
159
|
+
raise "add_to_dist failed for #{name}" if file.nil?
|
160
|
+
out_path = File.join(@save_to[:scss], name_out)
|
161
|
+
save_file(out_path, file)
|
162
|
+
log_processed("Moving #{File.join(in_dir, in_file)} to #{out_path}")
|
163
|
+
end
|
164
|
+
|
165
|
+
def convert_less(less, *transforms)
|
166
|
+
load_shared
|
167
|
+
less = convert_to_scss(less, *transforms)
|
168
|
+
less = yield(less) if block_given?
|
169
|
+
less
|
170
|
+
end
|
171
|
+
|
172
|
+
DEFAULT_TRANSFORMS = [
|
173
|
+
:replace_vars,
|
174
|
+
:replace_file_imports,
|
175
|
+
:replace_mixin_definitions,
|
176
|
+
{:replace_mixins => ["mixins"]},
|
177
|
+
:replace_spin,
|
178
|
+
# :replace_fadein,
|
179
|
+
:replace_image_urls,
|
180
|
+
:replace_escaping,
|
181
|
+
:convert_less_ampersand,
|
182
|
+
:deinterpolate_vararg_mixins,
|
183
|
+
:replace_calculation_semantics,
|
184
|
+
]
|
185
|
+
|
186
|
+
def convert_to_scss(file, *transforms)
|
187
|
+
# TODO The logging noop is to avoid a warning about an unused variable.
|
188
|
+
# We actually are using mixins but we are reading it with an eval.
|
189
|
+
# Possibly worth checking the arity of the method represented by xform
|
190
|
+
# and send in variable in a defined order based on it? But that limits
|
191
|
+
# us to a parameter order that every xform must follow.
|
192
|
+
# Something like
|
193
|
+
# params = [file, mixins]
|
194
|
+
# arity = self.method(xform).arity
|
195
|
+
# send(xform, *params[0..arity])
|
196
|
+
mixins = @shared_mixins + read_mixins(file)
|
197
|
+
silence_log do
|
198
|
+
log_status(mixins)
|
199
|
+
end
|
200
|
+
transforms.each do |xform|
|
201
|
+
args = ["file"]
|
202
|
+
if xform.is_a?(Hash)
|
203
|
+
args.concat(xform.values.first)
|
204
|
+
xform = xform.keys.first
|
205
|
+
end
|
206
|
+
args.map! { |a| "#{eval a}" }
|
207
|
+
file = send(xform, *args)
|
208
|
+
end
|
209
|
+
file
|
210
|
+
end
|
211
|
+
|
212
|
+
def fix_top_level(file)
|
213
|
+
file = replace_all(
|
214
|
+
file,
|
215
|
+
%r{@import\s+"variables";},
|
216
|
+
"")
|
217
|
+
file = replace_all(file, /@import "([^\.]{2})/, '@import "patternfly/\1')
|
218
|
+
file = replace_all(
|
219
|
+
file,
|
220
|
+
%r{../components/font-awesome/less/font-awesome},
|
221
|
+
"font-awesome")
|
222
|
+
file = replace_all(
|
223
|
+
file,
|
224
|
+
%r{../components/bootstrap-select/bootstrap-select.css},
|
225
|
+
"patternfly/bootstrap-select-css")
|
226
|
+
file = replace_all(
|
227
|
+
file,
|
228
|
+
%r{@import\s+"../components/bootstrap/less/bootstrap";},
|
229
|
+
fetch_bootstrap_sass)
|
230
|
+
|
231
|
+
file = replace_all(
|
232
|
+
file,
|
233
|
+
%r{../components/bootstrap-combobox/less/combobox},
|
234
|
+
"patternfly/bootstrap-combobox-css")
|
235
|
+
|
236
|
+
# Variables need to be declared before they are used.
|
237
|
+
variables = <<-VAR.gsub(/^\s*/, '')
|
238
|
+
@import "patternfly/variables";
|
239
|
+
@import "bootstrap/variables";
|
240
|
+
@import "font-awesome/variables";
|
241
|
+
VAR
|
242
|
+
variables + file
|
243
|
+
end
|
244
|
+
|
245
|
+
def fetch_bootstrap_sass
|
246
|
+
bootstrap_sass = IO.read(File.join(BOOTSTRAP_GEM_ROOT, 'assets', 'stylesheets', '_bootstrap.scss'))
|
247
|
+
|
248
|
+
bootstrap_sass = replace_all(
|
249
|
+
bootstrap_sass,
|
250
|
+
%r{@import\s+"bootstrap/variables";},
|
251
|
+
""
|
252
|
+
)
|
253
|
+
|
254
|
+
mixin_location = end_of(bootstrap_sass, %r{@import\s+"bootstrap/mixins";}).first
|
255
|
+
bootstrap_sass = bootstrap_sass[0..mixin_location] + "@import \"patternfly/mixin_overrides\";\n" + bootstrap_sass[mixin_location..-1]
|
256
|
+
bootstrap_sass
|
257
|
+
end
|
258
|
+
|
259
|
+
def end_of(s, regex)
|
260
|
+
# Returns an array with the end position of each match
|
261
|
+
s.enum_for(:scan, regex).map { Regexp.last_match.end(0) }
|
262
|
+
end
|
263
|
+
|
264
|
+
# Override
|
265
|
+
def replace_file_imports(less, target_path='')
|
266
|
+
less.gsub!(
|
267
|
+
%r([@\$]import\s+(?:\(\w+\)\s+)?["|']([\w\-\./]+).less["|'];),
|
268
|
+
%Q(@import "#{target_path}\\1";)
|
269
|
+
)
|
270
|
+
less.gsub!(
|
271
|
+
%r([@\$]import\s+(?:\(\w+\)\s+)?["|']([\w\-\./]+).(css)["|'];),
|
272
|
+
%Q(@import "#{target_path}\\1.\\2";)
|
273
|
+
)
|
274
|
+
less
|
275
|
+
end
|
276
|
+
|
277
|
+
# Override - bootstrap-sass doesn't handle cases where interpolation occurs outside
|
278
|
+
# double quotes and removes the curly braces too early in the replace process.
|
279
|
+
def replace_escaping(less)
|
280
|
+
# Get rid of ~"" escape
|
281
|
+
less = less.gsub(/~"([^"]+)"/, '#{\1}')
|
282
|
+
# interpolate variable in string, e.g. url("$file-1x") => url("#{$file-1x}")
|
283
|
+
less.gsub!(/\$\{([\w\-]+)\}/, '#{$\1}')
|
284
|
+
# less.gsub!(/(?:"|')([^"'\n]*)(\$\{[\w\-]+\})([^"'\n]*)(?:"|')/, '"\1#{\2}\3"')
|
285
|
+
# Get rid of @{} escape
|
286
|
+
less.gsub!(/\$\{([^}]+)\}/, '$\1')
|
287
|
+
# Get rid of e(%("")) escape
|
288
|
+
less.gsub(/(\W)e\(%\("?([^"]*)"?\)\)/, '\1\2')
|
289
|
+
end
|
290
|
+
|
291
|
+
def cache_tests
|
292
|
+
FileUtils.mkdir_p(@test_dir)
|
293
|
+
test_files = get_paths_by_directory('tests')
|
294
|
+
dist_files = get_paths_by_directory('dist/css')
|
295
|
+
test_contents = read_files(test_files)
|
296
|
+
dist_contents = fixup_path(read_files(dist_files))
|
297
|
+
test_contents.merge(dist_contents).each do |file, content|
|
298
|
+
# We go through all this rigmarole so we can save the tests and their
|
299
|
+
# directory structure in a root of our choosing.
|
300
|
+
top = ""
|
301
|
+
# Get the top level directory
|
302
|
+
Pathname.new(file).ascend do |v|
|
303
|
+
top = v
|
304
|
+
end
|
305
|
+
# Get the filename below the top directory
|
306
|
+
save_path = Pathname.new(file).relative_path_from(top).to_s
|
307
|
+
|
308
|
+
# Create the correct destination
|
309
|
+
save_path = File.join(@test_dir, save_path)
|
310
|
+
unless File.directory?(File.dirname(save_path))
|
311
|
+
FileUtils.mkdir_p(File.dirname(save_path))
|
312
|
+
end
|
313
|
+
save_file(save_path, content)
|
314
|
+
end
|
315
|
+
# Load external dependencies for testing
|
316
|
+
`bower install`
|
317
|
+
# This is a workaround for removing the obsoletely installed bootstrap and jquery
|
318
|
+
FileUtils.rm_rf 'tests/components/bootstrap'
|
319
|
+
end
|
320
|
+
|
321
|
+
def fixup_path(hash)
|
322
|
+
Hash[hash.map { |k, v| ["dist/#{k}", v] }]
|
323
|
+
end
|
324
|
+
|
325
|
+
# Override
|
326
|
+
# bootstrap-sass uses this method to read in all Bootstrap's less source files
|
327
|
+
# We're going to repurpose it.
|
328
|
+
def bootstrap_less_files
|
329
|
+
patternfly_less_files
|
330
|
+
end
|
331
|
+
|
332
|
+
def patternfly_less_files
|
333
|
+
get_paths_by_type('less', /\.less$/)
|
334
|
+
end
|
335
|
+
|
336
|
+
def load_shared
|
337
|
+
mixin_hash = {}
|
338
|
+
[BOOTSTRAP_LESS_ROOT, PATTERNFLY_LESS_ROOT].each do |root|
|
339
|
+
mixin_hash[root] = read_files(
|
340
|
+
get_paths_by_type(root, /mixins(\/)|(\.less)/)).values.join("\n")
|
341
|
+
end
|
342
|
+
@shared_mixins ||= begin
|
343
|
+
read_mixins(mixin_hash.values.join("\n"), :nested => NESTED_MIXINS)
|
344
|
+
end
|
345
|
+
end
|
346
|
+
|
347
|
+
def store_version
|
348
|
+
path = 'lib/patternfly-sass/version.rb'
|
349
|
+
content = File.read(path).sub(/PATTERNFLY_SHA\s*=\s*['"][\w]+['"]/, "PATTERNFLY_SHA = '#@branch_sha'")
|
350
|
+
File.open(path, 'w') { |f| f.write(content) }
|
351
|
+
end
|
352
|
+
|
353
|
+
protected
|
354
|
+
|
355
|
+
# Override
|
356
|
+
def get_trees(*args)
|
357
|
+
root = get_tree(@branch_sha)['sha']
|
358
|
+
@tree_paths = {}
|
359
|
+
args.each do |dir|
|
360
|
+
path_components = dir.split('/')
|
361
|
+
dir_sha = path_components.inject(root) do |tree_sha, component|
|
362
|
+
tree_sha = get_tree_sha(component, get_tree(tree_sha))
|
363
|
+
end
|
364
|
+
hash_list = []
|
365
|
+
descend_tree(get_tree(dir_sha), dir, hash_list)
|
366
|
+
dir_hash = hash_list.inject({}) do |memo, hash|
|
367
|
+
memo.merge(hash)
|
368
|
+
end
|
369
|
+
@tree_paths.merge!(dir_hash)
|
370
|
+
end
|
371
|
+
@trees ||= @tree_paths.values
|
372
|
+
end
|
373
|
+
|
374
|
+
def descend_tree(tree, path, list)
|
375
|
+
list << {path => tree}
|
376
|
+
tree['tree'].map do |f|
|
377
|
+
if f['type'] == 'tree'
|
378
|
+
descend_tree(get_tree(f['sha']), File.join(path, f['path']), list)
|
379
|
+
end
|
380
|
+
end
|
381
|
+
end
|
382
|
+
|
383
|
+
# Override
|
384
|
+
def get_paths_by_type(base_dir, regex)
|
385
|
+
paths = get_paths_by_directory(base_dir)
|
386
|
+
|
387
|
+
# See http://stackoverflow.com/a/2698531 and http://stackoverflow.com/a/2552946
|
388
|
+
matches = Hash.new do |h, key|
|
389
|
+
h[key] = Array.new
|
390
|
+
end
|
391
|
+
|
392
|
+
paths.each do |dir, files|
|
393
|
+
files.each do |f|
|
394
|
+
matches[dir] << f if File.join(dir, f) =~ regex
|
395
|
+
end
|
396
|
+
end
|
397
|
+
matches
|
398
|
+
end
|
399
|
+
|
400
|
+
def get_paths_by_directory(dir)
|
401
|
+
tree = @tree_paths[dir]
|
402
|
+
if tree.nil?
|
403
|
+
log_status("#{dir} not found in Git tree.")
|
404
|
+
return []
|
405
|
+
end
|
406
|
+
|
407
|
+
files = {}
|
408
|
+
files[dir] = []
|
409
|
+
tree['tree'].map do |f|
|
410
|
+
case f['type']
|
411
|
+
when 'blob'
|
412
|
+
files[dir] << f['path']
|
413
|
+
when 'tree'
|
414
|
+
loc = File.join(dir, f['path'])
|
415
|
+
files.merge!(get_paths_by_directory(loc))
|
416
|
+
end
|
417
|
+
end
|
418
|
+
files
|
419
|
+
end
|
420
|
+
|
421
|
+
def get_tree(sha)
|
422
|
+
get_json("https://api.github.com/repos/#@repo/git/trees/#{sha}")
|
423
|
+
end
|
424
|
+
|
425
|
+
def get_tree_sha(dir, tree=get_trees)
|
426
|
+
tree['tree'].find { |t| t['path'] == dir }['sha']
|
427
|
+
end
|
428
|
+
|
429
|
+
# Override
|
430
|
+
def read_files(files)
|
431
|
+
contents = {}
|
432
|
+
files.each do |dir, file|
|
433
|
+
dir_contents = super(dir, file)
|
434
|
+
full_path_contents = Hash[
|
435
|
+
dir_contents.map do |k, v|
|
436
|
+
[File.join(dir, k), v]
|
437
|
+
end
|
438
|
+
]
|
439
|
+
contents.merge!(full_path_contents)
|
440
|
+
end
|
441
|
+
contents
|
442
|
+
end
|
443
|
+
|
444
|
+
# Override
|
445
|
+
def get_branch_sha
|
446
|
+
@branch_sha ||= begin
|
447
|
+
cmd = "git ls-remote #{Shellwords.escape "https://github.com/#@repo"} #@branch"
|
448
|
+
log cmd
|
449
|
+
result = %x[#{cmd}]
|
450
|
+
raise 'Could not get branch sha!' unless $?.success? && !result.empty?
|
451
|
+
result.split(/\s+/).first
|
452
|
+
end
|
453
|
+
end
|
454
|
+
end
|
455
|
+
end
|