├── .babelrc ├── .editorconfig ├── .eslintrc ├── .gitignore ├── .make ├── build.make └── index.make ├── LICENSE ├── README.md ├── app ├── actions │ ├── AppActions.js │ └── LiveWinAppActions.js ├── api │ └── .gitkeep ├── app.css ├── app.html ├── app.icns ├── components │ ├── .gitkeep │ ├── GLDisplayUintBuf.jsx │ ├── GLSurfaceCanvas.jsx │ ├── colorChooser.jsx │ ├── icon.jsx │ ├── languageChooser.jsx │ ├── loader.jsx │ ├── message.jsx │ ├── popup.jsx │ ├── previewWindow.jsx │ ├── systemWindowList.jsx │ ├── systemWindowListItem.jsx │ ├── time.jsx │ ├── timeChooser.jsx │ └── windowCaptureGLReact.jsx ├── containers │ ├── AppContainer.jsx │ ├── LiveWinContainer.jsx │ └── PreviewContainer.jsx ├── dispatcher │ └── AppDispatcher.js ├── hot-dev-app.html ├── hot-dev-liveWin.html ├── liveWin.html ├── liveWinApp.js ├── mainApp.jsx ├── routes │ ├── async.js │ ├── router.js │ └── routes.jsx ├── stores │ ├── AppStore.js │ └── LiveWinAppStore.js ├── styles │ ├── Layout.js │ └── blink.less └── utils │ ├── alt.js │ ├── appWinIPC.js │ ├── config.js │ ├── debug.js │ ├── i18n.js │ ├── liveWinIPC.js │ └── native-sgrab-helper.js ├── assets ├── TeasyIcon.icns └── TeasyIcon.sketch ├── binding.gyp ├── build.make ├── cpp ├── .dir-locals.el ├── CF++ │ ├── Info.plist │ ├── PrefixHeader.pch │ ├── include │ │ ├── CF++.h │ │ └── CF++ │ │ │ ├── CFPP-Array.h │ │ │ ├── CFPP-AutoPointer.h │ │ │ ├── CFPP-Boolean.h │ │ │ ├── CFPP-Data.h │ │ │ ├── CFPP-Date.h │ │ │ ├── CFPP-Dictionary.h │ │ │ ├── CFPP-Error.h │ │ │ ├── CFPP-Number.h │ │ │ ├── CFPP-Pair.h │ │ │ ├── CFPP-PropertyListType-Definition.h │ │ │ ├── CFPP-PropertyListType.h │ │ │ ├── CFPP-ReadStream.h │ │ │ ├── CFPP-String.h │ │ │ ├── CFPP-Type.h │ │ │ ├── CFPP-URL.h │ │ │ ├── CFPP-UUID.h │ │ │ └── CFPP-WriteStream.h │ └── source │ │ ├── CFPP-Array.cpp │ │ ├── CFPP-AutoPointer.cpp │ │ ├── CFPP-Boolean.cpp │ │ ├── CFPP-Data.cpp │ │ ├── CFPP-Date.cpp │ │ ├── CFPP-Dictionary.cpp │ │ ├── CFPP-Error.cpp │ │ ├── CFPP-Number.cpp │ │ ├── CFPP-Pair.cpp │ │ ├── CFPP-ReadStream.cpp │ │ ├── CFPP-String.cpp │ │ ├── CFPP-Type.cpp │ │ ├── CFPP-URL.cpp │ │ ├── CFPP-UUID.cpp │ │ └── CFPP-WriteStream.cpp ├── CoreGraphicsHelpers.cpp ├── CoreGraphicsHelpers.hpp ├── OpenCVHelpers.cpp ├── OpenCVHelpers.hpp ├── configure.js ├── cppformat │ ├── .gitignore │ ├── .gitmodules │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.rst │ ├── appveyor.yml │ ├── cmake │ │ ├── FindSetEnv.cmake │ │ └── run-cmake.bat │ ├── doc │ │ ├── CMakeLists.txt │ │ ├── Doxyfile │ │ ├── LICENSE.python │ │ ├── _static │ │ │ ├── breathe.css │ │ │ └── cppformat.css │ │ ├── _templates │ │ │ └── layout.html │ │ ├── index.rst │ │ ├── reference.rst │ │ ├── syntax.rst │ │ └── usage.rst │ ├── format.cc │ ├── format.h │ ├── gmock │ │ ├── gmock-gtest-all.cc │ │ ├── gmock │ │ │ └── gmock.h │ │ └── gtest │ │ │ ├── gtest-spi.h │ │ │ └── gtest.h │ ├── posix.cc │ ├── posix.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile-test │ │ └── CMakeLists.txt │ │ ├── format-impl-test.cc │ │ ├── format-test.cc │ │ ├── gtest-extra-test.cc │ │ ├── gtest-extra.cc │ │ ├── gtest-extra.h │ │ ├── macro-test.cc │ │ ├── mock-allocator.h │ │ ├── posix-test.cc │ │ ├── posix-test.h │ │ ├── printf-test.cc │ │ ├── test-main.cc │ │ ├── util-test.cc │ │ ├── util.cc │ │ └── util.h ├── debug.hxx ├── exportedFunctions.cc ├── exportedFunctions.h ├── json11 │ ├── .gitignore │ ├── LICENSE.txt │ ├── Makefile │ ├── README.md │ ├── json11.cpp │ └── json11.hpp ├── makefile ├── memoryTestXcode │ └── Test │ │ └── Test.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── Test.xccheckout │ │ └── xcuserdata │ │ │ └── zaccaria.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ └── zaccaria.xcuserdatad │ │ └── xcschemes │ │ ├── Test.xcscheme │ │ └── xcschememanagement.plist ├── nativeSgrabHelper.cpp ├── package.json ├── test.cpp └── yarn.lock ├── index.make ├── main.js ├── makefile ├── package.js ├── package.json ├── semantic ├── gulpfile.js ├── src │ ├── definitions │ │ ├── behaviors │ │ │ ├── api.js │ │ │ ├── colorize.js │ │ │ ├── form.js │ │ │ ├── state.js │ │ │ ├── visibility.js │ │ │ └── visit.js │ │ ├── collections │ │ │ ├── breadcrumb.less │ │ │ ├── form.less │ │ │ ├── grid.less │ │ │ ├── menu.less │ │ │ ├── message.less │ │ │ └── table.less │ │ ├── elements │ │ │ ├── button.less │ │ │ ├── container.less │ │ │ ├── divider.less │ │ │ ├── flag.less │ │ │ ├── header.less │ │ │ ├── icon.less │ │ │ ├── image.less │ │ │ ├── input.less │ │ │ ├── label.less │ │ │ ├── list.less │ │ │ ├── loader.less │ │ │ ├── rail.less │ │ │ ├── reveal.less │ │ │ ├── segment.less │ │ │ └── step.less │ │ ├── globals │ │ │ ├── reset.less │ │ │ ├── site.js │ │ │ └── site.less │ │ ├── modules │ │ │ ├── accordion.js │ │ │ ├── accordion.less │ │ │ ├── checkbox.js │ │ │ ├── checkbox.less │ │ │ ├── dimmer.js │ │ │ ├── dimmer.less │ │ │ ├── dropdown.js │ │ │ ├── dropdown.less │ │ │ ├── embed.js │ │ │ ├── embed.less │ │ │ ├── modal.js │ │ │ ├── modal.less │ │ │ ├── nag.js │ │ │ ├── nag.less │ │ │ ├── popup.js │ │ │ ├── popup.less │ │ │ ├── progress.js │ │ │ ├── progress.less │ │ │ ├── rating.js │ │ │ ├── rating.less │ │ │ ├── search.js │ │ │ ├── search.less │ │ │ ├── shape.js │ │ │ ├── shape.less │ │ │ ├── sidebar.js │ │ │ ├── sidebar.less │ │ │ ├── sticky.js │ │ │ ├── sticky.less │ │ │ ├── tab.js │ │ │ ├── tab.less │ │ │ ├── transition.js │ │ │ └── transition.less │ │ └── views │ │ │ ├── ad.less │ │ │ ├── card.less │ │ │ ├── comment.less │ │ │ ├── feed.less │ │ │ ├── item.less │ │ │ └── statistic.less │ ├── semantic.less │ ├── site │ │ ├── collections │ │ │ ├── breadcrumb.overrides │ │ │ ├── breadcrumb.variables │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── grid.overrides │ │ │ ├── grid.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ ├── message.variables │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── container.overrides │ │ │ ├── container.variables │ │ │ ├── divider.overrides │ │ │ ├── divider.variables │ │ │ ├── flag.overrides │ │ │ ├── flag.variables │ │ │ ├── header.overrides │ │ │ ├── header.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── image.overrides │ │ │ ├── image.variables │ │ │ ├── input.overrides │ │ │ ├── input.variables │ │ │ ├── label.overrides │ │ │ ├── label.variables │ │ │ ├── list.overrides │ │ │ ├── list.variables │ │ │ ├── loader.overrides │ │ │ ├── loader.variables │ │ │ ├── rail.overrides │ │ │ ├── rail.variables │ │ │ ├── reveal.overrides │ │ │ ├── reveal.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ ├── reset.variables │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ ├── accordion.variables │ │ │ ├── chatroom.overrides │ │ │ ├── chatroom.variables │ │ │ ├── checkbox.overrides │ │ │ ├── checkbox.variables │ │ │ ├── dimmer.overrides │ │ │ ├── dimmer.variables │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── embed.overrides │ │ │ ├── embed.variables │ │ │ ├── modal.overrides │ │ │ ├── modal.variables │ │ │ ├── nag.overrides │ │ │ ├── nag.variables │ │ │ ├── popup.overrides │ │ │ ├── popup.variables │ │ │ ├── progress.overrides │ │ │ ├── progress.variables │ │ │ ├── rating.overrides │ │ │ ├── rating.variables │ │ │ ├── search.overrides │ │ │ ├── search.variables │ │ │ ├── shape.overrides │ │ │ ├── shape.variables │ │ │ ├── sidebar.overrides │ │ │ ├── sidebar.variables │ │ │ ├── sticky.overrides │ │ │ ├── sticky.variables │ │ │ ├── tab.overrides │ │ │ ├── tab.variables │ │ │ ├── transition.overrides │ │ │ └── transition.variables │ │ └── views │ │ │ ├── ad.overrides │ │ │ ├── ad.variables │ │ │ ├── card.overrides │ │ │ ├── card.variables │ │ │ ├── comment.overrides │ │ │ ├── comment.variables │ │ │ ├── feed.overrides │ │ │ ├── feed.variables │ │ │ ├── item.overrides │ │ │ ├── item.variables │ │ │ ├── statistic.overrides │ │ │ └── statistic.variables │ ├── theme.config │ ├── theme.less │ └── themes │ │ ├── amazon │ │ ├── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ └── globals │ │ │ └── site.variables │ │ ├── basic │ │ ├── assets │ │ │ └── fonts │ │ │ │ ├── icons.eot │ │ │ │ ├── icons.svg │ │ │ │ ├── icons.ttf │ │ │ │ └── icons.woff │ │ ├── collections │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ └── reset.variables │ │ ├── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── bookish │ │ └── elements │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── bootstrap3 │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── chubby │ │ ├── collections │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── menu.overrides │ │ │ └── menu.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ └── accordion.variables │ │ └── views │ │ │ ├── comment.overrides │ │ │ └── comment.variables │ │ ├── classic │ │ ├── collections │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── colored │ │ └── modules │ │ │ ├── checkbox.overrides │ │ │ └── checkbox.variables │ │ ├── default │ │ ├── assets │ │ │ ├── fonts │ │ │ │ ├── icons.eot │ │ │ │ ├── icons.svg │ │ │ │ ├── icons.ttf │ │ │ │ ├── icons.woff │ │ │ │ └── icons.woff2 │ │ │ └── images │ │ │ │ └── flags.png │ │ ├── collections │ │ │ ├── breadcrumb.overrides │ │ │ ├── breadcrumb.variables │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── grid.overrides │ │ │ ├── grid.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ ├── message.variables │ │ │ ├── table.overrides │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── container.overrides │ │ │ ├── container.variables │ │ │ ├── divider.overrides │ │ │ ├── divider.variables │ │ │ ├── flag.overrides │ │ │ ├── flag.variables │ │ │ ├── header.overrides │ │ │ ├── header.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── image.overrides │ │ │ ├── image.variables │ │ │ ├── input.overrides │ │ │ ├── input.variables │ │ │ ├── label.overrides │ │ │ ├── label.variables │ │ │ ├── list.overrides │ │ │ ├── list.variables │ │ │ ├── loader.overrides │ │ │ ├── loader.variables │ │ │ ├── rail.overrides │ │ │ ├── rail.variables │ │ │ ├── reveal.overrides │ │ │ ├── reveal.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ ├── reset.overrides │ │ │ ├── reset.variables │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── modules │ │ │ ├── accordion.overrides │ │ │ ├── accordion.variables │ │ │ ├── chatroom.overrides │ │ │ ├── chatroom.variables │ │ │ ├── checkbox.overrides │ │ │ ├── checkbox.variables │ │ │ ├── dimmer.overrides │ │ │ ├── dimmer.variables │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── embed.overrides │ │ │ ├── embed.variables │ │ │ ├── modal.overrides │ │ │ ├── modal.variables │ │ │ ├── nag.overrides │ │ │ ├── nag.variables │ │ │ ├── popup.overrides │ │ │ ├── popup.variables │ │ │ ├── progress.overrides │ │ │ ├── progress.variables │ │ │ ├── rating.overrides │ │ │ ├── rating.variables │ │ │ ├── search.overrides │ │ │ ├── search.variables │ │ │ ├── shape.overrides │ │ │ ├── shape.variables │ │ │ ├── sidebar.overrides │ │ │ ├── sidebar.variables │ │ │ ├── sticky.overrides │ │ │ ├── sticky.variables │ │ │ ├── tab.overrides │ │ │ ├── tab.variables │ │ │ ├── transition.overrides │ │ │ └── transition.variables │ │ └── views │ │ │ ├── ad.overrides │ │ │ ├── ad.variables │ │ │ ├── card.overrides │ │ │ ├── card.variables │ │ │ ├── comment.overrides │ │ │ ├── comment.variables │ │ │ ├── feed.overrides │ │ │ ├── feed.variables │ │ │ ├── item.overrides │ │ │ ├── item.variables │ │ │ ├── statistic.overrides │ │ │ └── statistic.variables │ │ ├── duo │ │ └── elements │ │ │ ├── loader.overrides │ │ │ └── loader.variables │ │ ├── fixed-width │ │ ├── collections │ │ │ ├── grid.overrides │ │ │ └── grid.variables │ │ └── modules │ │ │ ├── modal.overrides │ │ │ └── modal.variables │ │ ├── flat │ │ ├── collections │ │ │ ├── form.overrides │ │ │ └── form.variables │ │ └── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── github │ │ ├── assets │ │ │ └── fonts │ │ │ │ ├── octicons-local.ttf │ │ │ │ ├── octicons.svg │ │ │ │ ├── octicons.ttf │ │ │ │ └── octicons.woff │ │ ├── collections │ │ │ ├── breadcrumb.variables │ │ │ ├── form.overrides │ │ │ ├── form.variables │ │ │ ├── grid.variables │ │ │ ├── menu.overrides │ │ │ ├── menu.variables │ │ │ ├── message.overrides │ │ │ ├── message.variables │ │ │ └── table.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.variables │ │ │ ├── icon.overrides │ │ │ ├── icon.variables │ │ │ ├── image.variables │ │ │ ├── input.overrides │ │ │ ├── input.variables │ │ │ ├── label.overrides │ │ │ ├── label.variables │ │ │ ├── segment.overrides │ │ │ ├── segment.variables │ │ │ ├── step.overrides │ │ │ └── step.variables │ │ ├── globals │ │ │ └── site.variables │ │ └── modules │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ └── popup.variables │ │ ├── gmail │ │ └── collections │ │ │ ├── message.overrides │ │ │ └── message.variables │ │ ├── instagram │ │ └── views │ │ │ ├── card.overrides │ │ │ └── card.variables │ │ ├── material │ │ ├── collections │ │ │ ├── menu.overrides │ │ │ └── menu.variables │ │ ├── elements │ │ │ ├── button.overrides │ │ │ ├── button.variables │ │ │ ├── header.overrides │ │ │ └── header.variables │ │ ├── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ └── modules │ │ │ ├── dropdown.overrides │ │ │ ├── dropdown.variables │ │ │ ├── modal.overrides │ │ │ └── modal.variables │ │ ├── pulsar │ │ └── elements │ │ │ ├── loader.overrides │ │ │ └── loader.variables │ │ ├── raised │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── resetcss │ │ └── globals │ │ │ ├── reset.overrides │ │ │ └── reset.variables │ │ ├── round │ │ └── elements │ │ │ ├── button.overrides │ │ │ └── button.variables │ │ ├── rtl │ │ └── globals │ │ │ ├── site.overrides │ │ │ └── site.variables │ │ ├── striped │ │ └── modules │ │ │ ├── progress.overrides │ │ │ └── progress.variables │ │ ├── timeline │ │ └── views │ │ │ ├── feed.overrides │ │ │ └── feed.variables │ │ └── twitter │ │ └── elements │ │ ├── button.overrides │ │ └── button.variables └── tasks │ ├── README.md │ ├── admin │ ├── components │ │ ├── create.js │ │ ├── init.js │ │ └── update.js │ ├── distributions │ │ ├── create.js │ │ ├── init.js │ │ └── update.js │ ├── publish.js │ ├── register.js │ └── release.js │ ├── build.js │ ├── check-install.js │ ├── clean.js │ ├── collections │ ├── README.md │ ├── admin.js │ ├── build.js │ ├── internal.js │ └── rtl.js │ ├── config │ ├── admin │ │ ├── github.js │ │ ├── oauth.example.js │ │ ├── release.js │ │ └── templates │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── component-package.js │ │ │ ├── composer.json │ │ │ ├── css-package.js │ │ │ ├── less-package.js │ │ │ └── package.json │ ├── defaults.js │ ├── docs.js │ ├── npm │ │ └── gulpfile.js │ ├── project │ │ ├── config.js │ │ ├── install.js │ │ └── release.js │ ├── tasks.js │ └── user.js │ ├── docs │ ├── build.js │ ├── metadata.js │ └── serve.js │ ├── install.js │ ├── rtl │ ├── build.js │ └── watch.js │ ├── version.js │ └── watch.js ├── test └── example.js ├── webpack ├── make-webpack-config.js ├── webpack-dev-server.config.js ├── webpack-hot-dev-server.config.js ├── webpack.config.js └── webpack.config.production.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "stage": 0 3 | } 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.{json,js,jsx,html,css}] 11 | indent_style = space 12 | indent_size = 2 13 | 14 | [.eslintrc] 15 | indent_style = space 16 | indent_size = 2 17 | 18 | [*.md] 19 | trim_trailing_whitespace = false 20 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaFeatures": { "modules": true, "jsx": true }, 3 | "env": { 4 | "es6": true, 5 | "node": true, 6 | "shelljs": true, 7 | "browser": true 8 | }, 9 | "extends": "eslint:recommended", 10 | "rules": { 11 | "no-console": 0 12 | } 13 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | 29 | # OSX 30 | .DS_Store 31 | 32 | # App packaged 33 | release 34 | dist-old 35 | dist 36 | /npm-debug.log.4395bb813771e5310d5e45b316bd60d6 37 | npm-debug.log.1624182a45daa89560d521473ca74c3f 38 | npm-debug.log.22b90196a03d7a53130327d59301bd07 39 | landing 40 | GITHUBTOKEN 41 | -------------------------------------------------------------------------------- /.make/build.make: -------------------------------------------------------------------------------- 1 | $(BUILDIR)/%.xelatex.pdf: %.xelatex.tex $(BUILDIR)/.f 2 | xelatex $< 3 | xelatex $< 4 | mv $*.xelatex.pdf $(BUILDIR) 5 | rm -f $*.xelatex.aux $*.xelatex.log 6 | -------------------------------------------------------------------------------- /.make/index.make: -------------------------------------------------------------------------------- 1 | # Use this makefile with: make -I(THISDIRECTORY) 2 | 3 | BUILDIR ?= dist 4 | PROCREGEXP ?= 5 | WATCHOBJECT ?= 6 | WATCHTARGET ?= 7 | 8 | #.SILENT: 9 | #.IGNORE: 10 | 11 | 12 | .DEFAULT_GOAL := all 13 | 14 | # Used to create a directory as a prerequisite of a file 15 | .SECONDEXPANSION: 16 | 17 | mirrorinto = $(patsubst %, $1/%, $2) 18 | collapseinto = $(patsubst %, $1/%, $(notdir $2)) 19 | 20 | # Used to create a directory as a prerequisite of a file 21 | %/.f: 22 | mkdir -p $(dir $@) 23 | touch $@ 24 | 25 | clean: 26 | rm -rf $(BUILDIR) 27 | 28 | 29 | .phony: watch 30 | watch: 31 | watchman $(WATCHOBJECT) "make $(WATCHTARGET)" & 32 | 33 | 34 | .PHONY: show-procs 35 | show-procs: 36 | @echo 'Processes in PROCREGEXP = $(PROCREGEXP), WATCHOBJECT = $(WATCHOBJECT)' 37 | @echo ' ' 38 | $(if $(PROCREGEXP), pgrep -l -f $(PROCREGEXP), @echo "PROCREGEXP not set") 39 | $(if $(WATCHOBJECT), pgrep -l -f ".*watchman.*$(WATCHOBJECT)", @echo "WATCHOBJECT not set") 40 | 41 | .PHONY: kill-procs 42 | kill-procs: 43 | @make show-procs 44 | $(if $(PROCREGEXP), pkill -9 -f $(PROCREGEXP), @echo "PROCREGEXP not set") 45 | $(if $(WATCHOBJECT), pkill -9 -f ".*watchman.*$(WATCHOBJECT)", @echo "WATCHOBJECT not set") 46 | 47 | show: show-procs 48 | 49 | stop: kill-procs 50 | 51 | include ./.make/build.make 52 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Teasy: Copyright (c) 2015 V. Zaccaria 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, 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, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/actions/AppActions.js: -------------------------------------------------------------------------------- 1 | var alt = require('../utils/alt'); 2 | 3 | import _debug from 'debug'; 4 | const debug = _debug('app:actions/AppActions'); 5 | 6 | debug('loaded') 7 | 8 | class AppActions { 9 | constructor() { 10 | this.generateActions( 11 | /* Easier - comma separated list of methods.. */ 12 | 'updateWindowSize', /* Use commas to add actions */ 13 | 'updateCurrentSystemWindows', 14 | 'updateLiveViewTime', 15 | 'setBreakTime', 16 | 'clearBreakTime', 17 | 'changeLanguage', 18 | 'toggleShowTopBar', 19 | 'updatePointerSettings', 20 | 'updateMouseCoordinates', 21 | 'toggleColorPicker' 22 | ) 23 | } 24 | 25 | updateCurrentLiveWindow(wid) { 26 | this.dispatch(wid); 27 | } 28 | } 29 | 30 | module.exports = window.$a = (alt.createActions(AppActions)); 31 | -------------------------------------------------------------------------------- /app/actions/LiveWinAppActions.js: -------------------------------------------------------------------------------- 1 | var alt = require('../utils/alt'); 2 | 3 | import _debug from 'debug'; 4 | const debug = _debug('app:actions/LiveWinAppActions'); 5 | 6 | debug('loaded') 7 | 8 | class LiveWinAppActions { 9 | constructor() { 10 | this.generateActions( 11 | 'updateWindowSize', /* Use commas to add actions */ 12 | 'updateRemoteState' 13 | ) 14 | } 15 | } 16 | 17 | module.exports = window.$a = alt.createActions(LiveWinAppActions); 18 | -------------------------------------------------------------------------------- /app/api/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/app/api/.gitkeep -------------------------------------------------------------------------------- /app/app.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: black; 3 | background-color: #ffe773; 4 | } 5 | 6 | h2 { 7 | font-size: 50px; 8 | } 9 | 10 | p { 11 | font-size: 24px; 12 | } 13 | -------------------------------------------------------------------------------- /app/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Teasy 2.0 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/app.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/app/app.icns -------------------------------------------------------------------------------- /app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/app/components/.gitkeep -------------------------------------------------------------------------------- /app/components/GLDisplayUintBuf.jsx: -------------------------------------------------------------------------------- 1 | const GL = require("gl-react"); 2 | const React = GL.React; 3 | 4 | const shaders = GL.Shaders.create({ 5 | justDisplay: { 6 | frag: ` 7 | precision highp float; 8 | varying vec2 uv; 9 | uniform sampler2D image; 10 | uniform sampler2D tex; 11 | void main () { 12 | 13 | vec4 c = texture2D(image, uv); 14 | vec4 o = texture2D(tex, uv); 15 | c.r = mix(c.r , o.r , o.a); 16 | c.g = mix(c.g , o.g , o.a); 17 | c.b = mix(c.b , o.b , o.a); 18 | gl_FragColor = c; 19 | } 20 | ` 21 | } 22 | }); 23 | 24 | 25 | let GLDisplayUintBuf = GL.createComponent( 26 | ({ width, height, image, children: tex, className }) => { 27 | width = parseInt(width); 28 | height = parseInt(height); 29 | return ( 30 | 34 | 35 | ); 36 | }, 37 | { displayName: "GLDisplayUintBuf"} 38 | ); 39 | 40 | module.exports = { GLDisplayUintBuf } 41 | -------------------------------------------------------------------------------- /app/components/GLSurfaceCanvas.jsx: -------------------------------------------------------------------------------- 1 | const GL = require("gl-react"); 2 | const React = require("react"); 3 | 4 | import $ from 'jquery' 5 | 6 | import ndarray from 'ndarray'; 7 | import _ from 'lodash' 8 | import { GLDisplayUintBuf } from './GLDisplayUintBuf'; 9 | const { Surface } = require("gl-react-dom"); 10 | 11 | 12 | let GLSurfaceCanvas = React.createClass({ 13 | 14 | shouldComponentUpdate: function(np, ns) { 15 | if(this.props.framenumber !== np.framenumber) { 16 | return true 17 | } else { 18 | return false 19 | } 20 | }, 21 | 22 | render: function() { 23 | let thisWindowSize = { 24 | width: parseInt(this.props.width), 25 | height: parseInt(this.props.height) 26 | } 27 | return ( 28 | 29 | 30 | 31 | ); 32 | } 33 | 34 | }); 35 | 36 | 37 | module.exports = { GLSurfaceCanvas } 38 | -------------------------------------------------------------------------------- /app/components/icon.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash' 3 | 4 | 5 | let Icon = React.createClass({ 6 | render: function() { 7 | return ( 8 | 9 | 10 | ); 11 | } 12 | }); 13 | 14 | 15 | 16 | 17 | module.exports = { Icon }; 18 | -------------------------------------------------------------------------------- /app/components/languageChooser.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash' 3 | 4 | import { changeLanguage } from '../actions/AppActions' 5 | 6 | let languageChoices = [ 7 | { key: 'us', value: 'en', display: 'English' }, 8 | { key: 'it', value: 'it', display: 'Italiano' } 9 | ]; 10 | 11 | function renderItem(it) { 12 | let style = {cursor: 'pointer', marginTop: '0.5rem', marginBottom: '0.5rem'} ; 13 | return ( 14 |
changeLanguage(it.value)}> 15 | {it.display} 16 |
); 17 | } 18 | 19 | class LanguageChooser extends React.Component { 20 | 21 | 22 | render() { 23 | return ( 24 |
25 | {_.map(languageChoices, renderItem)} 26 |
); 27 | 28 | } 29 | } 30 | 31 | function getLanguageFlag(language) { 32 | return _.head(_.filter(languageChoices, (i) => i.value === language)).key; 33 | } 34 | 35 | module.exports = { LanguageChooser, getLanguageFlag } 36 | -------------------------------------------------------------------------------- /app/components/loader.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash' 3 | 4 | 5 | function isInverted(props) { 6 | return !_.isUndefined(props.inverted) && _.isEqual(props.inverted, "1"); 7 | } 8 | 9 | export default class Loader extends React.Component { 10 | 11 | render() { 12 | let cn = "ui active dimmer" 13 | if(isInverted(this.props)) { 14 | cn = "ui active dimmer inverted"; 15 | } 16 | return ( 17 |
18 |
19 | {this.props.message} 20 |
21 |
22 | ) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/components/message.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | module.exports = React.createClass({ 4 | render: function() { 5 | 6 | let cstyle = { 7 | width: this.props.width, 8 | height: this.props.height, 9 | paddingTop: this.props.height/3 10 | }; 11 | 12 | return ( 13 |
14 |
15 |
16 |
{this.props.title}
17 |

{this.props.message}

18 |
19 |
20 |
); 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /app/components/popup.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash' 3 | 4 | import '../../semantic/src/definitions/modules/popup' 5 | import '../../semantic/src/definitions/modules/transition' 6 | 7 | import $ from 'jquery' 8 | 9 | 10 | function asPopup(iconName, popup) { 11 | 12 | let IconPopup = React.createClass({ 13 | componentDidMount: function() { 14 | let element = $('.popact'); 15 | element.popup({ 16 | inline : true, 17 | hoverable: true, 18 | position : 'bottom left', 19 | delay: { 20 | show: 100 21 | }} 22 | ) 23 | }, 24 | render: function() { 25 | if(_.isUndefined(this.props.className)) { 26 | return ( 27 | 28 | ); 29 | } else { 30 | return ( 31 | 32 | ); 33 | 34 | } 35 | } 36 | }); 37 | let IconPopupContent = React.createClass({ 38 | render: function() { 39 | return ( 40 |
41 | {popup} 42 |
); 43 | } 44 | }); 45 | return { IconPopup, IconPopupContent } 46 | } 47 | 48 | 49 | module.exports = { asPopup } 50 | -------------------------------------------------------------------------------- /app/components/time.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import moment from 'moment' 3 | import _ from 'lodash' 4 | 5 | export default class Time extends React.Component { 6 | 7 | render() { 8 | let curtime = moment(); 9 | 10 | let showBreakTime = _.get(this.props, "state.liveView.time.breakTime", false); 11 | let __ = _.get(this.props, "state.__", () => ""); 12 | let message = __(curtime, {short: true }); 13 | if(showBreakTime !== false) { 14 | let diff = moment(showBreakTime, "HH:mm").diff(curtime); 15 | let duration = moment.duration(diff); 16 | if(diff > 0) { 17 | message = `${message} - ${__(duration, {duration: true})}`; 18 | } else { 19 | message = `${message} - ${__('timeFinished')}`; 20 | } 21 | } 22 | 23 | if(_.get(this.props, 'asDimmer', false)) { 24 | let cn = "ui active dimmer"; 25 | 26 | return ( 27 |
28 |
29 | {message} 30 |
31 |
32 | ) 33 | } else { 34 | let cstyle = { 35 | fontSize: 40, 36 | width: this.props.width, 37 | height: this.props.height, 38 | paddingTop: this.props.height/3, 39 | background: "black", 40 | color: "white" 41 | }; 42 | return ( 43 |
44 |
45 |
46 | {message} 47 |
48 |
49 |
); 50 | 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/components/timeChooser.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import moment from 'moment' 3 | import _ from 'lodash' 4 | 5 | import { setBreakTime } from '../actions/AppActions' 6 | 7 | let timeChoices = [ 8 | { key: '5m', value: 5, display: '5 minutes' }, 9 | { key: '10m', value: 10, display: '10 minutes' }, 10 | { key: '20m', value: 20, display: '20 minutes' } 11 | ]; 12 | 13 | function renderItem(it) { 14 | 15 | let handler = () => { 16 | setBreakTime({minutesFromNow: it.value}) 17 | } 18 | 19 | let style = {width: '8rem', cursor: 'pointer', marginTop: '0.5rem', marginBottom: '0.5rem'} ; 20 | return ( 21 |
22 | {it.display} 23 |
); 24 | } 25 | export default class TimeChooser extends React.Component { 26 | 27 | 28 | render() { 29 | return ( 30 |
31 | {_.map(timeChoices, renderItem)} 32 |
); 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/dispatcher/AppDispatcher.js: -------------------------------------------------------------------------------- 1 | import {Dispatcher} from 'flux'; 2 | import assign from 'object-assign'; 3 | import PayloadSources from '../constants/PayloadSources'; 4 | import debug from '../utils/debug'; 5 | 6 | var dd = debug('AppDispatcher'); 7 | 8 | 9 | export default assign(new Dispatcher(), { 10 | 11 | handleServerAction(action) { 12 | dd('server action', action); 13 | 14 | if (!action.type) { 15 | throw new Error('Empty action.type: you likely mistyped the action.'); 16 | } 17 | 18 | var payload = { 19 | source: PayloadSources.SERVER_ACTION, 20 | action: action 21 | }; 22 | 23 | this.dispatch(payload); 24 | }, 25 | 26 | handleViewAction(action) { 27 | dd('view action', action); 28 | 29 | if (!action.type) { 30 | throw new Error('Empty action.type: you likely mistyped the action.'); 31 | } 32 | 33 | var payload = { 34 | source: PayloadSources.VIEW_ACTION, 35 | action: action 36 | }; 37 | 38 | this.dispatch(payload); 39 | } 40 | }); 41 | -------------------------------------------------------------------------------- /app/hot-dev-app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Teasy 2.0 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/hot-dev-liveWin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Teasy 2.0 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/liveWin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Teasy 2.0 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/liveWinApp.js: -------------------------------------------------------------------------------- 1 | import __ from "gl-react" 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom'; 4 | import LiveWinContainer from './containers/LiveWinContainer'; 5 | import { updateWindowSize } from './actions/LiveWinAppActions'; 6 | import { listenToStateChange } from './utils/liveWinIPC'; 7 | import _debug from 'debug'; 8 | import '../semantic/src/semantic.less'; 9 | import './styles/blink.less'; 10 | 11 | 12 | const debug = _debug('app:liveWinApp'); 13 | debug('Live w. started'); 14 | debug(listenToStateChange) 15 | 16 | window.$mine = { } 17 | window.$mine.enableDebugAll = () => { _debug.enable('app:*') } 18 | window.$mine.disableDebugAll = () => { _debug.disable('app:*') } 19 | window.$mine.enableDebugAll() 20 | 21 | function registerListeners() { 22 | debug('registering listener..') 23 | listenToStateChange(); 24 | window.addEventListener('resize', function() { 25 | updateWindowSize({width: window.innerWidth, height: window.innerHeight}) 26 | }, true) 27 | } 28 | 29 | 30 | ReactDOM.render(, document.getElementById('react-live-win-root')); 31 | 32 | registerListeners() 33 | -------------------------------------------------------------------------------- /app/mainApp.jsx: -------------------------------------------------------------------------------- 1 | import __ from "gl-react" 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom' 4 | import AppContainer from './containers/AppContainer'; 5 | import { updateWindowSize, updateMouseCoordinates } from './actions/AppActions'; 6 | var ipc = require('electron').ipcRenderer; 7 | 8 | function listenToMouseCoordinatesChange() { 9 | ipc.on('update-coordinates', function(sender, coordinates) { 10 | updateMouseCoordinates(coordinates); 11 | }); 12 | } 13 | 14 | // debug(`Received updated coordinates ${coordinates}`) 15 | 16 | import '../semantic/src/semantic.less'; 17 | import './styles/blink.less'; 18 | 19 | import _debug from 'debug'; 20 | const debug = _debug('app:mainApp'); 21 | 22 | window.$mine = { } 23 | window.$mine.enableDebugAll = () => { _debug.enable('app:*') } 24 | window.$mine.disableDebugAll = () => { _debug.disable('app:*') } 25 | 26 | //window.$mine.enableDebugAll() 27 | window.$mine.disableDebugAll() 28 | 29 | function attachListeners() { 30 | listenToMouseCoordinatesChange(); 31 | window.addEventListener('resize', function() { 32 | debug("resize invoked"); 33 | updateWindowSize({width: window.innerWidth, height: window.innerHeight}) 34 | }, true); 35 | 36 | window.addEventListener('load', function() { 37 | debug("load invoked"); 38 | updateWindowSize({width: window.innerWidth, height: window.innerHeight}) 39 | }, true); 40 | } 41 | 42 | 43 | 44 | ReactDOM.render(, document.getElementById('react-root')); 45 | 46 | attachListeners() 47 | -------------------------------------------------------------------------------- /app/routes/async.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 'SomePage', 'ReadmePage' ]; 2 | -------------------------------------------------------------------------------- /app/routes/router.js: -------------------------------------------------------------------------------- 1 | import routes from './routes'; 2 | import Router from 'react-router'; 3 | 4 | 5 | // we can create a router before 'running' it 6 | export default Router.create({ 7 | routes: routes, 8 | location: Router.HashLocation 9 | }); 10 | -------------------------------------------------------------------------------- /app/routes/routes.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route, DefaultRoute } from 'react-router'; 3 | import AppContainer from '../containers/AppContainer'; 4 | import HomePageContainer from '../containers/HomePageContainer'; 5 | import AboutPageContainer from '../containers/AboutPageContainer'; 6 | import PreviewContainer from '../containers/PreviewContainer'; 7 | 8 | 9 | export default ( 10 | 11 | 12 | 13 | 14 | 15 | ); 16 | -------------------------------------------------------------------------------- /app/stores/LiveWinAppStore.js: -------------------------------------------------------------------------------- 1 | var alt = require('../utils/alt'); 2 | var LiveWinAppActions = require('../actions/LiveWinAppActions'); 3 | import i18n from '../utils/i18n' 4 | 5 | import _ from 'lodash' 6 | 7 | import _debug from 'debug'; 8 | const debug = _debug('app:stores/LiveWinAppStore.jsx'); 9 | 10 | debug('loaded'); 11 | 12 | class LiveWinAppStore { 13 | constructor() { 14 | /* `this` is the state */ 15 | this.remoteState = {} 16 | this.window = { 17 | size: { 18 | width: window.innerWidth, 19 | height: window.innerHeight 20 | } 21 | } 22 | /* Bind the actions in LiveWinAppActions */ 23 | this.bindActions(LiveWinAppActions) 24 | } 25 | 26 | 27 | updateRemoteState(state) { 28 | debug(state) 29 | this.remoteState = state 30 | this.remoteState.__ = i18n(this.remoteState.currentLanguage) 31 | } 32 | 33 | updateWindowSize(size) { 34 | this.window.size = size 35 | } 36 | } 37 | 38 | module.exports = window.$s = alt.createStore(LiveWinAppStore, 'LiveWinAppStore'); 39 | -------------------------------------------------------------------------------- /app/styles/Layout.js: -------------------------------------------------------------------------------- 1 | import color from 'color' 2 | 3 | const listWidth = 350; 4 | const previewWidth = listWidth; 5 | const previewHeight = 300; 6 | const topBarSize = 40; 7 | 8 | const getAppWindowStyle = () => { 9 | return { 10 | width: listWidth, 11 | height: 800 12 | } 13 | } 14 | 15 | 16 | const dividerGray = color('#FFFFFF').darken(0.1).hexString() 17 | 18 | const WindowListStyle = (window) => { 19 | return { 20 | boxSizing: 'border-box', 21 | width: listWidth, 22 | position: 'fixed', 23 | top: topBarSize + previewHeight, 24 | height: window.size.height - topBarSize - previewHeight, 25 | overflowY: 'auto', 26 | borderRight: `1px solid ${dividerGray}`, 27 | cursor: 'pointer', 28 | background: color('#FFFFFF').darken(0.05).hslString() 29 | } 30 | } 31 | 32 | 33 | 34 | const getPreviewSize = (window) => { 35 | return { 36 | width: previewWidth, 37 | height: previewHeight 38 | } 39 | } 40 | 41 | const PreviewStyle = { 42 | bxSizing: 'border-box', 43 | position: 'fixed', 44 | width: previewWidth, 45 | top: topBarSize, 46 | height: previewHeight 47 | } 48 | 49 | const MenuStyle = { 50 | 51 | } 52 | 53 | module.exports = { 54 | WindowListStyle, PreviewStyle, getPreviewSize, MenuStyle, dividerGray, getAppWindowStyle 55 | } 56 | -------------------------------------------------------------------------------- /app/styles/blink.less: -------------------------------------------------------------------------------- 1 | .blink { 2 | animation: blink-animation 1s steps(5, start) infinite; 3 | -webkit-animation: blink-animation 1s steps(5, start) infinite; 4 | } 5 | @keyframes blink-animation { 6 | to { 7 | visibility: hidden; 8 | } 9 | } 10 | @-webkit-keyframes blink-animation { 11 | to { 12 | visibility: hidden; 13 | } 14 | } -------------------------------------------------------------------------------- /app/utils/alt.js: -------------------------------------------------------------------------------- 1 | var Alt = require('alt'); 2 | var alt = new Alt(); 3 | 4 | module.exports = alt; 5 | -------------------------------------------------------------------------------- /app/utils/appWinIPC.js: -------------------------------------------------------------------------------- 1 | import _debug from 'debug'; 2 | const debug = _debug(__filename) 3 | debug('loading ipc renderer') 4 | 5 | var ipc = require('electron').ipcRenderer; 6 | 7 | 8 | function sendStateChange(state) { 9 | ipc.send('update-state', { state }); 10 | } 11 | 12 | module.exports = { 13 | sendStateChange 14 | } 15 | 16 | debug('loaded!') 17 | -------------------------------------------------------------------------------- /app/utils/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 3 | maxImageRefreshTime: 1000, // refresh is throttled with this parameter (safe == 1000) 4 | 5 | // Video refresh rates (used for setInterval) 6 | refreshRates: { 7 | live: 300, // Safe == 1000 8 | preview: 5000, 9 | screenshot: 10000 10 | }, 11 | 12 | // Just the window list 13 | updateWindowListTime: 1000, // ms 14 | 15 | // Mouse 16 | mouseRefreshTime: 100 // ms 17 | } 18 | -------------------------------------------------------------------------------- /app/utils/debug.js: -------------------------------------------------------------------------------- 1 | import debug from 'debug'; 2 | 3 | global.dd = debug; 4 | 5 | export default debug; 6 | -------------------------------------------------------------------------------- /app/utils/i18n.js: -------------------------------------------------------------------------------- 1 | let _ = require('lodash') 2 | let Polyglot = require('node-polyglot') 3 | let moment = require('moment') 4 | 5 | let _phrases = { 6 | it: { 7 | waitingForConnection: "In attesa del contenuto", 8 | noWindowSelected: "Nessuna finestra scelta", 9 | chooseAWindowFromTheLeft: "Scegli una finestra qui sotto", 10 | timeFinished: "tempo scaduto", 11 | initializing: "Inizializzazione", 12 | longTimeFormat: "D/M/YY - HH:mm:ss", 13 | showingTopWindow: "Mostra sempre finestra top" 14 | }, 15 | 16 | en: { 17 | waitingForConnection: "Waiting for connection", 18 | chooseAWindowFromTheLeft: "Please, choose a window below", 19 | noWindowSelected: "No window selected!", 20 | timeFinished: "time is up", 21 | initializing: "Initializing", 22 | longTimeFormat: "M/D/YY h:mm:ss a", 23 | showingTopWindow: "Showing top window" 24 | } 25 | } 26 | 27 | function entry(language) { 28 | 29 | if (_.isUndefined(_phrases[language])) { 30 | language = 'en'; 31 | } 32 | let phrases = _phrases[language] 33 | let _poly = new Polyglot({ 34 | phrases 35 | }) 36 | moment.locale(language); 37 | 38 | return function(datum, props) { 39 | if (_.isString(datum)) { 40 | return _poly.t.apply(_poly, arguments) 41 | } else { 42 | let isDuration = _.get(props, 'duration', false); 43 | if (moment.isMoment(datum) || isDuration) { 44 | let isShort = _.get(props, 'short', false); 45 | if (isDuration) { 46 | return datum.humanize(); 47 | } else { 48 | if (isShort) { 49 | return datum.format("HH:mm"); 50 | } else { 51 | return datum.format(_phrases[language].longTimeFormat); 52 | } 53 | } 54 | } 55 | } 56 | } 57 | } 58 | 59 | module.exports = entry 60 | -------------------------------------------------------------------------------- /app/utils/liveWinIPC.js: -------------------------------------------------------------------------------- 1 | import _debug from 'debug'; 2 | const debug = _debug(__filename) 3 | debug('loading ipc renderer') 4 | 5 | var ipc = require('electron').ipcRenderer; 6 | 7 | var { updateRemoteState } = require('../actions/LiveWinAppActions'); 8 | 9 | 10 | function listenToStateChange() { 11 | debug('registering to statechange') 12 | ipc.on('update-state', function(sender, state) { 13 | state = state.state 14 | debug('received updated state') 15 | debug(state) 16 | updateRemoteState(state); 17 | }); 18 | } 19 | 20 | module.exports = { 21 | listenToStateChange 22 | } 23 | 24 | debug('loaded!') 25 | -------------------------------------------------------------------------------- /app/utils/native-sgrab-helper.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var nativeSgrabHelper = require("bindings")("nativeSgrabHelper"); 4 | var _ = require("lodash"); 5 | 6 | function windowListAsJson() { 7 | return JSON.parse(nativeSgrabHelper.windowList()); 8 | } 9 | 10 | function getForefrontWindow() { 11 | var list = windowListAsJson(); 12 | return _.first(_.filter(list, function (it) { 13 | return it.layer == 0; 14 | })); 15 | } 16 | 17 | function getForefrontWindowBuffer() { 18 | return nativeSgrabHelper.getImageBuffer(getForefrontWindow().wid); 19 | } 20 | 21 | module.exports = { 22 | nativeSgrabHelper: nativeSgrabHelper, windowListAsJson: windowListAsJson, getForefrontWindow: getForefrontWindow, getForefrontWindowBuffer: getForefrontWindowBuffer 23 | }; 24 | -------------------------------------------------------------------------------- /assets/TeasyIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/assets/TeasyIcon.icns -------------------------------------------------------------------------------- /assets/TeasyIcon.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/assets/TeasyIcon.sketch -------------------------------------------------------------------------------- /build.make: -------------------------------------------------------------------------------- 1 | $(BUILDIR)/%.xelatex.pdf: %.xelatex.tex $(BUILDIR)/.f 2 | xelatex $< 3 | xelatex $< 4 | mv $*.xelatex.pdf $(BUILDIR) 5 | rm -f $*.xelatex.aux $*.xelatex.log 6 | -------------------------------------------------------------------------------- /cpp/.dir-locals.el: -------------------------------------------------------------------------------- 1 | ( 2 | (c++-mode . 3 | ( 4 | (flycheck-clang-include-path . ( 5 | "/Users/zaccaria/development/github/native-sgrab-helper/src/cpp" 6 | "/Users/zaccaria/development/github/native-sgrab-helper/node_modules/nan" 7 | "/Users/zaccaria/.node-gyp/0.12.5/include/node" 8 | "/Users/zaccaria/.node-gyp/0.12.5/src" 9 | "/Users/zaccaria/.node-gyp/0.12.5/deps/uv/include" 10 | "/Users/zaccaria/.node-gyp/0.12.5/deps/v8/include" 11 | "/Users/zaccaria/development/github/native-sgrab-helper/src/cpp/CF++/include" 12 | ) 13 | ) 14 | (flycheck-clang-language-standard . "c++11") 15 | ) 16 | ) 17 | ) 18 | -------------------------------------------------------------------------------- /cpp/CF++/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | NSHumanReadableCopyright 26 | Copyright © 2014 XS-Labs. All rights reserved. 27 | NSPrincipalClass 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /cpp/CoreGraphicsHelpers.hpp: -------------------------------------------------------------------------------- 1 | #include "CF++.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "OpenCVHelpers.hpp" 10 | 11 | typedef std::pair CGWindowInfo; 12 | typedef std::vector CGWindowInfoList; 13 | 14 | typedef struct { 15 | const char *pointer; 16 | unsigned long size; 17 | unsigned long rows; 18 | unsigned long cols; 19 | CGWindowResizeInfo resizeInfo; 20 | } CGWindowBuffer; 21 | 22 | 23 | #define _wbuf(p, i, m) { p, i, m } 24 | #define _wbuf_getPointer(x) (x.pointer) 25 | #define _wbuf_getSize(x) (x.size) 26 | 27 | std::string getWindowListAsJsonString(); 28 | 29 | CGWindowID getWindowID(std::string wname); 30 | CGImageRef getWindowImage(CGWindowID windowId); 31 | CGWindowBuffer getImageAsBufferResized(CGWindowID windowId, unsigned int, unsigned int); 32 | CGWindowBuffer convertImageRefToRGBA(CGImageRef imageRef); 33 | -------------------------------------------------------------------------------- /cpp/OpenCVHelpers.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "debug.hxx" 5 | #include "cppformat/format.h" 6 | 7 | #ifndef __OPENCV_HELPERS__ 8 | #define __OPENCV_HELPERS__ 9 | 10 | typedef struct { 11 | unsigned long borderSizeLeft; 12 | unsigned long borderSizeTop; 13 | unsigned long borderSizeRight; 14 | unsigned long borderSizeBottom; 15 | unsigned long innerWidth; 16 | unsigned long innerHeight; 17 | } CGWindowResizeInfo; 18 | 19 | #define white CV_RGB(255,255,255) 20 | #define black CV_RGB(0,0,0) 21 | 22 | #define debugMat(name) debugm(fmt::format("{} ({}x{})", #name, name.cols, name.rows)) 23 | #define debugVal(name) debugm(fmt::format("temporary ({})", name)) 24 | #define debugShouldEqual(v1,v2) { debugm(fmt::format("{} ~ {}", v1, v2)) ; assert(v1 == v2); } 25 | #define debugShouldGEQ(v1,v2) { printf(fmt::format("{} >= {}", v1, v2)) ; assert(v1 >= v2); } 26 | 27 | extern std::pair pad(cv::Mat & m, float padding); 28 | extern CGWindowResizeInfo resizeKeepAspectRatio(cv::Mat & in, cv::Mat & out); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /cpp/configure.js: -------------------------------------------------------------------------------- 1 | var generateProject = require("diy-build").generateProject; 2 | var uid = require("uid"); 3 | 4 | var copts = `\\ 5 | -std=c++11 \\ 6 | -ICF++/include \\ 7 | -I/usr/local/include`; 8 | 9 | var lopts = `\\ 10 | -framework AVFoundation \\ 11 | -framework CoreServices \\ 12 | -framework CoreFoundation \\ 13 | -framework CoreGraphics \\ 14 | -framework ImageIO \\ 15 | -L/usr/local/lib \\ 16 | -L/usr/local/Cellar/opencv/2.4.13.2/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab`; 17 | 18 | generateProject(function(_) { 19 | "use strict"; 20 | _.clang = (src, ...deps) => { 21 | var command = _ => `clang++ -g ${copts} -c ${_.source} -o ${_.product}`; 22 | var product = _ => `${_.source.replace(/\..*/, ".o")}`; 23 | _.compileFiles(...[command, product, src].concat(deps)); 24 | }; 25 | 26 | _.clangExe = body => { 27 | var command = _ => 28 | `clang++ -g ${lopts} ${_.sources.join(" ")} -o ${_.product}`; 29 | var product = () => `clang-${uid(4)}.x`; 30 | _.reduceFiles(command, product, body); 31 | }; 32 | 33 | _.collect("run", function(_) { 34 | _.cmd("./test.x"); 35 | }); 36 | 37 | _.collectSeq("all", function(_) { 38 | _.toFile("test.x", _ => { 39 | _.clangExe(_ => { 40 | _.clang("CoreGraphicsHelpers.cpp", "**/*.hpp"); 41 | _.clang("OpenCVHelpers.cpp", "**/*.hpp"); 42 | _.clang("test.cpp", "**/*.hpp"); 43 | _.clang("CF++/**/*.cpp", "**/*.hpp"); 44 | _.clang("json11/**/*.cpp", "**/*.hpp"); 45 | _.clang("cppformat/**/format.cc", "**/*.h"); 46 | }); 47 | }); 48 | _.cmd("chmod +x test.x"); 49 | }); 50 | }); 51 | -------------------------------------------------------------------------------- /cpp/cppformat/.gitignore: -------------------------------------------------------------------------------- 1 | /_CPack_Packages 2 | /doc/conf.py 3 | /doc/doxyxml 4 | /doc/html 5 | /Testing 6 | /*-test 7 | /install_manifest.txt 8 | /tinyformat_speed_test 9 | *~ 10 | *.a 11 | *.zip 12 | cmake_install.cmake 13 | CPack*Config.cmake 14 | CTestTestfile.cmake 15 | CMakeCache.txt 16 | CMakeFiles 17 | Makefile 18 | -------------------------------------------------------------------------------- /cpp/cppformat/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "breathe"] 2 | path = breathe 3 | url = git://github.com/vitaut/breathe.git 4 | [submodule "doc/sphinx-bootstrap-theme"] 5 | path = doc/sphinx-bootstrap-theme 6 | url = https://github.com/cppformat/sphinx-bootstrap-theme.git 7 | -------------------------------------------------------------------------------- /cpp/cppformat/.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | 3 | os: 4 | - linux 5 | - osx 6 | 7 | before_install: 8 | - if [ $TRAVIS_OS_NAME == osx ]; then curl http://www.cmake.org/files/v2.8/cmake-2.8.12.2-Darwin64-universal.tar.gz -o cmake.tar.gz; fi 9 | - if [ $TRAVIS_OS_NAME == osx ]; then tar xzf cmake.tar.gz; fi 10 | - if [ $TRAVIS_OS_NAME == osx ]; then export PATH=$PATH:"cmake-2.8.12.2-Darwin64-universal/CMake 2.8-12.app/Contents/bin"; fi 11 | - git submodule update --init 12 | 13 | env: 14 | - BUILD_TYPE=Debug 15 | - BUILD_TYPE=Release 16 | 17 | script: 18 | - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DFMT_EXTRA_TESTS=ON . 19 | - make -j4 20 | - CTEST_OUTPUT_ON_FAILURE=1 make test 21 | 22 | after_failure: 23 | - cat Testing/Temporary/LastTest.log 24 | -------------------------------------------------------------------------------- /cpp/cppformat/appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | CTEST_OUTPUT_ON_FAILURE: 1 3 | matrix: 4 | - Build: msvc 5 | Config: Debug 6 | - Build: msvc 7 | Config: Release 8 | - Build: mingw 9 | Config: Debug 10 | - Build: mingw 11 | Config: Release 12 | 13 | install: 14 | - ps: | 15 | if ($env:Build -eq "mingw") { 16 | # Install MinGW. 17 | $url = "http://sourceforge.net/projects/mingw-w64/files/" 18 | $url += "Toolchains%20targetting%20Win64/Personal%20Builds/" 19 | $url += "mingw-builds/4.9.0/threads-win32/seh/" 20 | $url += "x86_64-4.9.0-release-win32-seh-rt_v3-rev2.7z/download" 21 | Invoke-WebRequest -UserAgent wget -Uri $url -OutFile mingw.7z 22 | &7z x -oC:\ mingw.7z > $null 23 | } 24 | - set PATH=C:\Program Files (x86)\MSBuild\12.0\bin\;%PATH%;C:\mingw64\bin 25 | 26 | before_build: 27 | - ps: | 28 | if ($env:Build -eq "mingw") { 29 | # Remove path to Git bin directory from PATH because it breaks MinGW config. 30 | $env:PATH = $env:PATH -replace "C:\\Program Files \(x86\)\\Git\\bin","" 31 | $generator = "-GMinGW Makefiles" 32 | } 33 | echo "-DCMAKE_BUILD_TYPE=$env:Config" 34 | cmake -DFMT_EXTRA_TESTS=ON "-DCMAKE_BUILD_TYPE=$env:Config" "$generator" . 35 | 36 | build_script: 37 | - ps: | 38 | if ($env:Build -eq "mingw") { 39 | mingw32-make -j4 40 | } else { 41 | msbuild /m:4 /p:Config=$env:Config FORMAT.sln 42 | } 43 | 44 | test_script: 45 | - ps: | 46 | if ($env:Build -eq "mingw") { 47 | mingw32-make test 48 | } else { 49 | msbuild RUN_TESTS.vcxproj 50 | } 51 | 52 | on_failure: 53 | - appveyor PushArtifact Testing/Temporary/LastTest.log 54 | - appveyor AddTest test 55 | -------------------------------------------------------------------------------- /cpp/cppformat/cmake/FindSetEnv.cmake: -------------------------------------------------------------------------------- 1 | # A CMake script to find SetEnv.cmd. 2 | 3 | find_program(WINSDK_SETENV NAMES SetEnv.cmd 4 | PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/bin") 5 | if (WINSDK_SETENV AND PRINT_PATH) 6 | execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${WINSDK_SETENV}") 7 | endif () 8 | -------------------------------------------------------------------------------- /cpp/cppformat/cmake/run-cmake.bat: -------------------------------------------------------------------------------- 1 | @echo on 2 | rem This scripts configures build environment and runs CMake. 3 | rem Use it instead of running CMake directly when building with 4 | rem the Microsoft SDK toolchain rather than Visual Studio. 5 | rem It is used in the same way as cmake, for example: 6 | rem 7 | rem run-cmake -G "Visual Studio 10 Win64" . 8 | 9 | for /F "delims=" %%i IN ('cmake "-DPRINT_PATH=1" -P %~dp0/FindSetEnv.cmake') DO set setenv=%%i 10 | if NOT "%setenv%" == "" call "%setenv%" 11 | cmake %* 12 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_custom_command(OUTPUT html/index.html 2 | COMMAND doxygen 3 | COMMAND rm -rf html 4 | COMMAND sphinx-build -b html . html 5 | DEPENDS ../CMakeLists.txt ../format.h Doxyfile 6 | conf.py index.rst _templates/layout.html) 7 | add_custom_target(doc DEPENDS html/index.html) 8 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/Doxyfile: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = C++ Format 2 | GENERATE_LATEX = NO 3 | GENERATE_MAN = NO 4 | GENERATE_RTF = NO 5 | CASE_SENSE_NAMES = NO 6 | INPUT = ../format.h 7 | QUIET = YES 8 | JAVADOC_AUTOBRIEF = YES 9 | AUTOLINK_SUPPORT = NO 10 | GENERATE_HTML = NO 11 | GENERATE_XML = YES 12 | XML_OUTPUT = doxyxml 13 | ALIASES = "rst=\verbatim embed:rst" 14 | ALIASES += "endrst=\endverbatim" 15 | PREDEFINED = _WIN32=1 \ 16 | FMT_NO_DEPRECATED=1 \ 17 | FMT_USE_VARIADIC_TEMPLATES=1 \ 18 | FMT_USE_RVALUE_REFERENCES=1 19 | EXCLUDE_SYMBOLS = fmt::internal::* BasicArg FormatParser StringValue \ 20 | write_str 21 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/_static/breathe.css: -------------------------------------------------------------------------------- 1 | 2 | /* -- breathe specific styles ----------------------------------------------- */ 3 | 4 | /* So enum value descriptions are displayed inline to the item */ 5 | .breatheenumvalues li tt + p { 6 | display: inline; 7 | } 8 | 9 | /* So parameter descriptions are displayed inline to the item */ 10 | .breatheparameterlist li tt + p { 11 | display: inline; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/_static/cppformat.css: -------------------------------------------------------------------------------- 1 | .class dd, .define dd, .function dd { 2 | margin-left: 30px; 3 | } 4 | 5 | .public-func dd { 6 | margin-left: 0px; 7 | } 8 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | {% block footer %} 4 | {{ super() }} 5 | 6 | 14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/index.rst: -------------------------------------------------------------------------------- 1 | ########## 2 | C++ Format 3 | ########## 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | 8 | usage 9 | reference 10 | syntax 11 | -------------------------------------------------------------------------------- /cpp/cppformat/doc/usage.rst: -------------------------------------------------------------------------------- 1 | .. highlight:: c++ 2 | 3 | ***** 4 | Usage 5 | ***** 6 | 7 | To use the C++ Format library, add ``format.h`` and ``format.cc`` from 8 | a `release archive `_ 9 | or the `Git repository `_ to your project. 10 | 11 | If you are using Visual C++ with precompiled headers, you might need to add 12 | the line 13 | 14 | :: 15 | 16 | #include "stdafx.h" 17 | 18 | before other includes in ``format.cc``. 19 | -------------------------------------------------------------------------------- /cpp/cppformat/test/compile-test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Test if compile errors are produced where necessary. 2 | 3 | cmake_minimum_required(VERSION 2.8) 4 | 5 | include(CheckCXXSourceCompiles) 6 | set(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/../..) 7 | 8 | function (expect_compile_error code) 9 | check_cxx_source_compiles(" 10 | #include \"format.cc\" 11 | #include \"posix.h\" 12 | int main() { 13 | ${code} 14 | } 15 | " compiles) 16 | set (does_compile ${compiles}) 17 | # Unset the CMake cache variable compiles. Otherwise the compile test will 18 | # just use cached information next time it runs. 19 | unset(compiles CACHE) 20 | if (does_compile) 21 | message(FATAL_ERROR "No compile error for: ${code}") 22 | endif () 23 | endfunction () 24 | 25 | # MakeArg doesn't accept [const] volatile char *. 26 | expect_compile_error("volatile char s[] = \"test\"; (fmt::internal::MakeArg)(s);") 27 | expect_compile_error("const volatile char s[] = \"test\"; (fmt::internal::MakeArg)(s);") 28 | 29 | # MakeArg doesn't accept wchar_t. 30 | expect_compile_error("fmt::internal::MakeArg(L'a');") 31 | expect_compile_error("fmt::internal::MakeArg(L\"test\");") 32 | 33 | # Writing a wide character to a character stream Writer is forbidden. 34 | expect_compile_error("fmt::Writer() << L'a';") 35 | expect_compile_error("fmt::Writer() << fmt::pad(\"abc\", 5, L' ');") 36 | expect_compile_error("fmt::Writer() << fmt::pad(42, 5, L' ');") 37 | 38 | # Formatting a wide character with a narrow format string is forbidden. 39 | expect_compile_error("fmt::format(\"{}\", L'a';") 40 | 41 | expect_compile_error("FMT_STATIC_ASSERT(0 > 1, \"oops\");") 42 | -------------------------------------------------------------------------------- /cpp/exportedFunctions.cc: -------------------------------------------------------------------------------- 1 | #include "exportedFunctions.h" 2 | #include "CoreGraphicsHelpers.hpp" 3 | 4 | 5 | #define _c(x) ((x).ToLocalChecked()) 6 | #define __js_new(obj) v8::Local obj = Nan::New() 7 | #define __js_sets(obj, name, value) obj->Set(name, value) 8 | #define __js_setn(obj, name, value) obj->Set(name, value) 9 | 10 | #define __js_argAsInt(i) (info[i]->IntegerValue()) 11 | 12 | 13 | #define __js_string(o) (Nan::New(o)) 14 | #define __js_uint(o) (Nan::New((uint32_t) o)) 15 | #define __js_return(x) (info.GetReturnValue().Set((x))) 16 | #define _s(o) __js_string(string(o)) 17 | #define _i(o) __js_uint(o) 18 | #define _b(pointer, size) (Nan::CopyBuffer(pointer, size)) 19 | 20 | NAN_METHOD(windowList) { 21 | auto ss = _c(__js_string(getWindowListAsJsonString())); 22 | __js_return(ss); 23 | } 24 | 25 | using namespace std; 26 | 27 | NAN_METHOD(getImageBufferResized) { 28 | /* Get parameter */ 29 | auto wid = __js_argAsInt(0); 30 | auto width = __js_argAsInt(1); 31 | auto height = __js_argAsInt(2); 32 | auto wb = getImageAsBufferResized(wid, width, height); 33 | __js_new(x); 34 | __js_sets(x, _c(_s("cols")), _i(wb.cols)); 35 | __js_sets(x, _c(_s("rows")), _i(wb.rows)); 36 | __js_sets(x, _c(_s("buf")), _c(_b(wb.pointer, wb.size))); 37 | 38 | __js_new(d); 39 | 40 | __js_sets(d, _c(_s("borderSizeLeft")), _i(wb.resizeInfo.borderSizeLeft)); 41 | __js_sets(d, _c(_s("borderSizeTop")), _i(wb.resizeInfo.borderSizeTop)); 42 | __js_sets(d, _c(_s("borderSizeRight")), _i(wb.resizeInfo.borderSizeRight)); 43 | __js_sets(d, _c(_s("borderSizeBottom")), _i(wb.resizeInfo.borderSizeBottom)); 44 | __js_sets(d, _c(_s("innerWidth")), _i(wb.resizeInfo.innerWidth)); 45 | __js_sets(d, _c(_s("innerHeight")), _i(wb.resizeInfo.innerHeight)); 46 | 47 | __js_sets(x, _c(_s("resizeInfo")), d); 48 | 49 | __js_return(x); 50 | } 51 | -------------------------------------------------------------------------------- /cpp/exportedFunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef NATIVE_EXTENSION_GRAB_H 2 | #define NATIVE_EXTENSION_GRAB_H 3 | 4 | #include 5 | 6 | // Example top-level functions. These functions demonstrate how to return various js types. 7 | // Implementations are in functions.cc 8 | 9 | NAN_METHOD(windowList); 10 | NAN_METHOD(getImageBufferResized); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /cpp/json11/.gitignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /cpp/json11/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Dropbox, Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /cpp/json11/Makefile: -------------------------------------------------------------------------------- 1 | test: json11.cpp json11.hpp test.cpp 2 | clang++ -O -std=c++11 -stdlib=libc++ json11.cpp test.cpp -o test -fno-rtti -fno-exceptions 3 | -------------------------------------------------------------------------------- /cpp/json11/README.md: -------------------------------------------------------------------------------- 1 | json11 2 | ------ 3 | 4 | json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. 5 | 6 | The core object provided by the library is json11::Json. A Json object represents any JSON 7 | value: null, bool, number (int or double), string (std::string), array (std::vector), or 8 | object (std::map). 9 | 10 | Json objects act like values. They can be assigned, copied, moved, compared for equality or 11 | order, and so on. There are also helper methods Json::dump, to serialize a Json to a string, and 12 | Json::parse (static) to parse a std::string as a Json object. 13 | 14 | It's easy to make a JSON object with C++11's new initializer syntax: 15 | 16 | Json my_json = Json::object { 17 | { "key1", "value1" }, 18 | { "key2", false }, 19 | { "key3", Json::array { 1, 2, 3 } }, 20 | }; 21 | std::string json_str = my_json.dump(); 22 | 23 | There are also implicit constructors that allow standard and user-defined types to be 24 | automatically converted to JSON. For example: 25 | 26 | class Point { 27 | public: 28 | int x; 29 | int y; 30 | Point (int x, int y) : x(x), y(y) {} 31 | Json to_json() const { return Json::array { x, y }; } 32 | }; 33 | 34 | std::vector points = { { 1, 2 }, { 10, 20 }, { 100, 200 } }; 35 | std::string points_json = Json(points).dump(); 36 | 37 | JSON values can have their values queried and inspected: 38 | 39 | Json json = Json::array { Json::object { { "k", "v" } } }; 40 | std::string str = json[0]["k"].string_value(); 41 | 42 | More documentation is still to come. For now, see json11.hpp. 43 | -------------------------------------------------------------------------------- /cpp/memoryTestXcode/Test/Test.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /cpp/memoryTestXcode/Test/Test.xcodeproj/project.xcworkspace/xcshareddata/Test.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 37A619AA-BAE6-4E3B-9397-F62FC3C94D05 9 | IDESourceControlProjectName 10 | Test 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 88672A8D0836C6CEFDF99D2EDD72495CC7A45785 14 | https://github.com/vzaccaria/native-sgrab-helper.git 15 | 16 | IDESourceControlProjectPath 17 | src/cpp/memoryTestXcode/Test/Test.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 88672A8D0836C6CEFDF99D2EDD72495CC7A45785 21 | ../../../../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/vzaccaria/native-sgrab-helper.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 88672A8D0836C6CEFDF99D2EDD72495CC7A45785 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 88672A8D0836C6CEFDF99D2EDD72495CC7A45785 36 | IDESourceControlWCCName 37 | native-sgrab-helper 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /cpp/memoryTestXcode/Test/Test.xcodeproj/project.xcworkspace/xcuserdata/zaccaria.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/cpp/memoryTestXcode/Test/Test.xcodeproj/project.xcworkspace/xcuserdata/zaccaria.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /cpp/memoryTestXcode/Test/Test.xcodeproj/xcuserdata/zaccaria.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Test.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 307374791BC80DD40000538D 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /cpp/nativeSgrabHelper.cpp: -------------------------------------------------------------------------------- 1 | #include "exportedFunctions.h" 2 | 3 | using v8::FunctionTemplate; 4 | 5 | // this represents the top level of the module. 6 | // C++ constructs that are exposed to javascript are exported here 7 | 8 | #define __js_expose_fn(name, function) (Nan::Set(target, Nan::New(name).ToLocalChecked(), Nan::GetFunction(Nan::New(function)).ToLocalChecked())); 9 | 10 | NAN_MODULE_INIT(InitAll) { 11 | __js_expose_fn("windowList", windowList); 12 | __js_expose_fn("getImageBufferResized", getImageBufferResized); 13 | } 14 | 15 | NODE_MODULE(nativeSgrabHelper, InitAll) 16 | -------------------------------------------------------------------------------- /cpp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "babel-cli": "6.24.1", 4 | "diy-build": "1.0.9", 5 | "uid": "^0.0.2" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /cpp/test.cpp: -------------------------------------------------------------------------------- 1 | #include "CoreGraphicsHelpers.hpp" 2 | #include 3 | 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | printf("%s", getWindowListAsJsonString().c_str()); 8 | return 0; 9 | } 10 | -------------------------------------------------------------------------------- /index.make: -------------------------------------------------------------------------------- 1 | # Use this makefile with: make -I(THISDIRECTORY) 2 | 3 | BUILDIR ?= dist 4 | PROCREGEXP ?= 5 | WATCHOBJECT ?= 6 | WATCHTARGET ?= 7 | 8 | #.SILENT: 9 | #.IGNORE: 10 | 11 | 12 | .DEFAULT_GOAL := all 13 | 14 | # Used to create a directory as a prerequisite of a file 15 | .SECONDEXPANSION: 16 | 17 | mirrorinto = $(patsubst %, $1/%, $2) 18 | collapseinto = $(patsubst %, $1/%, $(notdir $2)) 19 | 20 | # Used to create a directory as a prerequisite of a file 21 | %/.f: 22 | mkdir -p $(dir $@) 23 | touch $@ 24 | 25 | clean: 26 | rm -rf $(BUILDIR) 27 | 28 | 29 | .phony: watch 30 | watch: 31 | watchman $(WATCHOBJECT) "make $(WATCHTARGET)" & 32 | 33 | 34 | .PHONY: show-procs 35 | show-procs: 36 | @echo 'Processes in PROCREGEXP = $(PROCREGEXP), WATCHOBJECT = $(WATCHOBJECT)' 37 | @echo ' ' 38 | $(if $(PROCREGEXP), pgrep -l -f $(PROCREGEXP), @echo "PROCREGEXP not set") 39 | $(if $(WATCHOBJECT), pgrep -l -f ".*watchman.*$(WATCHOBJECT)", @echo "WATCHOBJECT not set") 40 | 41 | .PHONY: kill-procs 42 | kill-procs: 43 | @make show-procs 44 | $(if $(PROCREGEXP), pkill -9 -f $(PROCREGEXP), @echo "PROCREGEXP not set") 45 | $(if $(WATCHOBJECT), pkill -9 -f ".*watchman.*$(WATCHOBJECT)", @echo "WATCHOBJECT not set") 46 | 47 | show: show-procs 48 | 49 | stop: kill-procs 50 | 51 | include build.make 52 | -------------------------------------------------------------------------------- /semantic/src/definitions/elements/flag.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Flag 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'element'; 18 | @element : 'flag'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | 23 | /******************************* 24 | Flag 25 | *******************************/ 26 | 27 | i.flag:not(.icon) { 28 | display: inline-block; 29 | 30 | width: @width; 31 | height: @height; 32 | 33 | line-height: @height; 34 | vertical-align: @verticalAlign; 35 | margin: 0em @margin 0em 0em; 36 | 37 | text-decoration: inherit; 38 | 39 | speak: none; 40 | font-smoothing: antialiased; 41 | backface-visibility: hidden; 42 | } 43 | 44 | /* Sprite */ 45 | i.flag:not(.icon):before { 46 | display: inline-block; 47 | content: ''; 48 | background: url(@spritePath) no-repeat 0px 0px; 49 | width: @width; 50 | height: @height; 51 | } 52 | 53 | .loadUIOverrides(); -------------------------------------------------------------------------------- /semantic/src/definitions/globals/reset.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Reset 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | /******************************* 13 | Theme 14 | *******************************/ 15 | 16 | @type : 'global'; 17 | @element : 'reset'; 18 | 19 | @import (multiple) '../../theme.config'; 20 | 21 | /******************************* 22 | Reset 23 | *******************************/ 24 | 25 | /* Border-Box */ 26 | *, 27 | *:before, 28 | *:after { 29 | box-sizing: inherit; 30 | } 31 | html { 32 | box-sizing: border-box; 33 | } 34 | 35 | /* iPad Input Shadows */ 36 | input[type="text"], input[type="email"], input[type="search"], input[type="password"] { 37 | -webkit-appearance: none; 38 | -moz-appearance: none; /* mobile firefox too! */ 39 | } 40 | 41 | .loadUIOverrides(); -------------------------------------------------------------------------------- /semantic/src/definitions/modules/sticky.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Sticky 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'module'; 18 | @element : 'sticky'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | /******************************* 23 | Sticky 24 | *******************************/ 25 | 26 | .ui.sticky { 27 | position: static; 28 | transition: @transition; 29 | z-index: @zIndex; 30 | } 31 | 32 | /******************************* 33 | States 34 | *******************************/ 35 | 36 | /* Bound */ 37 | .ui.sticky.bound { 38 | position: absolute; 39 | left: auto; 40 | right: auto; 41 | } 42 | 43 | /* Fixed */ 44 | .ui.sticky.fixed { 45 | position: fixed; 46 | left: auto; 47 | right: auto; 48 | } 49 | 50 | /* Bound/Fixed Position */ 51 | .ui.sticky.bound.top, 52 | .ui.sticky.fixed.top { 53 | top: 0px; 54 | bottom: auto; 55 | } 56 | .ui.sticky.bound.bottom, 57 | .ui.sticky.fixed.bottom { 58 | top: auto; 59 | bottom: 0px; 60 | } 61 | 62 | 63 | /******************************* 64 | Types 65 | *******************************/ 66 | 67 | .ui.native.sticky { 68 | position: -webkit-sticky; 69 | position: -moz-sticky; 70 | position: -ms-sticky; 71 | position: -o-sticky; 72 | position: sticky; 73 | } 74 | 75 | .loadUIOverrides(); -------------------------------------------------------------------------------- /semantic/src/definitions/modules/transition.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Semantic UI - Transition 3 | * http://github.com/semantic-org/semantic-ui/ 4 | * 5 | * 6 | * Copyright 2015 Contributors 7 | * Released under the MIT license 8 | * http://opensource.org/licenses/MIT 9 | * 10 | */ 11 | 12 | 13 | /******************************* 14 | Theme 15 | *******************************/ 16 | 17 | @type : 'module'; 18 | @element : 'transition'; 19 | 20 | @import (multiple) '../../theme.config'; 21 | 22 | /******************************* 23 | Transitions 24 | *******************************/ 25 | 26 | .transition { 27 | animation-iteration-count: 1; 28 | animation-duration: @transitionDefaultDuration; 29 | animation-timing-function: @transitionDefaultEasing; 30 | animation-fill-mode: @transitionDefaultFill; 31 | } 32 | 33 | /******************************* 34 | States 35 | *******************************/ 36 | 37 | 38 | /* Animating */ 39 | .animating.transition { 40 | backface-visibility: @backfaceVisibility; 41 | visibility: visible !important; 42 | } 43 | 44 | /* Loading */ 45 | .loading.transition { 46 | position: absolute; 47 | top: -99999px; 48 | left: -99999px; 49 | } 50 | 51 | /* Hidden */ 52 | .hidden.transition { 53 | display: none; 54 | visibility: hidden; 55 | } 56 | 57 | /* Visible */ 58 | .visible.transition { 59 | display: block !important; 60 | visibility: visible !important; 61 | /* backface-visibility: @backfaceVisibility; 62 | transform: @use3DAcceleration;*/ 63 | } 64 | 65 | /* Disabled */ 66 | .disabled.transition { 67 | animation-play-state: paused; 68 | } 69 | 70 | /******************************* 71 | Variations 72 | *******************************/ 73 | 74 | .looping.transition { 75 | animation-iteration-count: infinite; 76 | } 77 | 78 | 79 | .loadUIOverrides(); -------------------------------------------------------------------------------- /semantic/src/site/collections/breadcrumb.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/breadcrumb.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/grid.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/message.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/message.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/collections/table.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/button.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/container.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/container.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/divider.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/divider.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/flag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/flag.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Flag Variables 3 | --------------------*/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/header.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/icon.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/image.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/image.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/input.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/input.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/label.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/label.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/list.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/list.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/rail.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/rail.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/reveal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/reveal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/segment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/elements/step.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ -------------------------------------------------------------------------------- /semantic/src/site/modules/accordion.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/accordion.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/chatroom.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/chatroom.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/checkbox.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/checkbox.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/dimmer.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/dimmer.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/dropdown.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/dropdown.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/embed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/embed.variables: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/site/modules/embed.variables -------------------------------------------------------------------------------- /semantic/src/site/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/modal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/nag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/nag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/popup.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/popup.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/rating.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/rating.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/search.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/search.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/shape.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/shape.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/sidebar.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/sidebar.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/sticky.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/sticky.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/tab.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/tab.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/transition.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/modules/transition.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/ad.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/ad.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/comment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/feed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/item.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/item.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/statistic.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/site/views/statistic.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/theme.less: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Import Directives 3 | *******************************/ 4 | 5 | /*------------------ 6 | Theme 7 | -------------------*/ 8 | 9 | @theme: @@element; 10 | 11 | /*-------------------- 12 | Site Variables 13 | ---------------------*/ 14 | 15 | /* Default site.variables */ 16 | @import "@{themesFolder}/default/globals/site.variables"; 17 | 18 | /* Packaged site.variables */ 19 | @import "@{themesFolder}/@{site}/globals/site.variables"; 20 | 21 | /* Component's site.variables */ 22 | @import (optional) "@{themesFolder}/@{theme}/globals/site.variables"; 23 | 24 | /* Site theme site.variables */ 25 | @import (optional) "@{siteFolder}/globals/site.variables"; 26 | 27 | 28 | /*------------------- 29 | Component Variables 30 | ---------------------*/ 31 | 32 | /* Default */ 33 | @import "@{themesFolder}/default/@{type}s/@{element}.variables"; 34 | 35 | /* Packaged Theme */ 36 | @import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.variables"; 37 | 38 | /* Site Theme */ 39 | @import (optional) "@{siteFolder}/@{type}s/@{element}.variables"; 40 | 41 | 42 | /******************************* 43 | Mix-ins 44 | *******************************/ 45 | 46 | /*------------------ 47 | Fonts 48 | -------------------*/ 49 | 50 | .loadFonts() when (@importGoogleFonts) { 51 | @import url('@{googleProtocol}fonts.googleapis.com/css?family=@{googleFontRequest}'); 52 | } 53 | 54 | /*------------------ 55 | Overrides 56 | -------------------*/ 57 | 58 | .loadUIOverrides() { 59 | @import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.overrides"; 60 | @import (optional) "@{siteFolder}/@{type}s/@{element}.overrides"; 61 | } 62 | -------------------------------------------------------------------------------- /semantic/src/themes/amazon/elements/button.overrides: -------------------------------------------------------------------------------- 1 | .ui.button { 2 | background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0); 3 | } 4 | 5 | .ui.primary.button { 6 | color: #111111; 7 | border: 1px solid; 8 | border-color: #C59F43 #AA8326 #957321; 9 | } 10 | .ui.primary.button:hover { 11 | border-color: #C59F43 #AA8326 #957321; 12 | color: #111111; 13 | } 14 | 15 | .ui.secondary.button { 16 | border: 1px solid; 17 | border-color: #3D444C #2F353B #2C3137; 18 | } 19 | .ui.secondary.button:hover { 20 | border-color: #32373E #24282D #212429; 21 | } 22 | 23 | 24 | .ui.labeled.icon.buttons .button > .icon, 25 | .ui.labeled.icon.button > .icon { 26 | padding-bottom: 0.48em; 27 | padding-top: 0.48em; 28 | position: absolute; 29 | text-align: center; 30 | width: 2em; 31 | height: 2em; 32 | top: 0.35em; 33 | left: 0.4em; 34 | border-radius: 3px; 35 | } 36 | .ui.right.labeled.icon.buttons .button > .icon, 37 | .ui.right.labeled.icon.button > .icon { 38 | left: auto; 39 | right: 0.4em; 40 | border-radius: 3px; 41 | } 42 | 43 | .ui.basic.labeled.icon.buttons .button > .icon, 44 | .ui.basic.labeled.icon.button > .icon { 45 | padding-top: 0.4em !important; 46 | } -------------------------------------------------------------------------------- /semantic/src/themes/amazon/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 7 | @textTransform: none; 8 | @textColor: #111111; 9 | @fontWeight: normal; 10 | @transition: 11 | opacity @defaultDuration @defaultEasing, 12 | background-color @defaultDuration @defaultEasing, 13 | color @defaultDuration @defaultEasing, 14 | background @defaultDuration @defaultEasing 15 | ; 16 | 17 | @hoverBackgroundColor: #E0E0E0; 18 | 19 | @borderRadius: 3px; 20 | @verticalPadding: 0.8em; 21 | @horizontalPadding: 1.75em; 22 | 23 | @backgroundColor: #F7F8FA; 24 | @backgroundImage: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)); 25 | @boxShadow: 26 | 0 1px 0 1px rgba(255, 255, 255, 0.3) inset, 27 | 0 0 0 1px #ADB2BB inset 28 | ; 29 | 30 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2)); 31 | @coloredBoxShadow: 32 | 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset 33 | ; 34 | 35 | @downBoxShadow: 36 | 0 0 0 1px #ADB2BB inset, 37 | 0 1px 3px rgba(0, 0, 0, 0.2) inset 38 | ; 39 | 40 | @labeledIconBackgroundColor: #313A43; 41 | @labeledIconColor: #FFFFFF; 42 | @labeledIconBorder: transparent; 43 | 44 | @black: #444C55; 45 | @orange: #F4CC67; 46 | 47 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1)); 48 | @primaryColor: @orange; 49 | @secondaryColor: @black; 50 | 51 | @mini: 10px; 52 | @tiny: 11px; 53 | @small: 12px; 54 | @medium: 13px; 55 | @large: 14px; 56 | @big: 16px; 57 | @huge: 18px; 58 | @massive: 22px; 59 | -------------------------------------------------------------------------------- /semantic/src/themes/amazon/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ 4 | 5 | @pageMinWidth : 1049px; 6 | @pageOverflowX : visible; 7 | 8 | @emSize: 13px; 9 | @fontSize : 13px; 10 | @fontName : 'Arial'; 11 | @importGoogleFonts : false; 12 | 13 | @h1: 2.25em; 14 | 15 | @defaultBorderRadius: 0.30769em; /* 4px @ 13em */ 16 | 17 | @disabledOpacity: 0.3; 18 | 19 | @black: #444C55; 20 | @orange: #FDE07B; 21 | 22 | @linkColor: #0066C0; 23 | @linkHoverColor: #C45500; 24 | @linkHoverUnderline: underline; 25 | 26 | @borderColor: rgba(0, 0, 0, 0.13); 27 | @solidBorderColor: #DDDDDD; 28 | @internalBorderColor: rgba(0, 0, 0, 0.06); 29 | @selectedBorderColor: #51A7E8; 30 | 31 | /* Breakpoints */ 32 | @largeMonitorBreakpoint: 1049px; 33 | @computerBreakpoint: @largeMonitorBreakpoint; 34 | @tabletBreakpoint: @largeMonitorBreakpoint; 35 | 36 | /* Colors */ 37 | @blue: #80A6CD; 38 | @green: #60B044; 39 | @orange: #D26911; 40 | 41 | 42 | @infoBackgroundColor: #E6F1F6; 43 | @infoTextColor: #4E575B; -------------------------------------------------------------------------------- /semantic/src/themes/basic/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/basic/assets/fonts/icons.eot -------------------------------------------------------------------------------- /semantic/src/themes/basic/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/basic/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /semantic/src/themes/basic/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/basic/assets/fonts/icons.woff -------------------------------------------------------------------------------- /semantic/src/themes/basic/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/collections/table.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Table Variables 3 | --------------------*/ 4 | 5 | @headerBackground: @white; 6 | @footerBackground: @white; 7 | 8 | @cellVerticalPadding: 1em; 9 | @cellHorizontalPadding: 1em; 10 | 11 | @stateMarkerWidth: 1px; -------------------------------------------------------------------------------- /semantic/src/themes/basic/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @textTransform: none; 7 | @fontWeight: normal; 8 | @textColor: #333333; 9 | 10 | @primaryColor: #333333; 11 | 12 | @borderRadius: 0.25em; 13 | 14 | @backgroundColor: #EEEEEE; 15 | @backgroundImage: none; 16 | @boxShadow: none; 17 | 18 | @hoverBackgroundColor: #DDDDDD; 19 | @hoverBackgroundImage: none; 20 | @hoverBoxShadow: none; 21 | 22 | @downBackgroundColor: #D0D0D0; 23 | @downBackgroundImage: none; 24 | @downBoxShadow: none; 25 | 26 | @activeBackgroundColor: #CCCCCC; 27 | @activeBackgroundImage: none; 28 | @activeBoxShadow: none; 29 | 30 | @verticalBoxShadow: none; 31 | 32 | @loadingBackgroundColor: #F0F0F0; 33 | 34 | @labeledIconLeftShadow: none; 35 | @labeledIconRightShadow: none; 36 | 37 | @mini: 0.6rem; 38 | @tiny: 0.7rem; 39 | @small: 0.85rem; 40 | @medium: 0.92rem; 41 | @large: 1rem; 42 | @big: 1.125rem; 43 | @huge: 1.25rem; 44 | @massive: 1.3rem; 45 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Icon Variables 3 | --------------------*/ 4 | 5 | @fontPath : "../../themes/basic/assets/fonts"; 6 | 7 | @src: 8 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'), 9 | url("@{fontPath}/@{fontName}.woff") format('woff'), 10 | url("@{fontPath}/@{fontName}.ttf") format('truetype'), 11 | url("@{fontPath}/@{fontName}.svg#icons") format('svg') 12 | ; -------------------------------------------------------------------------------- /semantic/src/themes/basic/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.steps .step:after { 6 | display: none !important; 7 | } 8 | .ui.steps .step { 9 | border-radius: 500px !important; 10 | } -------------------------------------------------------------------------------- /semantic/src/themes/basic/elements/step.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Step Variables 3 | --------------------*/ 4 | 5 | /* Stepss */ 6 | @stepsBorder: none; 7 | @stepsBorderRadius: @circularRadius; 8 | 9 | /* Step */ 10 | @border: none; 11 | @divider: none; 12 | @background: transparent; 13 | @borderRadius: @circularRadius; 14 | @iconDistance: 0.8em; 15 | @arrowDisplay: none; 16 | 17 | @activeBackground: @midWhite; 18 | @activeArrowDisplay: none; 19 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | /* No Additonal Resets */ -------------------------------------------------------------------------------- /semantic/src/themes/basic/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /semantic/src/themes/basic/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | @background: transparent; 6 | @border: none; 7 | @padding: 0em; 8 | 9 | @progressLeft: 0em; 10 | @progressWidth: 100%; 11 | @progressTextAlign: center; 12 | 13 | @labelFontWeight: normal; 14 | @labelTextAlign: left; 15 | @labelHeight: 1.5em; -------------------------------------------------------------------------------- /semantic/src/themes/basic/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/basic/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | @width: 250px; 10 | @background: transparent; 11 | @border: none; 12 | @boxShadow: none; 13 | 14 | @contentPadding: 1em 0em; 15 | 16 | @rowSpacing: 1.5em; 17 | @groupCardMargin: 0em @horizontalSpacing @rowSpacing; 18 | 19 | @extraBackground: transparent; 20 | @extraDivider: none; 21 | @extraBoxShadow: none; 22 | @extraPadding: 0.5em 0em; 23 | 24 | @extraLinkColor: @textColor; 25 | @extraLinkHoverColor: @linkHoverColor; 26 | 27 | @headerFontSize: @relativeLarge; 28 | @headerLinkColor: @textColor; 29 | @headerLinkHoverColor: @linkHoverColor; 30 | 31 | @imageBorderRadius: @borderRadius; 32 | @imageBorder: 1px solid @borderColor; 33 | 34 | @linkHoverBackground: transparent; 35 | @linkHoverBoxShadow: none; -------------------------------------------------------------------------------- /semantic/src/themes/bookish/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Karma); 6 | 7 | h1.ui.header, 8 | .ui.huge.header { 9 | font-weight: bold; 10 | } 11 | 12 | h2.ui.header, 13 | .ui.large.header { 14 | font-weight: bold; 15 | } -------------------------------------------------------------------------------- /semantic/src/themes/bookish/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Karma', 'Times New Roman', serif; 6 | @fontWeight: normal; 7 | 8 | @iconSize: 1.5em; 9 | @iconOffset: 0.2em; 10 | @iconAlignment: top; 11 | 12 | @subHeaderFontSize: 0.85rem; 13 | 14 | @dividedBorder: 1px dotted rgba(0, 0, 0, 0.2); 15 | 16 | /* Block Header */ 17 | @blockVerticalPadding: 1.3em; 18 | @blockHorizontalPadding: 1em; 19 | 20 | /* Attached */ 21 | @attachedBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03)) repeat scroll 0 0 #F8F8F8; 22 | @attachedVerticalPadding: 1.3; 23 | @attachedHorizontalPadding: 1em; 24 | 25 | /* HTML Headings */ 26 | @h1: 1.75rem; 27 | @h2: 1.33rem; 28 | @h3: 1.33rem; 29 | @h4: 1rem; 30 | @h5: 0.9rem; 31 | 32 | /* Sizing */ 33 | @hugeFontSize: 1.75em; 34 | @largeFontSize: 1.33em; 35 | @mediumFontSize: 1.33em; 36 | @smallFontSize: 1em; 37 | @tinyFontSize: 0.9em; -------------------------------------------------------------------------------- /semantic/src/themes/bootstrap3/elements/button.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/bootstrap3/elements/button.overrides -------------------------------------------------------------------------------- /semantic/src/themes/bootstrap3/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 7 | @textTransform: none; 8 | @fontWeight: normal; 9 | @textColor: rgba(51, 51, 51, 1); 10 | 11 | @borderRadius: @4px; 12 | 13 | @lineHeight: 1.42857; 14 | @verticalPadding: 0.8571em; 15 | @horizontalPadding: 0.8571em; 16 | 17 | @backgroundColor: @white; 18 | @backgroundImage: none; 19 | 20 | 21 | @borderBoxShadowColor: rgba(0, 0, 0, 0.14); 22 | 23 | @green: #5CB85C; 24 | @red: #D9534F; 25 | @blue: #337AB7; 26 | @green: #60B044; 27 | @orange: #F0AD4E; 28 | 29 | @primaryColor: @blue; 30 | @secondaryColor: @green; 31 | 32 | @labeledIconBackgroundColor: transparent; 33 | 34 | @basicBorderSize: 0px; 35 | @basicColoredBorderSize: 0px; 36 | @invertedBorderSize: 0px; 37 | 38 | @basicActiveBackground: transparent; 39 | @basicHoverBackground: transparent; 40 | @basicDownBoxShadow: 41 | 0px 0px 0px 1px #ADADAD inset, 42 | 0 3px 5px rgba(0, 0, 0, 0.125) inset 43 | ; 44 | 45 | @groupButtonOffset: 0px 0px 0px -1px; 46 | @verticalGroupOffset: 0px 0px -1px 0px; 47 | 48 | /* States */ 49 | 50 | @hoverBackgroundColor: #E6E6E6; 51 | @hoverBoxShadow: 52 | 0px 0px 0px 1px #ADADAD inset 53 | ; 54 | 55 | @downBackgroundColor: #E6E6E6; 56 | @downBoxShadow: 57 | 0px 0px 0px 1px #ADADAD inset, 58 | 0 3px 5px rgba(0, 0, 0, 0.125) inset 59 | ; 60 | 61 | @activeBackgroundColor: #E6E6E6; 62 | 63 | @disabledOpacity: 0.65; -------------------------------------------------------------------------------- /semantic/src/themes/chubby/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Form Variables 3 | --------------------*/ 4 | 5 | .ui.form .selection.dropdown { 6 | padding: 1.1em 1.2em; 7 | border-width: 2px; 8 | } 9 | .ui.form .selection.dropdown .menu { 10 | min-width: calc(100% + 4px); 11 | margin: 0 -2px; 12 | border-width: 2px; 13 | } 14 | .ui.form .selection.dropdown input { 15 | padding: inherit; 16 | } -------------------------------------------------------------------------------- /semantic/src/themes/chubby/collections/form.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Form Variables 3 | --------------------*/ 4 | 5 | @labelTextTransform: uppercase; 6 | @labelFontSize: 0.8em; 7 | 8 | @inputPadding: 1em 1.2em; 9 | @inputBorder: 2px solid @borderColor; -------------------------------------------------------------------------------- /semantic/src/themes/chubby/collections/menu.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/chubby/collections/menu.overrides -------------------------------------------------------------------------------- /semantic/src/themes/chubby/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @background: @darkWhite; 6 | @boxShadow: none; 7 | @dividerSize: 0px; 8 | 9 | @verticalBoxShadow: 0px 0px 0px 2px @borderColor inset; 10 | @verticalActiveBoxShadow: none; 11 | 12 | @itemVerticalPadding: 1.25em; 13 | @itemHorizontalPadding: 2em; 14 | @itemFontWeight: bold; 15 | 16 | @activeItemBackground: @primaryColor; 17 | @activeItemTextColor: @white; 18 | @activeHoverItemBackground: @primaryColorHover; 19 | @activeHoverItemColor: @white; 20 | 21 | @secondaryItemPadding: @relativeSmall @relativeMedium; 22 | 23 | @secondaryActiveItemBackground: @primaryColor; 24 | @secondaryActiveItemColor: @white; 25 | @secondaryActiveHoverItemBackground: @primaryColorHover; 26 | @secondaryActiveHoverItemColor: @white; 27 | 28 | @secondaryPointingBorderWidth: 4px; 29 | @secondaryPointingActiveBorderColor: @primaryColor; 30 | @secondaryPointingActiveTextColor: @primaryColor; 31 | 32 | @arrowSize: 1em; 33 | @arrowActiveColor: @primaryColor; 34 | @arrowActiveHoverColor: @primaryColorHover; 35 | @arrowBorder: transparent; 36 | 37 | @paginationActiveBackground: @lightGrey; 38 | 39 | @borderColor: @darkWhite; 40 | @tabularBorderWidth: 2px; -------------------------------------------------------------------------------- /semantic/src/themes/chubby/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); 6 | 7 | .ui.labeled.icon.buttons > .button > .icon, 8 | .ui.labeled.icon.button > .icon { 9 | box-shadow: 10 | -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 11 | -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset 12 | ; 13 | } 14 | 15 | .ui.right.labeled.icon.buttons .button .icon, 16 | .ui.right.labeled.icon.button .icon { 17 | box-shadow: 18 | 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 19 | 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset 20 | ; 21 | } -------------------------------------------------------------------------------- /semantic/src/themes/chubby/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Button Variables 3 | --------------------*/ 4 | 5 | /* Button Variables */ 6 | @pageFont: 'Source Sans Pro', Arial, sans-serif; 7 | 8 | @textTransform: none; 9 | @fontWeight: normal; 10 | @textColor: #333333; 11 | 12 | @verticalPadding: 1.1em; 13 | @horizontalPadding: 2.5em; 14 | @invertedBorderSize: 3px; 15 | 16 | @basicBorderRadius: 0.4em; 17 | @basicFontWeight: bold; 18 | @basicTextTransform: uppercase; 19 | 20 | @blue: #4A88CB; 21 | @primaryColor: @blue; 22 | 23 | @borderRadius: 0.25em; 24 | 25 | @backgroundColor: #E6EAED; 26 | @backgroundImage: none; 27 | @boxShadow: none; 28 | 29 | @hoverBackgroundColor: #DDDDDD; 30 | @hoverBackgroundImage: none; 31 | @hoverBoxShadow: none; 32 | 33 | @downBackgroundColor: #D0D0D0; 34 | @downBackgroundImage: none; 35 | @downBoxShadow: none; 36 | 37 | @activeBackgroundColor: #CCCCCC; 38 | @activeBackgroundImage: none; 39 | @activeBoxShadow: none; 40 | 41 | @verticalBoxShadow: none; 42 | 43 | @loadingBackgroundColor: #F0F0F0; 44 | 45 | @compactVerticalPadding: (@verticalPadding * 0.5); 46 | @compactHorizontalPadding: (@horizontalPadding * 0.5); 47 | 48 | @labeledIconBackgroundColor: transparent; 49 | 50 | @mini: 0.7rem; 51 | @tiny: 0.75rem; 52 | @small: 0.8rem; 53 | @medium: 0.92rem; 54 | @large: 1rem; 55 | @big: 1.125rem; 56 | @huge: 1.2rem; 57 | @massive: 1.3rem; 58 | -------------------------------------------------------------------------------- /semantic/src/themes/chubby/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); 6 | -------------------------------------------------------------------------------- /semantic/src/themes/chubby/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Source Sans Pro', Helvetica Neue, Helvetica, Arial, sans-serif; 6 | @fontWeight: bold; 7 | @textTransform: none; 8 | 9 | /* HTML Headings */ 10 | @h1: 1.33rem; 11 | @h2: 1.2rem; 12 | @h3: 1rem; 13 | @h4: 0.9rem; 14 | @h5: 0.8rem; 15 | 16 | /* Sizing */ 17 | @hugeFontSize: 1.33em; 18 | @largeFontSize: 1.2em; 19 | @mediumFontSize: 1em; 20 | @smallFontSize: 0.9em; 21 | @tinyFontSize: 0.8em; -------------------------------------------------------------------------------- /semantic/src/themes/chubby/modules/accordion.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.styled.accordion .accordion .active.title { 6 | border-bottom: 1px solid rgba(0, 0, 0, 0.1); 7 | } -------------------------------------------------------------------------------- /semantic/src/themes/chubby/modules/accordion.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Accordion Variables 3 | --------------------*/ 4 | 5 | @iconMargin: 0em 0.5em 0em 0em; 6 | 7 | @styledActiveTitleBackground: @subtleGradient; 8 | @styledActiveTitleColor: @primaryColor; 9 | 10 | @styledActiveChildTitleBackground: transparent; 11 | 12 | @styledTitlePadding: 1.25em; 13 | @styledTitleFontWeight: bold; 14 | @styledContentPadding: 1.5em 3.25em; 15 | @styledChildContentPadding: @styledContentPadding; -------------------------------------------------------------------------------- /semantic/src/themes/chubby/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.comments .comment { 6 | border-radius: 0.5em; 7 | box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1); 8 | } 9 | .ui.comments .comment .comments .comment { 10 | border: 1px solid rgba(0, 0, 0, 0.1); 11 | box-shadow: none; 12 | } -------------------------------------------------------------------------------- /semantic/src/themes/chubby/views/comment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Comments 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | /* Comment */ 10 | @commentBackground: #FFFFFF; 11 | @commentMargin: 1em 0em 0em; 12 | @commentPadding: 1em 1.5em; 13 | @commentBorder: 1px solid rgba(0, 0, 0, 0.1); 14 | @commentDivider: 1px solid rgba(0, 0, 0, 0.1); 15 | @firstCommentMargin: 1em; 16 | @firstCommentPadding: 1em; 17 | 18 | /* Nested Comment */ 19 | @nestedCommentsMargin: 0em 0em 0.5em 0.5em; 20 | @nestedCommentsPadding: 1em 0em 0em 1em; 21 | @nestedCommentBackground: #F0F0F0; 22 | 23 | /* Avatar */ 24 | @avatarWidth: 3.5em; 25 | @avatarSpacing: 1.5em; 26 | @avatarBorderRadius: @circularRadius; 27 | 28 | /* Content */ 29 | @contentMargin: @avatarWidth + @avatarSpacing; 30 | 31 | /* Author */ 32 | @authorFontSize: 1em; 33 | @authorColor: @primaryColor; 34 | @authorHoverColor: @primaryColorHover; 35 | @authorFontWeight: bold; 36 | 37 | @metadataDisplay: block; 38 | @metadataSpacing: 0em; 39 | @metadataColor: @textColor; 40 | 41 | /*------------------- 42 | Variations 43 | --------------------*/ 44 | 45 | /* Threaded */ 46 | @threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2); 47 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/collections/table.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/collections/table.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Table 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @boxShadow: @subtleGradient; 10 | 11 | @headerBackground: @subtleGradient; 12 | @headerBoxShadow: @subtleShadow; 13 | @footerBoxShadow: 0px -1px 1px 0px rgba(0, 0, 0, 0.05); 14 | @footerBackground: rgba(0, 0, 0, 0.05); 15 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/elements/header.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Button 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @headerFont: 'Open Sans', Arial, sans-serif; 10 | 11 | @blockBackground: @offWhite @subtleGradient; 12 | @blockBoxShadow: @subtleShadow; -------------------------------------------------------------------------------- /semantic/src/themes/classic/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/classic/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | @background: rgba(0, 0, 0, 0.05); 6 | @boxShadow: 0px 0px 4px rgba(0, 0, 0, 0.1) inset; 7 | @barBackground: @subtleGradient #888888; 8 | @border: 1px solid @borderColor; 9 | @padding: @relative3px; -------------------------------------------------------------------------------- /semantic/src/themes/classic/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | /* Shadow */ 10 | @shadowDistance: 0em; 11 | @padding: 0em; 12 | 13 | /*------------------- 14 | Content 15 | --------------------*/ 16 | 17 | /* Additional Content */ 18 | @extraDivider: 1px solid rgba(0, 0, 0, 0.05); 19 | @extraBackground: #FAFAFA @subtleGradient; 20 | @extraPadding: 0.75em 1em; 21 | @extraBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.15); 22 | @extraColor: @lightTextColor; 23 | -------------------------------------------------------------------------------- /semantic/src/themes/colored/modules/checkbox.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/colored/modules/checkbox.overrides -------------------------------------------------------------------------------- /semantic/src/themes/colored/modules/checkbox.variables: -------------------------------------------------------------------------------- 1 | /* Checkbox */ 2 | @checkboxActiveBackground: @primaryColor; 3 | @checkboxActiveBorderColor: @primaryColor; 4 | @checkboxActiveCheckColor: @white; 5 | 6 | @checkboxActiveFocusBackground: @primaryColorFocus; 7 | @checkboxActiveFocusBorderColor: @primaryColorFocus; 8 | @checkboxActiveFocusCheckColor: @white; 9 | 10 | @checkboxTransition: none; 11 | 12 | /* Radio */ 13 | @radioActiveBackground: @white; 14 | @radioActiveBorderColor: @primaryColor; 15 | @radioActiveBulletColor: @primaryColor; 16 | 17 | @radioActiveFocusBackground: @white; 18 | @radioActiveFocusBorderColor: @primaryColorFocus; 19 | @radioActiveFocusBulletColor: @primaryColorFocus; 20 | 21 | /* Slider */ 22 | @sliderOnLineColor: @primaryColor; 23 | @sliderOnFocusLineColor: @primaryColorFocus; 24 | 25 | /* Handle */ 26 | @handleBackground: @white @subtleGradient; 27 | @handleBoxShadow: 28 | 0px 0px 0px 1px @selectedBorderColor inset 29 | ; 30 | -------------------------------------------------------------------------------- /semantic/src/themes/default/assets/fonts/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/assets/fonts/icons.eot -------------------------------------------------------------------------------- /semantic/src/themes/default/assets/fonts/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/assets/fonts/icons.ttf -------------------------------------------------------------------------------- /semantic/src/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /semantic/src/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /semantic/src/themes/default/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/assets/images/flags.png -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/breadcrumb.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/breadcrumb.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Breadcrumb 3 | *******************************/ 4 | 5 | /*------------------- 6 | Breadcrumb 7 | --------------------*/ 8 | 9 | @verticalMargin: 0em; 10 | @display: inline-block; 11 | @verticalAlign: middle; 12 | 13 | @dividerSpacing: @3px; 14 | @dividerOpacity: 0.7; 15 | @dividerColor: @lightTextColor; 16 | 17 | @dividerSize: @relativeSmall; 18 | @dividerVerticalAlign: baseline; 19 | 20 | @iconDividerSize: @relativeTiny; 21 | @iconDividerVerticalAlign: baseline; 22 | 23 | @sectionMargin: 0em; 24 | @sectionPadding: 0em; 25 | 26 | /* Coupling */ 27 | @segmentPadding: @relativeMini @relativeMedium; 28 | 29 | /*------------------- 30 | States 31 | --------------------*/ 32 | 33 | @activeFontWeight: bold; -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/message.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/collections/table.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/default/collections/table.overrides -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/container.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/divider.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Divider 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @margin: 1rem 0rem; 10 | 11 | @highlightWidth: 1px; 12 | @highlightColor: @whiteBorderColor; 13 | 14 | @shadowWidth: 1px; 15 | @shadowColor: @borderColor; 16 | 17 | /* Text */ 18 | @letterSpacing: 0.05em; 19 | @fontWeight: bold; 20 | @color: @darkTextColor; 21 | @textTransform: uppercase; 22 | 23 | /*------------------- 24 | Coupling 25 | --------------------*/ 26 | 27 | /* Icon */ 28 | @dividerIconSize: 1rem; 29 | @dividerIconMargin: 0rem; 30 | 31 | 32 | /******************************* 33 | Variations 34 | *******************************/ 35 | 36 | /* Horizontal / Vertical */ 37 | @horizontalMargin: ''; 38 | @horizontalDividerMargin: 1em; 39 | @horizontalRulerOffset: ~"calc(-50% - "(@horizontalDividerMargin)~")"; 40 | 41 | @verticalDividerMargin: 1rem; 42 | @verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")"; 43 | 44 | /* Inverted */ 45 | @invertedTextColor: @white; 46 | @invertedHighlightColor: rgba(255, 255, 255, 0.15); 47 | @invertedShadowColor: @borderColor; 48 | 49 | /* Section */ 50 | @sectionMargin: 2rem; 51 | 52 | /* Sizes */ 53 | @medium: 1rem; -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/flag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Flag 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @spritePath: "@{imagePath}/flags.png"; 10 | @width: 16px; 11 | @height: 11px; 12 | @verticalAlign: baseline; 13 | @margin: 0.5em; -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/icon.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Icon 3 | *******************************/ 4 | 5 | /*------------------- 6 | Icon Variables 7 | --------------------*/ 8 | 9 | @fontName: 'icons'; 10 | @fallbackSRC: url("@{fontPath}/@{fontName}.eot"); 11 | @src: 12 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'), 13 | url("@{fontPath}/@{fontName}.woff2") format('woff2'), 14 | url("@{fontPath}/@{fontName}.woff") format('woff'), 15 | url("@{fontPath}/@{fontName}.ttf") format('truetype'), 16 | url("@{fontPath}/@{fontName}.svg#icons") format('svg') 17 | ; 18 | 19 | @opacity: 1; 20 | @width: @iconWidth; 21 | @height: 1em; 22 | @distanceFromText: 0.25rem; 23 | 24 | 25 | /* Variations */ 26 | 27 | @linkOpacity: 0.8; 28 | @linkDuration: 0.3s; 29 | @loadingDuration: 2s; 30 | 31 | @circularSize: 2em; 32 | @circularPadding: 0.5em 0.5em; 33 | @circularShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; 34 | 35 | @borderedSize: 2em; 36 | @borderedVerticalPadding: ((@borderedSize - @height) / 2); 37 | @borderedHorizontalPadding: ((@borderedSize - @width) / 2); 38 | @borderedShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; 39 | 40 | @cornerIconSize: 0.45em; 41 | @cornerIconStroke: 1px; 42 | @cornerIconShadow: 43 | -@cornerIconStroke -@cornerIconStroke 0 @white, 44 | @cornerIconStroke -@cornerIconStroke 0 @white, 45 | -@cornerIconStroke @cornerIconStroke 0 @white, 46 | @cornerIconStroke @cornerIconStroke 0 @white 47 | ; 48 | @cornerIconInvertedShadow: 49 | -@cornerIconStroke -@cornerIconStroke 0 @black, 50 | @cornerIconStroke -@cornerIconStroke 0 @black, 51 | -@cornerIconStroke @cornerIconStroke 0 @black, 52 | @cornerIconStroke @cornerIconStroke 0 @black 53 | ; 54 | 55 | @small: @relativeSmall; 56 | @medium: 1em; 57 | @large: 1.5em; 58 | @big: 2em; 59 | @huge: 4em; 60 | @massive: 8em; 61 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/image.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/image.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Image 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @placeholderColor: transparent; 10 | @roundedBorderRadius: 0.3125em; 11 | 12 | @imageHorizontalMargin: 0.25rem; 13 | @imageVerticalMargin: 0.5rem; 14 | @imageBorder: 1px solid rgba(0, 0, 0, 0.1); 15 | 16 | /*------------------- 17 | Types 18 | --------------------*/ 19 | 20 | /* Avatar */ 21 | @avatarSize: 2em; 22 | @avatarMargin: 0.25em; 23 | 24 | 25 | /*------------------- 26 | Variations 27 | --------------------*/ 28 | 29 | /* Spaced */ 30 | @spacedDistance: 0.5em; 31 | 32 | /* Floated */ 33 | @floatedHorizontalMargin: 1em; 34 | @floatedVerticalMargin: 1em; 35 | 36 | /* Size */ 37 | @miniWidth: 35px; 38 | @tinyWidth: 80px; 39 | @smallWidth: 150px; 40 | @mediumWidth: 300px; 41 | @largeWidth: 450px; 42 | @bigWidth: 600px; 43 | @hugeWidth: 800px; 44 | @massiveWidth: 960px; 45 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/input.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/label.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/list.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | /* Some global loader styles defined in site.variables */ 6 | // @loaderSpeed 7 | // @loaderLineWidth 8 | // @loaderFillColor 9 | // @loaderLineColor 10 | // @invertedLoaderFillColor 11 | // @invertedLoaderLineColor 12 | 13 | /*------------------- 14 | Standard 15 | --------------------*/ 16 | 17 | @loaderTopOffset: 50%; 18 | @loaderLeftOffset: 50%; 19 | 20 | @shapeBorderColor: @loaderLineColor transparent transparent; 21 | @invertedShapeBorderColor: @invertedLoaderLineColor transparent transparent; 22 | 23 | /*------------------- 24 | Types 25 | --------------------*/ 26 | 27 | /* Text */ 28 | @textDistance: @relativeMini; 29 | @loaderTextColor: @textColor; 30 | @invertedLoaderTextColor: @invertedTextColor; 31 | 32 | /*------------------- 33 | States 34 | --------------------*/ 35 | 36 | @indeterminateDirection: reverse; 37 | @indeterminateSpeed: (2 * @loaderSpeed); 38 | 39 | /*------------------- 40 | Variations 41 | --------------------*/ 42 | 43 | @inlineVerticalAlign: middle; 44 | @inlineMargin: 0em; 45 | 46 | /* Exact Sizes (Avoids Rounding Errors) */ 47 | @mini: 1.2857em; /* 18px */ 48 | @small: 1.7142em; /* 24px */ 49 | @medium: 2.2585em; /* 32px */ 50 | @large: 4.5714em; /* 64px */ 51 | 52 | @miniOffset: 0em 0em 0em -(@mini / 2); 53 | @smallOffset: 0em 0em 0em -(@small / 2); 54 | @mediumOffset: 0em 0em 0em -(@medium / 2); 55 | @largeOffset: 0em 0em 0em -(@large / 2); 56 | 57 | @miniFontSize: @relativeMini; 58 | @smallFontSize: @relativeSmall; 59 | @mediumFontSize: @relativeMedium; 60 | @largeFontSize: @relativeLarge; -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/rail.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/rail.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Rail 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @width: 300px; 10 | @height: 100%; 11 | 12 | @distance: 4rem; 13 | @splitDistance: (@distance / 2); 14 | 15 | /*------------------- 16 | Variations 17 | --------------------*/ 18 | 19 | /* Close */ 20 | @closeDistance: 2em; 21 | @veryCloseDistance: 1em; 22 | 23 | @splitCloseDistance: (@closeDistance / 2); 24 | @splitVeryCloseDistance: (@veryCloseDistance / 2); 25 | 26 | @closeWidth: @width + @splitCloseDistance; 27 | @veryCloseWidth: @width + @splitVeryCloseDistance; 28 | 29 | /* Dividing */ 30 | @dividingBorder: 1px solid @borderColor; 31 | @dividingDistance: 5rem; 32 | @splitDividingDistance: (@dividingDistance / 2); 33 | @dividingWidth: @width + @splitDividingDistance; 34 | 35 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/reveal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/reveal.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reveal 3 | *******************************/ 4 | 5 | @transitionDelay: 0.1s; 6 | @transitionDuration: 0.5s; 7 | @transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1); 8 | @transition: all @transitionDuration @defaultEasing @transitionDelay; 9 | 10 | @bottomZIndex: 2; 11 | @topZIndex: 3; 12 | @activeZIndex: 4; 13 | 14 | /* Types */ 15 | @rotateDegrees: 110deg; 16 | @moveTransition: transform @transitionDuration @transitionEasing @transitionDelay; 17 | @slideTransition: transform @transitionDuration @defaultEasing @transitionDelay; -------------------------------------------------------------------------------- /semantic/src/themes/default/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /semantic/src/themes/default/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Global Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/chatroom.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/chatroom.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Chatroom 3 | *******************************/ -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/dimmer.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/dimmer.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Dimmer 3 | *******************************/ 4 | 5 | @dimmablePosition: relative; 6 | @dimmerPosition: absolute; 7 | 8 | @backgroundColor: rgba(0, 0, 0 , 0.85); 9 | @lineHeight: 1; 10 | @perspective: 2000px; 11 | 12 | @duration: 0.5s; 13 | @transition: 14 | background-color @duration linear 15 | ; 16 | @zIndex: 1000; 17 | @textAlign: center; 18 | @verticalAlign: middle; 19 | @textColor: @white; 20 | @overflow: hidden; 21 | 22 | @blurredStartFilter: ~"blur(0px) grayscale(0)"; 23 | @blurredEndFilter: ~"blur(5px) grayscale(0.7)"; 24 | @blurredTransition: 800ms filter @defaultEasing; 25 | 26 | @blurredBackgroundColor: rgba(0, 0, 0, 0.6); 27 | @blurredInvertedBackgroundColor: rgba(255, 255, 255, 0.6); 28 | 29 | /* Hidden (Default) */ 30 | @hiddenOpacity: 0; 31 | 32 | /* Content */ 33 | @contentDisplay: table; 34 | @contentChildDisplay: table-cell; 35 | 36 | /* Visible */ 37 | @visibleOpacity: 1; 38 | 39 | /*------------------- 40 | Types 41 | --------------------*/ 42 | 43 | /* Page Dimmer*/ 44 | @transformStyle: ''; 45 | @pageDimmerPosition: fixed; 46 | 47 | 48 | /*------------------- 49 | Variations 50 | --------------------*/ 51 | 52 | /* Inverted */ 53 | @invertedBackgroundColor: rgba(255, 255, 255, 0.85); 54 | @invertedTextColor: @textColor; 55 | 56 | /* Simple */ 57 | @simpleZIndex: 1; 58 | @simpleStartBackgroundColor: rgba(0, 0, 0, 0); 59 | @simpleEndBackgroundColor: @backgroundColor; 60 | @simpleInvertedStartBackgroundColor: rgba(255, 255, 255, 0); 61 | @simpleInvertedEndBackgroundColor: @invertedBackgroundColor; -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/embed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Video Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/embed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Video 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | /* Simple */ 10 | @background: @lightGrey; 11 | @transitionDuration: 0.5s; 12 | @transitionEasing: @defaultEasing; 13 | 14 | /* Placeholder */ 15 | @placeholderUnderlay: @background; 16 | 17 | /* Placeholder Overlayed Background */ 18 | @placeholderBackground: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); 19 | @placeholderBackgroundOpacity: 0.5; 20 | @placeholderBackgroundTransition: opacity @transitionDuration @transitionEasing; 21 | 22 | /* Icon */ 23 | @iconBackground: @veryStrongTransparentBlack; 24 | @iconSize: 6rem; 25 | @iconTransition: 26 | opacity @transitionDuration @transitionEasing, 27 | color @transitionDuration @transitionEasing 28 | ; 29 | @iconColor: @white; 30 | @iconShadow: 31 | 0px 2px 10px rgba(34, 36, 38, 0.2) 32 | ; 33 | @iconZIndex: 10; 34 | 35 | /*------------------- 36 | States 37 | --------------------*/ 38 | 39 | /* Hover */ 40 | @hoverPlaceholderBackground: @placeholderBackground; 41 | @hoverPlaceholderBackgroundOpacity: 1; 42 | @hoverIconColor: @white; 43 | 44 | 45 | /*------------------- 46 | Variations 47 | --------------------*/ 48 | 49 | /* Aspect Ratios */ 50 | @squareRatio: (1/1) * 100%; 51 | @widescreenRatio: (9/16) * 100%; 52 | @ultraWidescreenRatio: (9/21) * 100%; 53 | @standardRatio: (3/4) * 100%; -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/nag.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/nag.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Nag 3 | *******************************/ 4 | 5 | /*-------------- 6 | Collection 7 | ---------------*/ 8 | 9 | @position: relative; 10 | @width: 100%; 11 | @zIndex: 999; 12 | @margin: 0em; 13 | 14 | @background: #555555; 15 | @opacity: 0.95; 16 | @minHeight: 0em; 17 | @padding: 0.75em 1em; 18 | @lineHeight: 1em; 19 | @boxShadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); 20 | 21 | @fontSize: 1rem; 22 | @textAlign: center; 23 | @color: @textColor; 24 | 25 | @transition: 0.2s background ease; 26 | 27 | 28 | /*-------------- 29 | Elements 30 | ---------------*/ 31 | 32 | /* Title */ 33 | @titleColor: @white; 34 | @titleMargin: 0em 0.5em; 35 | 36 | @closeSize: 1em; 37 | @closeMargin: (-@closeSize / 2) 0em 0em; 38 | @closeTop: 50%; 39 | @closeRight: 1em; 40 | @closeColor: @white; 41 | @closeTransition: opacity 0.2s ease; 42 | @closeOpacity: 0.4; 43 | 44 | 45 | /*-------------- 46 | States 47 | ---------------*/ 48 | 49 | /* Hover */ 50 | @nagHoverBackground: @background; 51 | @nagHoverOpacity: 1; 52 | 53 | @closeHoverOpacity: 1; 54 | 55 | /*-------------- 56 | Variations 57 | ---------------*/ 58 | 59 | /* Top / Bottom */ 60 | @top: 0em; 61 | @bottom: 0em; 62 | @borderRadius: @defaultBorderRadius; 63 | @topBorderRadius: 0em 0em @borderRadius @borderRadius; 64 | @bottomBorderRadius: @borderRadius @borderRadius 0em 0em; 65 | 66 | /* Inverted */ 67 | @invertedBackground: @darkWhite; 68 | 69 | /*-------------- 70 | Plural 71 | ---------------*/ 72 | 73 | @groupedBorderRadius: 0em; 74 | 75 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/popup.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/search.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/shape.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/shape.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Shape 3 | *******************************/ 4 | 5 | @display: inline-block; 6 | 7 | /* Animating */ 8 | @perspective: 2000px; 9 | 10 | @duration: 0.6s; 11 | @easing: ease-in-out; 12 | 13 | @hiddenSideOpacity: 0.6; 14 | @animatingZIndex: 100; 15 | 16 | @transition: 17 | transform @duration @easing, 18 | left @duration @easing, 19 | width @duration @easing, 20 | height @duration @easing 21 | ; 22 | @sideTransition: opacity @duration @easing; 23 | @backfaceVisibility: hidden; 24 | 25 | /* Side */ 26 | @sideMargin: 0em; 27 | 28 | /*-------------- 29 | Types 30 | ---------------*/ 31 | 32 | /* Cube */ 33 | @cubeSize: 15em; 34 | @cubeBackground: #E6E6E6; 35 | @cubePadding: 2em; 36 | @cubeTextColor: @textColor; 37 | @cubeBoxShadow: 0px 0px 2px rgba(0, 0, 0, 0.3); 38 | 39 | @cubeTextAlign: center; 40 | @cubeFontSize: 2em; 41 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/sidebar.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/sidebar.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Sidebar 3 | *******************************/ 4 | 5 | /*------------------- 6 | Content 7 | --------------------*/ 8 | 9 | /* Animation */ 10 | @perspective: 1500px; 11 | @duration: 500ms; 12 | @easing: @defaultEasing; 13 | 14 | /* Dimmer */ 15 | @dimmerColor: rgba(0, 0, 0, 0.4); 16 | @dimmerTransition: opacity @duration; 17 | 18 | /* Color below page */ 19 | @canvasBackground: @lightBlack; 20 | 21 | /* Shadow */ 22 | @boxShadow: 0px 0px 20px @borderColor; 23 | @horizontalBoxShadow: @boxShadow; 24 | @verticalBoxShadow: @boxShadow; 25 | 26 | /* Layering */ 27 | @bottomLayer: 1; 28 | @middleLayer: 2; 29 | @fixedLayer: 101; 30 | @topLayer: 102; 31 | @dimmerLayer: 1000; 32 | 33 | /*------------------- 34 | Variations 35 | --------------------*/ 36 | 37 | /* Width */ 38 | @veryThinWidth: 60px; 39 | @thinWidth: 150px; 40 | @width: 260px; 41 | @wideWidth: 350px; 42 | @veryWideWidth: 475px; 43 | 44 | /* Height */ 45 | @height: 36px; 46 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/sticky.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/sticky.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Sticky 3 | *******************************/ 4 | 5 | @transsssitionDuration: @defaultDuration; 6 | @transition: none; 7 | @zIndex: 800; -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/tab.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Tab Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/tab.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Tab 3 | *******************************/ 4 | 5 | /* Loading */ 6 | @loadingMinHeight: 250px; 7 | @loadingContentPosition: relative; 8 | @loadingContentOffset: -10000px; 9 | 10 | @loaderDistanceFromTop: 100px; 11 | @loaderSize: 2.5em; -------------------------------------------------------------------------------- /semantic/src/themes/default/modules/transition.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Transition 3 | *******************************/ 4 | 5 | @transitionDefaultEasing: @defaultEasing; 6 | @transitionDefaultFill: both; 7 | @transitionDefaultDuration: 300ms; 8 | 9 | @use3DAcceleration: translateZ(0); 10 | @backfaceVisibility: hidden; -------------------------------------------------------------------------------- /semantic/src/themes/default/views/ad.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/views/ad.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Advertisement 3 | *******************************/ 4 | 5 | @margin: 1em 0em; 6 | @overflow: hidden; 7 | 8 | @testBackground: @lightBlack; 9 | @testColor: @white; 10 | @testFontWeight: bold; 11 | @testText: 'Ad'; 12 | @testFontSize: @relativeMedium; 13 | @testMobileFontSize: @relativeTiny; -------------------------------------------------------------------------------- /semantic/src/themes/default/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/views/comment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/views/item.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/default/views/statistic.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/duo/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/duo/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | @shapeBorderColor: @primaryColor @primaryColor @secondaryColor @secondaryColor; 6 | @invertedShapeBorderColor: @lightPrimaryColor @lightPrimaryColor @lightSecondaryColor @lightSecondaryColor; -------------------------------------------------------------------------------- /semantic/src/themes/fixed-width/collections/grid.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/fixed-width/collections/grid.variables: -------------------------------------------------------------------------------- 1 | /* Fixed Page Grid */ 2 | 3 | @mobileWidth: auto; 4 | @mobileMargin: 0em; 5 | @mobileGutter: 0em; 6 | 7 | @tabletWidth: auto; 8 | @tabletMargin: 0em; 9 | @tabletGutter: 8%; 10 | 11 | @computerWidth: 960px; 12 | @computerMargin: auto; 13 | @computerGutter: 0; 14 | 15 | @largeMonitorWidth: 1180px; 16 | @largeMonitorMargin: auto; 17 | @largeMonitorGutter: 0; 18 | 19 | @widescreenMonitorWidth: 1300px; 20 | @widescreenMargin: auto; 21 | @widescreenMonitorGutter: 0; 22 | 23 | @tableWidth: ''; -------------------------------------------------------------------------------- /semantic/src/themes/fixed-width/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/fixed-width/modules/modal.variables: -------------------------------------------------------------------------------- 1 | 2 | /* Responsive Widths */ 3 | @modalComputerWidth: 700px; 4 | @modalLargeMonitorWidth: 800px; 5 | @modalWidescreenMonitorWidth: 850px; 6 | 7 | @modalComputerMargin: 0em 0em 0em -(@modalComputerWidth / 2); 8 | @modalLargeMonitorMargin: 0em 0em 0em -(@modalLargeMonitorWidth / 2); 9 | @modalWidescreenMonitorMargin: 0em 0em 0em -(@modalWidescreenMonitorWidth / 2); 10 | 11 | 12 | /*------------------- 13 | Variations 14 | --------------------*/ 15 | 16 | /* Sizes */ 17 | @modalSmallRatio: 0.6; 18 | @modalLargeRatio: 1.2; 19 | 20 | /* Derived Responsive Sizes */ 21 | @modalSmallHeaderSize: 1.3em; 22 | @modalSmallComputerWidth: (@modalComputerWidth * @modalSmallRatio); 23 | @modalSmallLargeMonitorWidth: (@modalLargeMonitorWidth * @modalSmallRatio); 24 | @modalSmallWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalSmallRatio); 25 | 26 | @modalSmallComputerMargin: 0em 0em 0em -(@modalSmallComputerWidth / 2); 27 | @modalSmallLargeMonitorMargin: 0em 0em 0em -(@modalSmallLargeMonitorWidth / 2); 28 | @modalSmallWidescreenMonitorMargin: 0em 0em 0em -(@modalSmallWidescreenMonitorWidth / 2); 29 | 30 | @modalLargeHeaderSize: 1.3em; 31 | @modalLargeComputerWidth: (@modalComputerWidth * @modalLargeRatio); 32 | @modalLargeLargeMonitorWidth: (@modalLargeMonitorWidth * @modalLargeRatio); 33 | @modalLargeWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalLargeRatio); 34 | 35 | @modalLargeComputerMargin: 0em 0em 0em -(@modalLargeComputerWidth / 2); 36 | @modalLargeLargeMonitorMargin: 0em 0em 0em -(@modalLargeLargeMonitorWidth / 2); 37 | @modalLargeWidescreenMonitorMargin: 0em 0em 0em -(@modalLargeWidescreenMonitorWidth / 2); -------------------------------------------------------------------------------- /semantic/src/themes/flat/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.form input[type="text"], 6 | .ui.form input[type="email"], 7 | .ui.form input[type="date"], 8 | .ui.form input[type="password"], 9 | .ui.form input[type="number"], 10 | .ui.form input[type="url"], 11 | .ui.form input[type="tel"] { 12 | border-bottom: 1px solid #DDDDDD; 13 | } 14 | 15 | .ui.form .selection.dropdown { 16 | border: none; 17 | box-shadow: none !important; 18 | border-bottom: 1px solid #DDDDDD; 19 | border-radius: 0em !important; 20 | } 21 | .ui.form .selection.dropdown > .menu { 22 | border-top-width: 1px !important; 23 | border-radius: @defaultBorderRadius !important; 24 | } 25 | 26 | .ui.form .ui.icon.input > .icon { 27 | width: 1em; 28 | } -------------------------------------------------------------------------------- /semantic/src/themes/flat/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Form 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | 10 | /* Text */ 11 | @paragraphMargin: 1em 0em; 12 | 13 | /* Field */ 14 | @fieldMargin: 0em 0em 1em; 15 | 16 | /* Form Label */ 17 | @labelFontSize: @relative11px; 18 | @labelTextTransform: uppercase; 19 | 20 | @groupedLabelTextTransform: none; 21 | 22 | /* Input */ 23 | @inputHorizontalPadding: 0.5em; 24 | @inputBackground: transparent; 25 | @inputBorder: none; 26 | @inputBorderRadius: 0em; 27 | @inputBoxShadow: none; 28 | 29 | @textAreaPadding: 1em; 30 | @textAreaBackground: transparent; 31 | @textAreaFocusBackground: #EEEEEE; 32 | @textAreaBorder: 1px solid #DDDDDD; 33 | 34 | /* Divider */ 35 | @dividerMargin: 1em 0em; 36 | 37 | /* Validation Prompt */ 38 | @validationMargin: 0em 0em 0em 1em; 39 | @validationArrowOffset: -0.3em; 40 | 41 | /*------------------- 42 | States 43 | --------------------*/ 44 | 45 | /* Disabled */ 46 | 47 | /* Focus */ 48 | @inputFocusPointerSize: 0px; 49 | @inputErrorPointerSize: 0px; 50 | 51 | /* Dropdown Error */ 52 | @dropdownErrorHoverBackground: #FFF2F2; 53 | @dropdownErrorActiveBackground: #FDCFCF; 54 | 55 | /* Focused Error */ 56 | @inputErrorFocusBackground: @negativeBackgroundColor; 57 | @inputErrorFocusColor: @negativeColorHover; 58 | @inputErrorFocusBorder: @negativeBorderColor; 59 | @inputErrorFocusBoxShadow: @inputErrorPointerSize 0em 0em 0em @negativeColorHover inset; 60 | 61 | /* Placeholder */ 62 | @inputPlaceholderColor: lighten(@inputColor, 55); 63 | @inputPlaceholderFocusColor: lighten(@inputColor, 35); 64 | @inputErrorPlaceholderColor: lighten(@formErrorColor, 10); 65 | @inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 5); 66 | 67 | /* Loading */ 68 | @formLoaderDimmerColor: rgba(255, 255, 255, 0.6); 69 | @formLoaderPath: "@{imagePath}/loader-large.gif"; 70 | @formLoaderPosition: 50% 50%; 71 | 72 | /* (x) Wide Field */ 73 | @gutterWidth: 1.5em; 74 | -------------------------------------------------------------------------------- /semantic/src/themes/flat/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/github/assets/fonts/octicons-local.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/github/assets/fonts/octicons-local.ttf -------------------------------------------------------------------------------- /semantic/src/themes/github/assets/fonts/octicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/github/assets/fonts/octicons.ttf -------------------------------------------------------------------------------- /semantic/src/themes/github/assets/fonts/octicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/github/assets/fonts/octicons.woff -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/breadcrumb.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | 5 | @dividerOpacity: 1; 6 | @dividerSpacing: 0; 7 | @dividerSize: @big; 8 | @dividerColor: inherit; 9 | 10 | @huge: 1.5384em; 11 | 12 | -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/form.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.selection.dropdown { 6 | background-color: #FAFAFA; 7 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; 8 | border-color: #CCCCCC; 9 | } 10 | 11 | .ui.selection.dropdown:focus { 12 | box-shadow: 13 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset, 14 | 0px 0px 5px rgba(81, 167, 232, 0.5) 15 | ; 16 | } -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/form.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Form 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | @inputBackground: #FAFAFA; 10 | @inputBorder: 1px solid #CCCCCC; 11 | @inputBoxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; 12 | @inputBorderRadius: 3px; 13 | 14 | @labelFontWeight: bold; 15 | @labelDistance: 6px; 16 | 17 | /*------------------- 18 | States 19 | --------------------*/ 20 | 21 | @inputFocusBackground: #FFFFFF; 22 | @inputFocusBoxShadow: 23 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset, 24 | 0px 0px 5px rgba(81, 167, 232, 0.5) 25 | ; 26 | @inputFocusBorderColor: #51A7E8; 27 | @inputFocusBorderRadius: @inputBorderRadius; 28 | 29 | /*------------------- 30 | Types 31 | --------------------*/ 32 | 33 | 34 | /*------------------- 35 | Variations 36 | --------------------*/ 37 | 38 | /*------------------- 39 | Groups 40 | --------------------*/ 41 | -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/grid.variables: -------------------------------------------------------------------------------- 1 | 2 | @gutterWidth: 1.538rem; -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.menu .item > .label { 6 | box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; 7 | } -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Collection 3 | --------------------*/ 4 | 5 | @itemVerticalPadding: 1em; 6 | @itemHorizontalPadding: 1.25em; 7 | 8 | @background: #FFFFFF linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.05)); 9 | @fontWeight: normal; 10 | 11 | @activeBorderSize: 0em; 12 | 13 | @hoverBackground: rgba(0, 0, 0, 0.02); 14 | @downBackground: rgba(0, 0, 0, 0.06); 15 | 16 | @activeBackground: rgba(0, 0, 0, 0.04); 17 | @activeHoverBackground: rgba(0, 0, 0, 0.04); 18 | 19 | 20 | @headerBackground: rgba(0, 0, 0, 0.08); 21 | 22 | @subMenuMargin: 0.5em -0.6em 0; 23 | @subMenuHorizontalPadding: 0.7em; 24 | 25 | @arrowHoverColor: #EEEEEE; 26 | @arrowActiveColor: #EEEEEE; 27 | @arrowVerticalHoverColor: #F4F4F4; 28 | @arrowVerticalActiveColor: #F4F4F4; 29 | 30 | @dividerBackground: #E8E8E8; 31 | @verticalDividerBackground: #E8E8E8; 32 | 33 | /*------------------- 34 | Elements 35 | --------------------*/ 36 | 37 | @buttonOffset: -0.15em; 38 | @buttonVerticalPadding: 0.75em; 39 | 40 | /*------------------- 41 | Types 42 | --------------------*/ 43 | 44 | @paginationMinWidth: 3.5em; 45 | 46 | @tieredActiveItemBackground: #F5F5F5; 47 | @tieredActiveMenuBackground: #F5F5F5; 48 | 49 | /*------------------- 50 | Variations 51 | --------------------*/ 52 | 53 | @verticalBackground: #FFFFFF; 54 | @verticalItemBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02)); 55 | 56 | @invertedBackground: @black linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.0)); 57 | @invertedBoxShadow : 58 | 0px 1px 2px 0px rgba(0, 0, 0, 0.15), 59 | 0px 0px 0px 1px rgba(255, 255, 255, 0.15) 60 | ; 61 | @secondaryVerticalPadding: 0.75em; -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/message.overrides: -------------------------------------------------------------------------------- 1 | .ui.info.message { 2 | background: linear-gradient(#D8EBF8, #D0E3EF); 3 | } 4 | .ui.error.message { 5 | background: linear-gradient(#F8D8D8, #EFD0D0); 6 | } 7 | .ui.warning.message { 8 | background: linear-gradient(#FFE3C8, #F5DAC0); 9 | } 10 | .ui.success.message { 11 | } 12 | -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/message.variables: -------------------------------------------------------------------------------- 1 | @background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.05)) #FEFEFE; 2 | @boxShadow: 3 | 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset, 4 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset 5 | ; 6 | @verticalPadding: 15px; 7 | @horizontalPadding: 15px; 8 | 9 | @headerFontSize: 1.15em; 10 | 11 | @infoTextColor: #264C72; 12 | @warningTextColor: #613A00; 13 | @errorTextColor: #991111; 14 | 15 | @floatingBoxShadow: 16 | 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, 17 | 0px 2px 3px 0px rgba(0, 0, 0, 0.1), 18 | 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset 19 | ; 20 | 21 | @infoBorderColor: #97C1DA; 22 | @errorBorderColor: #DA9797; 23 | @warningBorderColor: #DCA874; 24 | 25 | @small: 12px; 26 | @medium: 13px; 27 | @large: 14px; 28 | @huge: 16px; 29 | @massive: 18px; 30 | -------------------------------------------------------------------------------- /semantic/src/themes/github/collections/table.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | @background: #F8F8F8; 6 | 7 | @cellVerticalPadding: @relative6px; 8 | @cellHorizontalPadding: @relative8px; -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/header.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Header 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @iconMargin: @4px; 10 | -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/icon.variables: -------------------------------------------------------------------------------- 1 | @fontPath: '../../themes/github/assets/fonts'; 2 | @fontName: 'octicons'; 3 | @fallbackSRC: ''; 4 | 5 | @width: 1em; 6 | @height: 1em; 7 | 8 | @small: 13px; 9 | @medium: 16px; 10 | @large: 18px; 11 | @big : 20px; 12 | @huge: 28px; 13 | @massive: 32px; -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/image.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | @miniWidth: 20px; -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/input.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Input 3 | *******************************/ 4 | 5 | /* Labeled Input has padding */ 6 | .ui.labeled.input { 7 | background-color: @white; 8 | border: @borderWidth solid @borderColor; 9 | border-radius: @borderRadius !important; 10 | } 11 | .ui.labeled.input input { 12 | box-shadow: none !important; 13 | border: none !important; 14 | } 15 | .ui.labeled.input .label { 16 | font-weight: normal; 17 | align-self: center; 18 | font-size: 12px; 19 | margin: @2px; 20 | border-radius: @borderRadius !important; 21 | padding: @relative5px @relative8px !important; 22 | } 23 | 24 | /* GitHub Uses Focus Group with class name added */ 25 | .ui.labeled.input.focused { 26 | border-color: @focusBorderColor; 27 | box-shadow: @focusBoxShadow; 28 | } 29 | .ui.labeled.input.focused .label { 30 | background-color: #E1EAF5; 31 | color: #4078C0; 32 | } -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/input.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Input 3 | *******************************/ 4 | 5 | @boxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; 6 | 7 | @verticalPadding: @relative7px; 8 | @horizontalPadding: @relative8px; 9 | 10 | @borderColor: #CCCCCC; 11 | 12 | @focusBorderColor: #51A7E8; 13 | @focusBoxShadow: 14 | 0 1px 2px rgba(0, 0, 0, 0.075) inset, 15 | 0 0 5px rgba(81, 167, 232, 0.5) 16 | ; -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/label.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Overrides 3 | *******************************/ 4 | 5 | /* Notification Label on GitHub */ 6 | .ui.floating.blue.label { 7 | border: 2px solid #f3f3f3 !important; 8 | background-image: linear-gradient(#7aa1d3, #4078c0) !important; 9 | } -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/label.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/segment.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/segment.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Standard 3 | *******************************/ 4 | 5 | /*------------------- 6 | Segment 7 | --------------------*/ 8 | 9 | @segmentBorderWidth: 1px; 10 | @border: 1px solid #D8DEE2; 11 | @boxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); 12 | 13 | @verticalPadding: 20px; 14 | @horizontalPadding: 20px; 15 | 16 | @borderRadius: 4px; 17 | 18 | /******************************* 19 | Variations 20 | *******************************/ 21 | 22 | 23 | /* Raised */ 24 | @raisedBoxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); 25 | 26 | /* Colors */ 27 | @coloredBorderSize: 0.5em; 28 | 29 | /* Ordinality */ 30 | @secondaryBackground: #F9F9F9; 31 | @secondaryColor: @textColor; 32 | 33 | @tertiaryBackground: #F0F0F0; 34 | @tertiaryColor: @textColor; 35 | 36 | @secondaryInvertedBackground: #555555; 37 | @secondaryInvertedColor: @textColor; 38 | 39 | @tertiaryInvertedBackground: #333333; 40 | @tertiaryInvertedColor: @textColor; 41 | -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/step.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.steps .step:after { 6 | display: none; 7 | } 8 | .ui.steps .completed.step:before { 9 | opacity: 0.5; 10 | } 11 | 12 | .ui.steps .step.active:after { 13 | display: block; 14 | border: none; 15 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 16 | border-left: 1px solid rgba(0, 0, 0, 0.2); 17 | } 18 | .ui.vertical.steps .step.active:after { 19 | display: block; 20 | border: none; 21 | top: 50%; 22 | right: 0%; 23 | border-left: none; 24 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 25 | border-right: 1px solid rgba(0, 0, 0, 0.2); 26 | } -------------------------------------------------------------------------------- /semantic/src/themes/github/elements/step.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Step Variables 3 | --------------------*/ 4 | 5 | /* Step */ 6 | @background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.07)); 7 | @verticalPadding: 1em; 8 | 9 | @arrowDisplay: none; 10 | @lastArrowDisplay: none; 11 | @activeArrowDisplay: block; 12 | @activeLastArrowDisplay: block; 13 | 14 | /* Group */ 15 | @stepsBackground: #FFFFFF; 16 | @stepsBoxShadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.15); 17 | 18 | /* States */ 19 | @activeBackground: #FFFFFF; 20 | @activeIconColor: @darkTextColor; 21 | 22 | /* Arrow */ 23 | @arrowTopOffset: 100%; 24 | @arrowRightOffset: 50%; 25 | @arrowBorderColor: rgba(0, 0, 0, 0.2); 26 | @arrowBorderWidth: 0px 0px @borderWidth @borderWidth; 27 | -------------------------------------------------------------------------------- /semantic/src/themes/github/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Global Variables 3 | *******************************/ 4 | 5 | @pageMinWidth : 1049px; 6 | @pageOverflowX : visible; 7 | 8 | @emSize: 13px; 9 | @fontSize : 13px; 10 | @fontName : 'Arial'; 11 | @importGoogleFonts : false; 12 | 13 | @h1: 2.25em; 14 | 15 | @defaultBorderRadius: 0.2307em; 16 | 17 | @disabledOpacity: 0.3; 18 | 19 | /* Colors */ 20 | @blue: #80A6CD; 21 | @green: #78CB5B; 22 | @orange: #D26911; 23 | @black: #333333; 24 | @primaryColor: @green; 25 | @secondaryColor: @black; 26 | 27 | /* Links */ 28 | @linkColor: #4078C0; 29 | @linkHoverColor: @linkColor; 30 | @linkHoverUnderline: underline; 31 | 32 | /* Borders */ 33 | @borderColor: rgba(0, 0, 0, 0.13); 34 | @solidBorderColor: #DDDDDD; 35 | @internalBorderColor: rgba(0, 0, 0, 0.06); 36 | @selectedBorderColor: #51A7E8; 37 | 38 | /* Breakpoints */ 39 | @largeMonitorBreakpoint: 1049px; 40 | @computerBreakpoint: @largeMonitorBreakpoint; 41 | @tabletBreakpoint: @largeMonitorBreakpoint; 42 | 43 | @infoBackgroundColor: #E6F1F6; 44 | 45 | @infoTextColor: #4E575B; 46 | @warningTextColor: #613A00; 47 | @errorTextColor: #991111; -------------------------------------------------------------------------------- /semantic/src/themes/github/modules/dropdown.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | @transition: 6 | width @defaultDuration @defaultEasing 7 | ; 8 | 9 | @menuPadding: 0px; 10 | 11 | @itemVerticalPadding: @relative8px; 12 | @itemHorizontalPadding: @relative14px; 13 | 14 | @dropdownIconMargin: 0em 0em 0em 2px; 15 | 16 | @raisedBoxShadow: 0px 3px 12px rgba(0, 0, 0, 0.15); 17 | 18 | @menuPadding: @relative5px 0px; 19 | 20 | @menuHeaderMargin: 0em; 21 | @menuHeaderPadding: @relative6px @itemHorizontalPadding; 22 | @menuHeaderFontSize: @relative12px; 23 | @menuHeaderTextTransform: none; 24 | @menuHeaderFontWeight: normal; 25 | @menuHeaderColor: #767676; 26 | 27 | @menuDividerMargin: @relative8px 0em; 28 | 29 | @disabledOpacity: 0.6; 30 | 31 | /* States */ 32 | @hoveredItemBackground: #4078C0; 33 | @hoveredItemColor: @white; 34 | 35 | @pointingArrowSize: @relative9px; 36 | -------------------------------------------------------------------------------- /semantic/src/themes/github/modules/popup.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Popup 3 | *******************************/ 4 | 5 | 6 | @small: @relative10px; 7 | @medium: @relative11px; 8 | @large: @relative13px; 9 | 10 | @verticalPadding: @relative7px; 11 | @horizontalPadding: @relative11px; 12 | 13 | -------------------------------------------------------------------------------- /semantic/src/themes/gmail/collections/message.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/gmail/collections/message.overrides -------------------------------------------------------------------------------- /semantic/src/themes/gmail/collections/message.variables: -------------------------------------------------------------------------------- 1 | @background: #F3F3F3; 2 | 3 | @boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; 4 | @borderRadius: 4px; 5 | @verticalPadding: 7px; 6 | @horizontalPadding: 15px; 7 | 8 | @headerFontSize: 1em; 9 | 10 | @floatingBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2); 11 | 12 | @iconSize: 1.5em; 13 | @iconDistance: 1em; 14 | 15 | @warningBackgroundColor: #F9EDBE; 16 | -------------------------------------------------------------------------------- /semantic/src/themes/instagram/views/card.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | 6 | @import url(http://fonts.googleapis.com/css?family=Montserrat:700,400); 7 | 8 | .ui.cards > .card, 9 | .ui.card { 10 | font-family: 'Montserrat'; 11 | font-size-adjust: 0.5; 12 | } -------------------------------------------------------------------------------- /semantic/src/themes/instagram/views/card.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Card 3 | *******************************/ 4 | 5 | /*------------------- 6 | View 7 | --------------------*/ 8 | 9 | @borderBoxShadow: none; 10 | @shadowBoxShadow: none; 11 | @boxShadow: none; 12 | 13 | 14 | @internalBorderColor: #EDEDEE; 15 | @border: 1px solid #EDEDEE; 16 | 17 | @contentPadding: 14px 20px; 18 | 19 | @metaColor: #A5A7AA; 20 | 21 | @linkHoverRaiseDistance: 0px; 22 | @linkHoverBoxShadow: none; 23 | @linkHoverBorder: 1px solid #D0D0D8; -------------------------------------------------------------------------------- /semantic/src/themes/material/collections/menu.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | -------------------------------------------------------------------------------- /semantic/src/themes/material/collections/menu.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @fontFamily: 'Roboto', Arial, sans-serif; 6 | @boxShadow: 0px 1px 6px rgba(0, 0, 0, 0.2); 7 | @dividerSize: 0px; 8 | 9 | @itemVerticalPadding: @relativeLarge; 10 | @itemHorizontaPadding: @relativeLarge; -------------------------------------------------------------------------------- /semantic/src/themes/material/elements/button.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | 3 | .ui.primary.button:hover { 4 | box-shadow: 5 | 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset, 6 | 0px 2px 3px 0px rgba(0, 0, 0, 0.35) !important 7 | ; 8 | } 9 | 10 | .ui.secondary.button:hover { 11 | box-shadow: 12 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset, 13 | 0px 2px 3px 0px rgba(0, 0, 0, 0.3) !important 14 | ; 15 | } -------------------------------------------------------------------------------- /semantic/src/themes/material/elements/header.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | @import url(http://fonts.googleapis.com/css?family=Roboto); 6 | 7 | h1.ui.header, 8 | .ui.huge.header { 9 | font-weight: normal; 10 | } 11 | 12 | h2.ui.header, 13 | .ui.large.header { 14 | font-weight: normal; 15 | } -------------------------------------------------------------------------------- /semantic/src/themes/material/elements/header.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Header 3 | --------------------*/ 4 | 5 | @headerFont : 'Roboto', Arial, sans-serif; 6 | @fontWeight: normal; 7 | 8 | @iconSize: 2em; 9 | @iconOffset: 0.2em; 10 | @iconAlignment: top; 11 | 12 | @subHeaderFontSize: 1rem; 13 | 14 | 15 | /* HTML Headings */ 16 | @h1 : 2.25rem; 17 | @h2 : 2rem; 18 | @h3 : 1.75rem; 19 | @h4 : 1.5rem; 20 | @h5 : 1.25rem; 21 | 22 | -------------------------------------------------------------------------------- /semantic/src/themes/material/globals/site.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/material/globals/site.overrides -------------------------------------------------------------------------------- /semantic/src/themes/material/modules/dropdown.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto:400,700); 2 | 3 | .ui.dropdown { 4 | font-family: 'Roboto'; 5 | } -------------------------------------------------------------------------------- /semantic/src/themes/material/modules/dropdown.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Menu 3 | *******************************/ 4 | 5 | @menuBorderRadius: @borderRadius; 6 | @menuBorderColor: #DADADA; 7 | @menuBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2); 8 | 9 | @menuPadding: @relative8px 0em; 10 | @itemVerticalPadding: 1em; 11 | @itemHorizontalPadding: 1.5em; 12 | 13 | @menuHeaderFontSize: @small; 14 | @menuHeaderFontWeight: bold; 15 | @menuHeaderTextTransform: none; 16 | 17 | @selectionBorderEmWidth: 0em; 18 | @selectionItemDivider: none; 19 | 20 | @labelBoxShadow: none; -------------------------------------------------------------------------------- /semantic/src/themes/material/modules/modal.overrides: -------------------------------------------------------------------------------- 1 | @import url(http://fonts.googleapis.com/css?family=Roboto); 2 | 3 | .ui.modal .header { 4 | font-family: "Roboto", Arial, Sans-serif !important; 5 | font-weight: 400 !important; 6 | } -------------------------------------------------------------------------------- /semantic/src/themes/material/modules/modal.variables: -------------------------------------------------------------------------------- 1 | @boxShadow: 0px 10px 18px rgba(0, 0, 0, 0.22); 2 | @borderRadius: 0em; 3 | 4 | 5 | @headerBackground: @white; 6 | @headerVerticalPadding: 1.7142rem; 7 | @headerHorizontalPadding: 1.7142rem; 8 | @headerFontWeight: 400; 9 | @headerFontFamily: 'Roboto', "Helvetica Neue", Arial, sans-serif; 10 | @headerBorder: none; 11 | 12 | @contentPadding: 1rem 2rem 2rem; 13 | 14 | @actionBorder: none; 15 | @actionBackground: @white; -------------------------------------------------------------------------------- /semantic/src/themes/pulsar/elements/loader.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Theme Overrides 3 | *******************************/ 4 | 5 | .ui.loader:after { 6 | -webkit-animation: loader-pulsar 2s infinite linear; 7 | animation: loader-pulsar 2s infinite linear; 8 | } 9 | 10 | @-webkit-keyframes loader-pulsar { 11 | 0% { 12 | -webkit-transform: rotate(0deg); 13 | transform: rotate(0deg); 14 | opacity: 0; 15 | } 16 | 20% { 17 | -webkit-transform: rotate(360deg); 18 | transform: rotate(360deg); 19 | } 20 | 40% { 21 | -webkit-transform: rotate(740deg); 22 | transform: rotate(740deg); 23 | opacity: 1; 24 | } 25 | 60% { 26 | -webkit-transform: rotate(1120deg); 27 | transform: rotate(1120deg); 28 | opacity: 1; 29 | } 30 | 80% { 31 | -webkit-transform: rotate(1440deg); 32 | transform: rotate(1440deg); 33 | } 34 | 100% { 35 | -webkit-transform: rotate(1800deg); 36 | transform: rotate(1800deg); 37 | opacity: 0; 38 | } 39 | } 40 | 41 | @keyframes loader-pulsar { 42 | 0% { 43 | -webkit-transform: rotate(0deg); 44 | transform: rotate(0deg); 45 | opacity: 0; 46 | } 47 | 20% { 48 | -webkit-transform: rotate(360deg); 49 | transform: rotate(360deg); 50 | } 51 | 40% { 52 | -webkit-transform: rotate(740deg); 53 | transform: rotate(740deg); 54 | opacity: 1; 55 | } 56 | 60% { 57 | -webkit-transform: rotate(1120deg); 58 | transform: rotate(1120deg); 59 | opacity: 1; 60 | } 61 | 80% { 62 | -webkit-transform: rotate(1440deg); 63 | transform: rotate(1440deg); 64 | } 65 | 100% { 66 | -webkit-transform: rotate(1800deg); 67 | transform: rotate(1800deg); 68 | opacity: 0; 69 | } 70 | } -------------------------------------------------------------------------------- /semantic/src/themes/pulsar/elements/loader.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Loader 3 | *******************************/ 4 | 5 | @loaderSpeed: 2s; 6 | @loaderLineColor: @primaryColor; 7 | @invertedLoaderLineColor: @lightPrimaryColor; 8 | -------------------------------------------------------------------------------- /semantic/src/themes/raised/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/raised/elements/button.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Button 3 | *******************************/ 4 | 5 | /*------------------- 6 | Element 7 | --------------------*/ 8 | 9 | @backgroundColor: #F8F8F8; 10 | @backgroundImage: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); 11 | @verticalAlign: middle; 12 | @borderRadius: 0.4em; 13 | @borderBoxShadowColor: @borderColor; 14 | 15 | /* Shadow */ 16 | @shadowDistance: 0.3em; 17 | @verticalPadding: 1em; 18 | @horizontalPadding: 2em; 19 | 20 | /* transition box shadow as well */ 21 | @transition: 22 | opacity @defaultDuration @defaultEasing, 23 | background-color @defaultDuration @defaultEasing, 24 | box-shadow @defaultDuration @defaultEasing, 25 | color @defaultDuration @defaultEasing, 26 | background @defaultDuration @defaultEasing 27 | ; -------------------------------------------------------------------------------- /semantic/src/themes/resetcss/globals/reset.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | /** 6 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) 7 | * http://cssreset.com 8 | */ 9 | 10 | html, body, div, span, applet, object, iframe, 11 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 12 | a, abbr, acronym, address, big, cite, code, 13 | del, dfn, em, img, ins, kbd, q, s, samp, 14 | small, strike, strong, sub, sup, tt, var, 15 | b, u, i, center, 16 | dl, dt, dd, ol, ul, li, 17 | fieldset, form, label, legend, 18 | table, caption, tbody, tfoot, thead, tr, th, td, 19 | article, aside, canvas, details, embed, 20 | figure, figcaption, footer, header, hgroup, 21 | menu, nav, output, ruby, section, summary, 22 | time, mark, audio, video { 23 | margin: 0; 24 | padding: 0; 25 | border: 0; 26 | font-size: 100%; 27 | font: inherit; 28 | vertical-align: baseline; 29 | } 30 | /* HTML5 display-role reset for older browsers */ 31 | article, aside, details, figcaption, figure, 32 | footer, header, hgroup, menu, nav, section { 33 | display: block; 34 | } 35 | body { 36 | line-height: 1; 37 | } 38 | ol, ul { 39 | list-style: none; 40 | } 41 | blockquote, q { 42 | quotes: none; 43 | } 44 | blockquote:before, blockquote:after, 45 | q:before, q:after { 46 | content: ''; 47 | content: none; 48 | } 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /semantic/src/themes/resetcss/globals/reset.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Reset 3 | *******************************/ -------------------------------------------------------------------------------- /semantic/src/themes/round/elements/button.overrides: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vzaccaria/teasy/90e76ead73b56b94677ba4138dd0921b4dc4369e/semantic/src/themes/round/elements/button.overrides -------------------------------------------------------------------------------- /semantic/src/themes/rtl/globals/site.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Global Overrides 3 | *******************************/ 4 | 5 | /* Import Droid Arabic Kufi */ 6 | @import 'http://fonts.googleapis.com/earlyaccess/droidarabickufi.css'; 7 | -------------------------------------------------------------------------------- /semantic/src/themes/rtl/globals/site.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Site Settings 3 | *******************************/ 4 | 5 | /*------------------- 6 | Fonts 7 | --------------------*/ 8 | 9 | @googleFontName : 'Droid Sans'; 10 | 11 | /* Kufi imported in site.overrides */ 12 | @headerFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif; 13 | @pageFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif; 14 | 15 | -------------------------------------------------------------------------------- /semantic/src/themes/striped/modules/progress.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | 5 | .ui.progress .bar { 6 | background-size: 30px 30px; 7 | background-image: 8 | linear-gradient( 9 | 135deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, 10 | transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%, 11 | transparent 75%, transparent 12 | ) 13 | ; 14 | } 15 | 16 | .ui.progress.active .bar:after { 17 | animation: none; 18 | } 19 | .ui.progress.active .bar { 20 | animation: progress-striped 3s linear infinite; 21 | } 22 | @keyframes progress-striped { 23 | 0% { 24 | background-position: 0px 0; 25 | } 26 | 100% { 27 | background-position: 60px 0; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /semantic/src/themes/striped/modules/progress.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Progress 3 | *******************************/ 4 | -------------------------------------------------------------------------------- /semantic/src/themes/timeline/views/feed.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | User Variable Overrides 3 | *******************************/ 4 | 5 | .ui.feed > .event .label { 6 | border-left: 3px solid #DDDDDD; 7 | } 8 | .ui.feed > .event:last-child .label { 9 | border-left-color: transparent; 10 | } 11 | 12 | .ui.feed > .event > .label { 13 | margin-left: 1.6em; 14 | } 15 | 16 | .ui.feed > .event > .label > img, 17 | .ui.feed > .event > .label > .icon { 18 | background-color: #009FDA; 19 | border-radius: 500rem; 20 | color: #FFFFFF; 21 | width: 3rem; 22 | height: 3rem; 23 | line-height: 1.5; 24 | left: -1.6rem; 25 | opacity: 1; 26 | position: relative; 27 | } 28 | -------------------------------------------------------------------------------- /semantic/src/themes/timeline/views/feed.variables: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Feed 3 | *******************************/ 4 | 5 | /*------------------- 6 | Elements 7 | --------------------*/ 8 | 9 | @eventMargin: 0em; 10 | @eventDivider: none; 11 | @eventPadding: 0em; 12 | 13 | /* Event Label */ 14 | @labelWidth: 3em; 15 | @labelHeight: auto; 16 | 17 | @labeledContentMargin: 0.75em 0em 2em 0.75em; 18 | 19 | /* Icon */ 20 | @iconLabelBackground: @primaryColor; 21 | @iconLabelBorderRadius: @circularRadius; 22 | @iconLabelColor: @white; 23 | 24 | /* Metadata Group */ 25 | @metadataDisplay: inline-block; 26 | @metadataMargin: 1em 0em 0em; 27 | @metadataBackground: @white @subtleGradient; 28 | @metadataBorder: 1px solid @solidBorderColor; 29 | @metadataBorderRadius: 0.25em; 30 | @metadataBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.05); 31 | @metadataPadding: 0.5em 1em; 32 | @metadataColor: rgba(0, 0, 0, 0.6); 33 | 34 | /*------------------- 35 | Variations 36 | --------------------*/ 37 | -------------------------------------------------------------------------------- /semantic/src/themes/twitter/elements/button.overrides: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Overrides 3 | *******************************/ 4 | 5 | .ui.primary.button { 6 | box-shadow: 7 | 0px 0px 0px 1px #3B88C3 inset, 8 | 0 2px 0 rgba(255, 255, 255, 0.15) inset 9 | ; 10 | } 11 | .ui.primary.button > .icon { 12 | color: #FFFFFF; 13 | } 14 | -------------------------------------------------------------------------------- /semantic/src/themes/twitter/elements/button.variables: -------------------------------------------------------------------------------- 1 | /*------------------- 2 | Global Variables 3 | --------------------*/ 4 | 5 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; 6 | @textColor: #66757F; 7 | @blue: #55ACEE; 8 | 9 | /*------------------- 10 | Button Variables 11 | --------------------*/ 12 | 13 | @backgroundColor: #F5F8FA; 14 | @backgroundImage: linear-gradient(@white, @backgroundColor); 15 | @color: #66757F; 16 | @borderBoxShadowColor: #E1E8ED; 17 | 18 | @textTransform: none; 19 | @fontWeight: bold; 20 | @textColor: #333333; 21 | 22 | @horizontalPadding: 1.284em; 23 | @verticalPadding: 0.8571em; 24 | 25 | @activeBackgroundColor: rgba(0, 0, 0, 0.1); 26 | 27 | @primaryColor: @blue; 28 | @coloredBackgroundImage: @subtleGradient; 29 | 30 | 31 | /*------------------- 32 | States 33 | --------------------*/ 34 | 35 | @hoverBackgroundColor: #E1E8ED; 36 | @hoverBackgroundImage: linear-gradient(@white, @hoverBackgroundColor); 37 | @hoverColor: #292F33; 38 | 39 | @downBackgroundColor: #E1E8ED; 40 | @downColor: #292F33; 41 | @downPressedShadow: 0px 1px 4px rgba(0, 0, 0, 0.2) inset; 42 | 43 | @labeledIconBackgroundColor: rgba(85, 172, 238, 0.05); 44 | @labeledIconBorder: rgba(0, 0, 0, 0.1); 45 | -------------------------------------------------------------------------------- /semantic/tasks/README.md: -------------------------------------------------------------------------------- 1 | ## Tasks 2 | 3 | * Watch - Compile only changed files from source 4 | * Build - Build all files from source 5 | * Version - Output version number 6 | * Install - Run Installer to Set-up Paths 7 | 8 | ## How to use 9 | 10 | These tasks can be imported into your own gulpfile allowing you to avoid using Semantic's build tools 11 | 12 | ```javascript 13 | var 14 | watch = require('path/to/semantic/tasks/watch') 15 | ; 16 | gulp.task('watch ui', watch); 17 | ``` 18 | -------------------------------------------------------------------------------- /semantic/tasks/admin/publish.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release All 3 | *******************************/ 4 | 5 | /* 6 | This task update all SUI individual component repos with new versions of components 7 | 8 | * Commits changes from create components to GitHub and Tags 9 | 10 | */ 11 | 12 | var 13 | runSequence = require('run-sequence') 14 | ; 15 | 16 | /* Release All */ 17 | module.exports = function(callback) { 18 | 19 | runSequence( 20 | 'update distributions', // commit less/css versions to github 21 | 'update components', // commit components to github 22 | callback 23 | ); 24 | 25 | }; -------------------------------------------------------------------------------- /semantic/tasks/admin/register.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Register PM 3 | *******************************/ 4 | 5 | /* 6 | Task to register component repos with Package Managers 7 | * Registers component with bower 8 | * Registers component with NPM 9 | */ 10 | 11 | var 12 | // node dependencies 13 | process = require('child_process'), 14 | 15 | // config 16 | release = require('../config/admin/release'), 17 | 18 | // register components and distributions 19 | repos = release.distributions.concat(release.components), 20 | total = repos.length, 21 | index = -1, 22 | 23 | stream, 24 | stepRepo 25 | ; 26 | 27 | module.exports = function(callback) { 28 | 29 | console.log('Registering repos with package managers'); 30 | 31 | // Do Git commands synchronously per component, to avoid issues 32 | stepRepo = function() { 33 | index = index + 1; 34 | if(index >= total) { 35 | callback(); 36 | return; 37 | } 38 | var 39 | repo = repos[index].toLowerCase(), 40 | outputDirectory = release.outputRoot + repo + '/', 41 | exec = process.exec, 42 | execSettings = {cwd: outputDirectory}, 43 | updateNPM = 'npm publish' 44 | ; 45 | 46 | /* Register with NPM */ 47 | exec(updateNPM, execSettings, function(err, stdout, stderr) { 48 | console.log(err, stdout, stderr); 49 | stepRepo(); 50 | }); 51 | 52 | }; 53 | stepRepo(); 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /semantic/tasks/admin/release.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release 3 | *******************************/ 4 | 5 | /* 6 | This task update all SUI individual component repos with new versions of components 7 | 8 | * Initializes repositories with current versions 9 | * Creates local files at ../distributions/ with each repo for release 10 | 11 | */ 12 | 13 | var 14 | runSequence = require('run-sequence') 15 | ; 16 | 17 | /* Release All */ 18 | module.exports = function(callback) { 19 | 20 | runSequence( 21 | //'build', // build Semantic 22 | 'init distributions', // sync with current github version 23 | 'create distributions', // update each repo with changes from master repo 24 | 'init components', // sync with current github version 25 | 'create components', // update each repo 26 | callback 27 | ); 28 | 29 | }; -------------------------------------------------------------------------------- /semantic/tasks/build.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Build Task 3 | *******************************/ 4 | 5 | var 6 | // dependencies 7 | gulp = require('gulp-help')(require('gulp')), 8 | runSequence = require('run-sequence'), 9 | 10 | // config 11 | config = require('./config/user'), 12 | install = require('./config/project/install'), 13 | 14 | // task sequence 15 | tasks = [] 16 | ; 17 | 18 | 19 | // sub-tasks 20 | if(config.rtl) { 21 | require('./collections/rtl')(gulp); 22 | } 23 | require('./collections/build')(gulp); 24 | 25 | 26 | module.exports = function(callback) { 27 | 28 | console.info('Building Semantic'); 29 | 30 | if( !install.isSetup() ) { 31 | console.error('Cannot find semantic.json. Run "gulp install" to set-up Semantic'); 32 | return; 33 | } 34 | 35 | // check for right-to-left (RTL) language 36 | if(config.rtl === true || config.rtl === 'Yes') { 37 | gulp.start('build-rtl'); 38 | return; 39 | } 40 | 41 | if(config.rtl == 'both') { 42 | tasks.push('build-rtl'); 43 | } 44 | 45 | tasks.push('build-javascript'); 46 | tasks.push('build-css'); 47 | tasks.push('build-assets'); 48 | 49 | runSequence(tasks, callback); 50 | }; 51 | -------------------------------------------------------------------------------- /semantic/tasks/check-install.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Check Install 3 | *******************************/ 4 | 5 | var 6 | // node dependencies 7 | gulp = require('gulp'), 8 | fs = require('fs'), 9 | console = require('better-console'), 10 | install = require('./config/project/install') 11 | ; 12 | 13 | // export task 14 | module.exports = function() { 15 | 16 | setTimeout(function() { 17 | if( !install.isSetup() ) { 18 | console.log('Starting install...'); 19 | gulp.start('install'); 20 | return; 21 | } 22 | else { 23 | gulp.start('watch'); 24 | } 25 | }, 50); // Delay to allow console.clear to remove messages from check event 26 | 27 | 28 | }; -------------------------------------------------------------------------------- /semantic/tasks/clean.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Clean Task 3 | *******************************/ 4 | 5 | var 6 | del = require('del'), 7 | config = require('./config/user'), 8 | tasks = require('./config/tasks') 9 | ; 10 | 11 | // cleans distribution files 12 | module.exports = function(callback) { 13 | return del([config.paths.clean], tasks.settings.del, callback); 14 | }; -------------------------------------------------------------------------------- /semantic/tasks/collections/README.md: -------------------------------------------------------------------------------- 1 | ## How to use 2 | 3 | These are collections of tasks that are imported together. 4 | 5 | To import them into gulp: 6 | ```javascript 7 | var 8 | gulp = require('gulp'), 9 | // modified to point to semantic folder 10 | install = require('tasks/collections/install') 11 | ; 12 | gulp = install(gulp); 13 | 14 | // tasks are now injected and ready to be used 15 | gulp.start('install'); 16 | ``` -------------------------------------------------------------------------------- /semantic/tasks/collections/admin.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Admin Task Collection 3 | *******************************/ 4 | 5 | /* 6 | This are tasks to be run by project maintainers 7 | - Creating Component Repos 8 | - Syncing with GitHub via APIs 9 | - Modifying package files 10 | */ 11 | 12 | /******************************* 13 | Tasks 14 | *******************************/ 15 | 16 | 17 | module.exports = function(gulp) { 18 | var 19 | // less/css distributions 20 | initComponents = require('../admin/components/init'), 21 | createComponents = require('../admin/components/create'), 22 | updateComponents = require('../admin/components/update'), 23 | 24 | // single component releases 25 | initDistributions = require('../admin/distributions/init'), 26 | createDistributions = require('../admin/distributions/create'), 27 | updateDistributions = require('../admin/distributions/update'), 28 | 29 | release = require('../admin/release'), 30 | publish = require('../admin/publish'), 31 | register = require('../admin/register') 32 | ; 33 | 34 | /* Release */ 35 | gulp.task('init distributions', 'Grabs each component from GitHub', initDistributions); 36 | gulp.task('create distributions', 'Updates files in each repo', createDistributions); 37 | gulp.task('init components', 'Grabs each component from GitHub', initComponents); 38 | gulp.task('create components', 'Updates files in each repo', createComponents); 39 | 40 | /* Publish */ 41 | gulp.task('update distributions', 'Commits component updates from create to GitHub', updateDistributions); 42 | gulp.task('update components', 'Commits component updates from create to GitHub', updateComponents); 43 | 44 | /* Tasks */ 45 | gulp.task('release', 'Stages changes in GitHub repos for all distributions', release); 46 | gulp.task('publish', 'Publishes all releases (components, package)', publish); 47 | gulp.task('register', 'Registers all packages with NPM', register); 48 | 49 | }; -------------------------------------------------------------------------------- /semantic/tasks/collections/build.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Define Sub-Tasks 3 | *******************************/ 4 | 5 | module.exports = function(gulp) { 6 | 7 | var 8 | // build sub-tasks 9 | buildJS = require('./../build/javascript'), 10 | buildCSS = require('./../build/css'), 11 | buildAssets = require('./../build/assets') 12 | ; 13 | 14 | // in case these tasks are undefined during import, less make sure these are available in scope 15 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS); 16 | gulp.task('build-css', 'Builds all css from source', buildCSS); 17 | gulp.task('build-assets', 'Copies all assets from source', buildAssets); 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /semantic/tasks/collections/rtl.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Define Sub-Tasks 3 | *******************************/ 4 | 5 | module.exports = function(gulp) { 6 | 7 | var 8 | // rtl 9 | buildRTL = require('./../rtl/build'), 10 | watchRTL = require('./../rtl/watch') 11 | ; 12 | 13 | gulp.task('watch-rtl', 'Build all files as RTL', watchRTL); 14 | gulp.task('build-rtl', 'Watch files as RTL ', buildRTL); 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/github.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | GitHub Login 3 | *******************************/ 4 | /* 5 | Logs into GitHub using OAuth 6 | */ 7 | 8 | var 9 | fs = require('fs'), 10 | path = require('path'), 11 | githubAPI = require('github'), 12 | 13 | // stores oauth info for GitHub API 14 | oAuthConfig = path.join(__dirname, 'oauth.js'), 15 | oAuth = fs.existsSync(oAuthConfig) 16 | ? require(oAuthConfig) 17 | : false, 18 | github 19 | ; 20 | 21 | if(!oAuth) { 22 | console.log('here'); 23 | console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js'); 24 | } 25 | 26 | github = new githubAPI({ 27 | version : '3.0.0', 28 | debug : true, 29 | protocol : 'https', 30 | timeout : 5000 31 | }); 32 | 33 | github.authenticate({ 34 | type: 'oauth', 35 | token: oAuth.token 36 | }); 37 | 38 | module.exports = github; -------------------------------------------------------------------------------- /semantic/tasks/config/admin/oauth.example.js: -------------------------------------------------------------------------------- 1 | /* 2 | Used to import GitHub Auth Token 3 | To Automate GitHub Updates 4 | */ 5 | 6 | module.exports = { 7 | token : 'AN-OAUTH2-TOKEN', 8 | name : 'Your Name', 9 | email : 'user@email.com' 10 | }; -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/README.md: -------------------------------------------------------------------------------- 1 | # Semantic {Component} 2 | 3 | This repository contains pre-compiled {component} files using the default themes. This is intended for use in projects that do not need all the bells and whistles of Semantic UI, and want to keep file size to a minimum. 4 | 5 | For the latest changes please see the [Release Notes](https://github.com/Semantic-Org/UI-{Component}/blob/master/RELEASE-NOTES.md) 6 | 7 | **Special Note** 8 | An update in `2.0.8` has fixed an issue which may have prevented some single component modules from working correctly. Please see notes in [this pull request](https://github.com/Semantic-Org/Semantic-UI/pull/2816). 9 | 10 | If you're looking for the full version of Semantic including all components and build tools [check out the main project repository](https://github.com/Semantic-Org/Semantic-UI/tree/1.0) 11 | 12 | #### To install with Bower 13 | ``` 14 | bower install semantic-ui-{component} 15 | ``` 16 | 17 | #### To install with NPM 18 | ``` 19 | npm install semantic-ui-{component} 20 | ``` 21 | 22 | #### To install with Meteor 23 | ``` 24 | meteor add semantic:ui-{component} 25 | ``` 26 | 27 | 28 | ## Addendum 29 | 30 | This element's definitions (required class names, html structures) are available in the [UI Docs](http://www.semantic-ui.com) 31 | 32 | Please consider checking out [all the benefits to theming](http://www.learnsemantic.com/guide/expert.html) before using these stand-alone releases. 33 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Component", 3 | "description" : "Component distribution", 4 | "homepage" : "http://www.semantic-ui.com", 5 | "author": { 6 | "name" : "Jack Lukic", 7 | "web" : "http://www.jacklukic.com" 8 | }, 9 | "ignore": [ 10 | "./index.js" 11 | ], 12 | "keywords": [ 13 | "semantic", 14 | "ui", 15 | "css3", 16 | "framework" 17 | ], 18 | "license" : [ 19 | "http://semantic-ui.mit-license.org/" 20 | ], 21 | "ignore": [ 22 | "docs", 23 | "node", 24 | "server", 25 | "spec", 26 | "src", 27 | "test" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/component-package.js: -------------------------------------------------------------------------------- 1 | 2 | Package.describe({ 3 | name : 'semantic:ui-{component}', 4 | summary : 'Semantic UI - {Component}: Single component release', 5 | version : '{version}', 6 | git : 'git://github.com/Semantic-Org/UI-{Component}.git', 7 | }); 8 | 9 | Package.onUse(function(api) { 10 | api.versionsFrom('1.0'); 11 | api.addFiles([ 12 | {files} 13 | ], 'client'); 14 | }); 15 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "semantic/ui", 3 | "description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.", 4 | "homepage" : "http://www.semantic-ui.com", 5 | "authors": [ 6 | { 7 | "name" : "Jack Lukic", 8 | "email": "jacklukic@gmail.com", 9 | "web" : "http://www.jacklukic.com", 10 | "role" : "Creator" 11 | } 12 | ], 13 | "keywords": [ 14 | "semantic", 15 | "ui", 16 | "css", 17 | "framework" 18 | ], 19 | "license" : "MIT" 20 | } -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/css-package.js: -------------------------------------------------------------------------------- 1 | var 2 | where = 'client' // Adds files only to the client 3 | ; 4 | 5 | Package.describe({ 6 | name : 'semantic:ui-css', 7 | summary : 'Semantic UI - CSS Release of Semantic UI', 8 | version : '{version}', 9 | git : 'git://github.com/Semantic-Org/Semantic-UI-CSS.git', 10 | }); 11 | 12 | Package.onUse(function(api) { 13 | 14 | api.versionsFrom('1.0'); 15 | 16 | api.use('jquery', 'client'); 17 | 18 | api.addFiles([ 19 | // icons 20 | 'themes/default/assets/fonts/icons.eot', 21 | 'themes/default/assets/fonts/icons.svg', 22 | 'themes/default/assets/fonts/icons.ttf', 23 | 'themes/default/assets/fonts/icons.woff', 24 | 'themes/default/assets/fonts/icons.woff2', 25 | 26 | // flags 27 | 'themes/default/assets/images/flags.png', 28 | 29 | // release 30 | 'semantic.css', 31 | 'semantic.js' 32 | ], 'client'); 33 | 34 | }); 35 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/less-package.js: -------------------------------------------------------------------------------- 1 | var 2 | where = 'client' // Adds files only to the client 3 | ; 4 | 5 | Package.describe({ 6 | name : 'semantic:ui', 7 | summary : 'Semantic UI - LESS Release of Semantic UI', 8 | version : '{version}', 9 | git : 'git://github.com/Semantic-Org/Semantic-UI-LESS.git', 10 | }); 11 | 12 | Package.onUse(function(api) { 13 | 14 | api.versionsFrom('1.0'); 15 | api.use('less', 'client'); 16 | 17 | api.addFiles([ 18 | {files} 19 | ], 'client'); 20 | 21 | }); 22 | -------------------------------------------------------------------------------- /semantic/tasks/config/admin/templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "semantic", 3 | "version": "1.0.0", 4 | "title": "Semantic UI", 5 | "description": "Semantic empowers designers and developers by creating a shared vocabulary for UI.", 6 | "homepage": "http://www.semantic-ui.com", 7 | "author": "Jack Lukic ", 8 | "license": "MIT", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/Semantic-Org/Semantic-UI.git" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/Semantic-Org/Semantic-UI/issues" 15 | }, 16 | "devDependencies": {} 17 | } 18 | -------------------------------------------------------------------------------- /semantic/tasks/config/docs.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Docs 3 | *******************************/ 4 | 5 | /* Paths used for "serve-docs" and "build-docs" tasks */ 6 | module.exports = { 7 | base: '', 8 | globs: { 9 | eco: '**/*.html.eco' 10 | }, 11 | paths: { 12 | clean: '../docs/out/dist/', 13 | source: { 14 | config : 'src/theme.config', 15 | definitions : 'src/definitions/', 16 | site : 'src/site/', 17 | themes : 'src/themes/' 18 | }, 19 | output: { 20 | examples : '../docs/out/examples/', 21 | less : '../docs/out/src/', 22 | metadata : '../docs/out/', 23 | packaged : '../docs/out/dist/', 24 | uncompressed : '../docs/out/dist/components/', 25 | compressed : '../docs/out/dist/components/', 26 | themes : '../docs/out/dist/themes/' 27 | }, 28 | template: { 29 | eco: '../docs/server/documents/' 30 | }, 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /semantic/tasks/config/project/release.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Release Config 3 | *******************************/ 4 | 5 | var 6 | requireDotFile = require('require-dot-file'), 7 | config, 8 | npmPackage, 9 | version 10 | ; 11 | 12 | 13 | /******************************* 14 | Derived Values 15 | *******************************/ 16 | 17 | try { 18 | config = requireDotFile('semantic.json'); 19 | } 20 | catch(error) {} 21 | 22 | 23 | try { 24 | npmPackage = require('../../../package.json'); 25 | } 26 | catch(error) { 27 | // generate fake package 28 | npmPackage = { 29 | name: 'Unknown', 30 | version: 'x.x' 31 | }; 32 | } 33 | 34 | // looks for version in config or package.json (whichever is available) 35 | version = (npmPackage && npmPackage.version !== undefined && npmPackage.name == 'semantic-ui') 36 | ? npmPackage.version 37 | : config.version 38 | ; 39 | 40 | 41 | /******************************* 42 | Export 43 | *******************************/ 44 | 45 | module.exports = { 46 | 47 | title : 'Semantic UI', 48 | repository : 'https://github.com/Semantic-Org/Semantic-UI', 49 | url : 'http://www.semantic-ui.com/', 50 | 51 | banner: '' 52 | + ' /*' + '\n' 53 | + ' * # <%= title %> - <%= version %>' + '\n' 54 | + ' * <%= repository %>' + '\n' 55 | + ' * <%= url %>' + '\n' 56 | + ' *' + '\n' 57 | + ' * Copyright 2014 Contributors' + '\n' 58 | + ' * Released under the MIT license' + '\n' 59 | + ' * http://opensource.org/licenses/MIT' + '\n' 60 | + ' *' + '\n' 61 | + ' */' + '\n', 62 | 63 | version : version 64 | 65 | }; 66 | -------------------------------------------------------------------------------- /semantic/tasks/config/user.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Set-up 3 | *******************************/ 4 | 5 | var 6 | // npm dependencies 7 | extend = require('extend'), 8 | fs = require('fs'), 9 | path = require('path'), 10 | requireDotFile = require('require-dot-file'), 11 | 12 | // semantic.json defaults 13 | defaults = require('./defaults'), 14 | config = require('./project/config'), 15 | 16 | // Final config object 17 | gulpConfig = {}, 18 | 19 | // semantic.json settings 20 | userConfig 21 | 22 | ; 23 | 24 | 25 | /******************************* 26 | User Config 27 | *******************************/ 28 | 29 | try { 30 | // looks for config file across all parent directories 31 | userConfig = requireDotFile('semantic.json'); 32 | } 33 | catch(error) { 34 | if(error.code === 'MODULE_NOT_FOUND') { 35 | console.error('No semantic.json config found'); 36 | } 37 | } 38 | 39 | // extend user config with defaults 40 | gulpConfig = (!userConfig) 41 | ? extend(true, {}, defaults) 42 | : extend(false, {}, defaults, userConfig) 43 | ; 44 | 45 | /******************************* 46 | Add Derived Values 47 | *******************************/ 48 | 49 | // adds calculated values 50 | config.addDerivedValues(gulpConfig); 51 | 52 | 53 | /******************************* 54 | Export 55 | *******************************/ 56 | 57 | module.exports = gulpConfig; 58 | 59 | -------------------------------------------------------------------------------- /semantic/tasks/version.js: -------------------------------------------------------------------------------- 1 | /******************************* 2 | Version Task 3 | *******************************/ 4 | 5 | var 6 | release = require('./config/project/release') 7 | ; 8 | 9 | module.exports = function(callback) { 10 | console.log(release.title + ' ' + release.version); 11 | }; -------------------------------------------------------------------------------- /test/example.js: -------------------------------------------------------------------------------- 1 | /* eslint func-names: 0, no-unused-vars: 0 */ 2 | var expect = require('chai').expect; 3 | 4 | 5 | describe('description', function() { 6 | it('description', function() { 7 | // body... 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /webpack/webpack-dev-server.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./make-webpack-config')({ 2 | devServer: true, 3 | devtool: 'eval', 4 | debug: true 5 | }); 6 | -------------------------------------------------------------------------------- /webpack/webpack-hot-dev-server.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./make-webpack-config')({ 2 | devServer: true, 3 | hotComponents: true, 4 | separateStylesheet: true, 5 | devtool: 'eval', 6 | debug: true 7 | }); 8 | -------------------------------------------------------------------------------- /webpack/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./make-webpack-config')({}); 2 | 3 | 4 | -------------------------------------------------------------------------------- /webpack/webpack.config.production.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./make-webpack-config')({ 2 | // commonsChunk: true, 3 | longTermCaching: true, 4 | separateStylesheet: true, 5 | minimize: true 6 | // devtool: 'source-map' 7 | }); 8 | --------------------------------------------------------------------------------