├── Procfile
├── client
├── semantic
│ ├── src
│ │ ├── site
│ │ │ ├── modules
│ │ │ │ ├── embed.variables
│ │ │ │ ├── nag.overrides
│ │ │ │ ├── tab.overrides
│ │ │ │ ├── accordion.overrides
│ │ │ │ ├── chatroom.overrides
│ │ │ │ ├── checkbox.overrides
│ │ │ │ ├── dimmer.overrides
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── embed.overrides
│ │ │ │ ├── modal.overrides
│ │ │ │ ├── modal.variables
│ │ │ │ ├── nag.variables
│ │ │ │ ├── popup.overrides
│ │ │ │ ├── progress.overrides
│ │ │ │ ├── rating.overrides
│ │ │ │ ├── rating.variables
│ │ │ │ ├── search.overrides
│ │ │ │ ├── search.variables
│ │ │ │ ├── shape.overrides
│ │ │ │ ├── sidebar.overrides
│ │ │ │ ├── sidebar.variables
│ │ │ │ ├── sticky.overrides
│ │ │ │ ├── sticky.variables
│ │ │ │ ├── tab.variables
│ │ │ │ ├── accordion.variables
│ │ │ │ ├── chatroom.variables
│ │ │ │ ├── checkbox.variables
│ │ │ │ ├── dimmer.variables
│ │ │ │ ├── dropdown.variables
│ │ │ │ ├── popup.variables
│ │ │ │ ├── progress.variables
│ │ │ │ ├── shape.variables
│ │ │ │ ├── transition.overrides
│ │ │ │ └── transition.variables
│ │ │ ├── elements
│ │ │ │ ├── flag.variables
│ │ │ │ ├── button.overrides
│ │ │ │ ├── divider.overrides
│ │ │ │ ├── flag.overrides
│ │ │ │ ├── header.overrides
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── image.overrides
│ │ │ │ ├── input.overrides
│ │ │ │ ├── label.overrides
│ │ │ │ ├── loader.overrides
│ │ │ │ ├── rail.overrides
│ │ │ │ ├── reveal.overrides
│ │ │ │ ├── segment.overrides
│ │ │ │ ├── step.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── container.overrides
│ │ │ │ ├── divider.variables
│ │ │ │ ├── header.variables
│ │ │ │ ├── icon.variables
│ │ │ │ ├── image.variables
│ │ │ │ ├── input.variables
│ │ │ │ ├── label.variables
│ │ │ │ ├── list.overrides
│ │ │ │ ├── list.variables
│ │ │ │ ├── loader.variables
│ │ │ │ ├── rail.variables
│ │ │ │ ├── reveal.variables
│ │ │ │ ├── segment.variables
│ │ │ │ ├── step.variables
│ │ │ │ └── container.variables
│ │ │ ├── globals
│ │ │ │ ├── site.variables
│ │ │ │ ├── reset.overrides
│ │ │ │ ├── reset.variables
│ │ │ │ └── site.overrides
│ │ │ ├── collections
│ │ │ │ ├── form.overrides
│ │ │ │ ├── grid.overrides
│ │ │ │ ├── menu.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── grid.variables
│ │ │ │ ├── menu.variables
│ │ │ │ ├── message.overrides
│ │ │ │ ├── table.overrides
│ │ │ │ ├── table.variables
│ │ │ │ ├── breadcrumb.overrides
│ │ │ │ ├── breadcrumb.variables
│ │ │ │ └── message.variables
│ │ │ └── views
│ │ │ │ ├── ad.overrides
│ │ │ │ ├── ad.variables
│ │ │ │ ├── card.overrides
│ │ │ │ ├── card.variables
│ │ │ │ ├── feed.overrides
│ │ │ │ ├── feed.variables
│ │ │ │ ├── item.overrides
│ │ │ │ ├── item.variables
│ │ │ │ ├── comment.overrides
│ │ │ │ ├── comment.variables
│ │ │ │ ├── statistic.overrides
│ │ │ │ └── statistic.variables
│ │ ├── themes
│ │ │ ├── material
│ │ │ │ ├── globals
│ │ │ │ │ └── site.overrides
│ │ │ │ ├── collections
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── icons.eot
│ │ │ │ │ │ ├── icons.ttf
│ │ │ │ │ │ ├── icons.woff
│ │ │ │ │ │ └── icons.woff2
│ │ │ │ ├── modules
│ │ │ │ │ ├── dropdown.overrides
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ ├── modal.variables
│ │ │ │ │ └── dropdown.variables
│ │ │ │ └── elements
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── header.variables
│ │ │ │ │ └── button.overrides
│ │ │ ├── round
│ │ │ │ └── elements
│ │ │ │ │ └── button.overrides
│ │ │ ├── bootstrap3
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── chubby
│ │ │ │ ├── collections
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── form.variables
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── header.variables
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ │ ├── modules
│ │ │ │ │ ├── accordion.overrides
│ │ │ │ │ └── accordion.variables
│ │ │ │ └── views
│ │ │ │ │ ├── comment.overrides
│ │ │ │ │ └── comment.variables
│ │ │ ├── colored
│ │ │ │ └── modules
│ │ │ │ │ ├── checkbox.overrides
│ │ │ │ │ └── checkbox.variables
│ │ │ ├── default
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ ├── breadcrumb.overrides
│ │ │ │ │ ├── grid.overrides
│ │ │ │ │ └── breadcrumb.variables
│ │ │ │ ├── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── site.overrides
│ │ │ │ ├── modules
│ │ │ │ │ ├── chatroom.variables
│ │ │ │ │ ├── tab.overrides
│ │ │ │ │ ├── dimmer.overrides
│ │ │ │ │ ├── embed.overrides
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ ├── nag.overrides
│ │ │ │ │ ├── popup.overrides
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ ├── search.overrides
│ │ │ │ │ ├── shape.overrides
│ │ │ │ │ ├── sidebar.overrides
│ │ │ │ │ ├── sticky.overrides
│ │ │ │ │ ├── chatroom.overrides
│ │ │ │ │ ├── sticky.variables
│ │ │ │ │ ├── tab.variables
│ │ │ │ │ ├── transition.variables
│ │ │ │ │ ├── shape.variables
│ │ │ │ │ ├── sidebar.variables
│ │ │ │ │ ├── embed.variables
│ │ │ │ │ ├── nag.variables
│ │ │ │ │ └── dimmer.variables
│ │ │ │ ├── views
│ │ │ │ │ ├── ad.overrides
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ ├── feed.overrides
│ │ │ │ │ ├── item.overrides
│ │ │ │ │ ├── comment.overrides
│ │ │ │ │ ├── statistic.overrides
│ │ │ │ │ └── ad.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── image.overrides
│ │ │ │ │ ├── input.overrides
│ │ │ │ │ ├── label.overrides
│ │ │ │ │ ├── list.overrides
│ │ │ │ │ ├── loader.overrides
│ │ │ │ │ ├── rail.overrides
│ │ │ │ │ ├── reveal.overrides
│ │ │ │ │ ├── container.overrides
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── segment.overrides
│ │ │ │ │ ├── flag.variables
│ │ │ │ │ ├── reveal.variables
│ │ │ │ │ ├── rail.variables
│ │ │ │ │ ├── image.variables
│ │ │ │ │ ├── divider.variables
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── loader.variables
│ │ │ │ │ └── container.variables
│ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── gmail
│ │ │ │ └── collections
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ └── message.variables
│ │ │ ├── github
│ │ │ │ ├── collections
│ │ │ │ │ ├── grid.variables
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── table.variables
│ │ │ │ │ ├── breadcrumb.variables
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ ├── message.variables
│ │ │ │ │ ├── form.variables
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── segment.overrides
│ │ │ │ │ ├── label.variables
│ │ │ │ │ ├── image.variables
│ │ │ │ │ ├── header.variables
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── label.overrides
│ │ │ │ │ ├── input.variables
│ │ │ │ │ ├── step.overrides
│ │ │ │ │ ├── step.variables
│ │ │ │ │ ├── input.overrides
│ │ │ │ │ ├── segment.variables
│ │ │ │ │ └── button.variables
│ │ │ │ ├── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── octicons.ttf
│ │ │ │ │ │ ├── octicons.woff
│ │ │ │ │ │ └── octicons-local.ttf
│ │ │ │ ├── modules
│ │ │ │ │ ├── popup.variables
│ │ │ │ │ └── dropdown.variables
│ │ │ │ └── globals
│ │ │ │ │ └── site.variables
│ │ │ ├── basic
│ │ │ │ ├── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── reset.overrides
│ │ │ │ ├── modules
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ └── progress.variables
│ │ │ │ ├── views
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ └── card.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── step.overrides
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── step.variables
│ │ │ │ │ └── button.variables
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ └── table.variables
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── flat
│ │ │ │ ├── globals
│ │ │ │ │ └── site.overrides
│ │ │ │ └── collections
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ └── form.variables
│ │ │ ├── resetcss
│ │ │ │ └── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── reset.overrides
│ │ │ ├── raised
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── classic
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ └── table.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ └── header.variables
│ │ │ │ ├── modules
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ └── progress.variables
│ │ │ │ └── views
│ │ │ │ │ ├── card.variables
│ │ │ │ │ └── card.overrides
│ │ │ ├── duo
│ │ │ │ └── elements
│ │ │ │ │ ├── loader.overrides
│ │ │ │ │ └── loader.variables
│ │ │ ├── fixed-width
│ │ │ │ ├── modules
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ └── modal.variables
│ │ │ │ └── collections
│ │ │ │ │ ├── grid.overrides
│ │ │ │ │ └── grid.variables
│ │ │ ├── striped
│ │ │ │ └── modules
│ │ │ │ │ ├── progress.variables
│ │ │ │ │ └── progress.overrides
│ │ │ ├── pulsar
│ │ │ │ └── elements
│ │ │ │ │ ├── loader.variables
│ │ │ │ │ └── loader.overrides
│ │ │ ├── rtl
│ │ │ │ └── globals
│ │ │ │ │ ├── site.overrides
│ │ │ │ │ └── site.variables
│ │ │ ├── instagram
│ │ │ │ └── views
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ └── card.variables
│ │ │ ├── twitter
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── bookish
│ │ │ │ └── elements
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ └── header.variables
│ │ │ ├── timeline
│ │ │ │ └── views
│ │ │ │ │ ├── feed.overrides
│ │ │ │ │ └── feed.variables
│ │ │ └── amazon
│ │ │ │ ├── globals
│ │ │ │ └── site.variables
│ │ │ │ └── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ ├── definitions
│ │ │ ├── globals
│ │ │ │ └── reset.less
│ │ │ ├── elements
│ │ │ │ └── flag.less
│ │ │ └── modules
│ │ │ │ ├── sticky.less
│ │ │ │ ├── transition.less
│ │ │ │ └── tab.less
│ │ └── theme.less
│ ├── dist
│ │ ├── themes
│ │ │ ├── basic
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── default
│ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── github
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── octicons.ttf
│ │ │ │ │ ├── octicons.woff
│ │ │ │ │ └── octicons-local.ttf
│ │ │ └── material
│ │ │ │ └── assets
│ │ │ │ └── fonts
│ │ │ │ ├── icons.eot
│ │ │ │ ├── icons.ttf
│ │ │ │ └── icons.woff
│ │ └── components
│ │ │ ├── sticky.min.css
│ │ │ ├── tab.min.css
│ │ │ ├── breadcrumb.min.css
│ │ │ ├── nag.min.css
│ │ │ ├── rail.min.css
│ │ │ ├── sticky.css
│ │ │ ├── site.min.css
│ │ │ ├── embed.min.css
│ │ │ ├── container.min.css
│ │ │ ├── ad.min.css
│ │ │ ├── tab.css
│ │ │ └── reset.min.css
│ ├── tasks
│ │ ├── config
│ │ │ ├── admin
│ │ │ │ ├── oauth.example.js
│ │ │ │ ├── templates
│ │ │ │ │ ├── component-package.js
│ │ │ │ │ ├── less-package.js
│ │ │ │ │ ├── composer.json
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── bower.json
│ │ │ │ │ ├── css-package.js
│ │ │ │ │ └── README.md
│ │ │ │ └── github.js
│ │ │ ├── docs.js
│ │ │ ├── user.js
│ │ │ ├── project
│ │ │ │ └── release.js
│ │ │ └── npm
│ │ │ │ └── gulpfile.js
│ │ ├── version.js
│ │ ├── clean.js
│ │ ├── collections
│ │ │ ├── README.md
│ │ │ ├── rtl.js
│ │ │ ├── build.js
│ │ │ └── admin.js
│ │ ├── README.md
│ │ ├── admin
│ │ │ ├── publish.js
│ │ │ ├── release.js
│ │ │ └── register.js
│ │ ├── check-install.js
│ │ ├── build
│ │ │ └── assets.js
│ │ └── build.js
│ └── gulpfile.js
├── .babelrc
├── build
│ ├── favicon.ico
│ ├── static
│ │ ├── css
│ │ │ └── main.03b6e96f.css.map
│ │ └── media
│ │ │ ├── flags.9c74e172.png
│ │ │ ├── icons.706450d7.ttf
│ │ │ ├── icons.d9ee23d5.woff
│ │ │ ├── icons.f7c2b4b7.eot
│ │ │ └── icons.97493d3f.woff2
│ ├── index.html
│ └── asset-manifest.json
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── index.css
│ ├── index.js
│ ├── Client.js
│ ├── App.js
│ └── SelectedFoods.js
├── tests
│ ├── .eslintrc.json
│ ├── App.test.js
│ └── SelectedFoods.test.js
├── .gitignore
├── semantic.json
└── package.json
├── .eslintignore
├── .gitignore
├── db
├── seed
│ ├── Gemfile
│ ├── raw-ndb.csv
│ └── Gemfile.lock
└── usda-nnd.sqlite3
├── usage-demo.gif
├── flow-diagram.png
├── start-client.js
├── .travis.yml
├── dolphins-badge.svg
├── .eslintrc.json
├── package.json
├── LICENSE
└── server.js
/Procfile:
--------------------------------------------------------------------------------
1 | web: npm run server
2 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/embed.variables:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/globals/site.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/round/elements/button.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/bootstrap3/elements/button.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/collections/menu.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/colored/modules/checkbox.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/table.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/gmail/collections/message.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | */node_modules/*
2 | client/semantic/*
3 | client/build/*
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | cra-server-ex.graffle
2 | node_modules
3 | npm-debug.log
4 |
--------------------------------------------------------------------------------
/client/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["transform-class-properties"]
3 | }
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/grid.variables:
--------------------------------------------------------------------------------
1 |
2 | @gutterWidth: 1.538rem;
--------------------------------------------------------------------------------
/db/seed/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gem 'sqlite3'
4 | gem 'csv'
5 |
6 |
--------------------------------------------------------------------------------
/usage-demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/usage-demo.gif
--------------------------------------------------------------------------------
/flow-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/flow-diagram.png
--------------------------------------------------------------------------------
/db/seed/raw-ndb.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/db/seed/raw-ndb.csv
--------------------------------------------------------------------------------
/db/usda-nnd.sqlite3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/db/usda-nnd.sqlite3
--------------------------------------------------------------------------------
/client/build/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/favicon.ico
--------------------------------------------------------------------------------
/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/public/favicon.ico
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/flag.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Flag Variables
3 | --------------------*/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto);
2 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/client/build/static/css/main.03b6e96f.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"static/css/main.03b6e96f.css","sourceRoot":""}
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/divider.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/flag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/icon.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/accordion.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/checkbox.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/modal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/nag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/rating.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/rating.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/search.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sidebar.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/tab.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/ad.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/feed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/item.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/themes/flat/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/resetcss/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/client/build/static/media/flags.9c74e172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/static/media/flags.9c74e172.png
--------------------------------------------------------------------------------
/client/build/static/media/icons.706450d7.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/static/media/icons.706450d7.ttf
--------------------------------------------------------------------------------
/client/build/static/media/icons.d9ee23d5.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/static/media/icons.d9ee23d5.woff
--------------------------------------------------------------------------------
/client/build/static/media/icons.f7c2b4b7.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/static/media/icons.f7c2b4b7.eot
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/grid.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/divider.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/icon.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/input.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/list.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/rail.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/reveal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/segment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/accordion.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/checkbox.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dimmer.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/popup.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/shape.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/transition.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/comment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/statistic.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Chatroom
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Tab Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/raised/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/build/static/media/icons.97493d3f.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/build/static/media/icons.97493d3f.woff2
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/message.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/container.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/transition.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Global Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Video Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/duo/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/striped/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/start-client.js:
--------------------------------------------------------------------------------
1 | const args = [ 'start' ];
2 | const opts = { stdio: 'inherit', cwd: 'client', shell: true };
3 | require('child_process').spawn('npm', args, opts);
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/material/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/material/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/db/seed/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | sqlite3 (1.3.11)
5 |
6 | PLATFORMS
7 | ruby
8 |
9 | DEPENDENCIES
10 | sqlite3
11 |
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | /* No Additional Resets */
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @miniWidth: 20px;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/material/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/material/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/src/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto:400,700);
2 |
3 | .ui.dropdown {
4 | font-family: 'Roboto';
5 | }
6 |
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 4
4 | - 6
5 | cache:
6 | directories:
7 | - node_modules
8 | - client/node_modules
9 | script:
10 | - cd client && npm i && npm test
--------------------------------------------------------------------------------
/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
7 | .App {
8 | margin-top: 7em;
9 | }
10 |
11 | #food-search {
12 | margin-top: 5em;
13 | }
14 |
--------------------------------------------------------------------------------
/client/tests/.eslintrc.json:
--------------------------------------------------------------------------------
1 | // Use this file as a starting point for your project's .eslintrc.
2 | // Copy this file, and add rule overrides as needed.
3 | {
4 | "rules": {
5 | "no-undef": 0
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | node_modules
5 |
6 | # testing
7 | coverage
8 |
9 | # misc
10 | .DS_Store
11 | .env
12 | npm-debug.log
13 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Sticky
3 | *******************************/
4 |
5 | @transitionDuration: @defaultDuration;
6 | @transition: none;
7 | @zIndex: 800;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://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 | }
7 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Header
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @iconMargin: @4px;
10 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/pulsar/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @loaderSpeed: 2s;
6 | @loaderLineColor: @primaryColor;
7 | @invertedLoaderLineColor: @lightPrimaryColor;
8 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @background: #F8F8F8;
6 |
7 | @cellVerticalPadding: @relative6px;
8 | @cellHorizontalPadding: @relative8px;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/icon.variables:
--------------------------------------------------------------------------------
1 | @fontPath : '../../themes/material/assets/fonts';
2 |
3 | @width: 1em;
4 | @height: 1em;
5 |
6 | @small: 13px;
7 | @medium: 16px;
8 | @large: 18px;
9 | @big : 20px;
10 | @huge: 28px;
11 | @massive: 32px;
12 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | username : 'github-username',
9 | name : 'Your Name',
10 | email : 'user@email.com'
11 | };
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/src/index.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import App from "./App";
4 | import "./index.css";
5 | import "../semantic/dist/semantic.min.css";
6 |
7 | ReactDOM.render(
8 | ,
9 | document.getElementById("root") // eslint-disable-line no-undef
10 | );
11 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/src/themes/duo/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @shapeBorderColor: @primaryColor @primaryColor @secondaryColor @secondaryColor;
6 | @invertedShapeBorderColor: @lightPrimaryColor @lightPrimaryColor @lightSecondaryColor @lightSecondaryColor;
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | @itemHorizontalPadding: @relativeLarge;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(https://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 | }
16 |
--------------------------------------------------------------------------------
/client/build/index.html:
--------------------------------------------------------------------------------
1 |
Food Lookup Demo
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 | ```
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | ;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | ;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/button.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://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 | }
16 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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: '';
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic.json:
--------------------------------------------------------------------------------
1 | {
2 | "base": "semantic/",
3 | "paths": {
4 | "source": {
5 | "config": "src/theme.config",
6 | "definitions": "src/definitions/",
7 | "site": "src/site/",
8 | "themes": "src/themes/"
9 | },
10 | "output": {
11 | "packaged": "dist/",
12 | "uncompressed": "dist/components/",
13 | "compressed": "dist/components/",
14 | "themes": "dist/themes/"
15 | },
16 | "clean": "dist/"
17 | },
18 | "permission": false,
19 | "autoInstall": false,
20 | "rtl": false,
21 | "version": "2.2.10"
22 | }
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/build/asset-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "main.css": "static/css/main.03b6e96f.css",
3 | "main.css.map": "static/css/main.03b6e96f.css.map",
4 | "main.js": "static/js/main.0fbf6d9f.js",
5 | "main.js.map": "static/js/main.0fbf6d9f.js.map",
6 | "static/media/flags.png": "static/media/flags.9c74e172.png",
7 | "static/media/icons.eot": "static/media/icons.f7c2b4b7.eot",
8 | "static/media/icons.svg": "static/media/icons.29800836.svg",
9 | "static/media/icons.ttf": "static/media/icons.706450d7.ttf",
10 | "static/media/icons.woff": "static/media/icons.d9ee23d5.woff",
11 | "static/media/icons.woff2": "static/media/icons.97493d3f.woff2"
12 | }
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/semantic/dist/components/sticky.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lookup-client",
3 | "version": "0.1.0",
4 | "private": true,
5 | "proxy": "http://localhost:3001/",
6 | "devDependencies": {
7 | "enzyme": "2.4.1",
8 | "react-addons-test-utils": "15.4.0",
9 | "react-scripts": "0.8.5"
10 | },
11 | "dependencies": {
12 | "babel-plugin-transform-class-properties": "6.22.0",
13 | "react": "15.4.0",
14 | "react-dom": "15.4.0",
15 | "semantic-ui": "^2.2.10"
16 | },
17 | "scripts": {
18 | "start": "react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test --env=jsdom",
21 | "eject": "react-scripts eject"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/dolphins-badge.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "airbnb",
3 | "parser": "babel-eslint",
4 | "rules": {
5 | "array-bracket-spacing": [2, "always"],
6 | "jsx-quotes": [1, "prefer-single"],
7 | "jsx-a11y/no-static-element-interactions": 0,
8 | "max-len": ["error", { "code": 80, "ignoreTrailingComments": true }],
9 | "no-use-before-define": [2, "nofunc"],
10 | "no-shadow": 0,
11 | "prefer-const": 1,
12 | "quote-props": [1, "consistent-as-needed"],
13 | "react/no-multi-comp": 0,
14 | "react/prop-types": 0,
15 | "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
16 | "react/no-array-index-key": 0,
17 | "space-before-function-paren": [2, {"anonymous": "always", "named": "never"}]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/src/Client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 | function search(query, cb) {
3 | return fetch(`api/food?q=${query}`, {
4 | accept: "application/json"
5 | })
6 | .then(checkStatus)
7 | .then(parseJSON)
8 | .then(cb);
9 | }
10 |
11 | function checkStatus(response) {
12 | if (response.status >= 200 && response.status < 300) {
13 | return response;
14 | }
15 | const error = new Error(`HTTP Error ${response.statusText}`);
16 | error.status = response.statusText;
17 | error.response = response;
18 | console.log(error); // eslint-disable-line no-console
19 | throw error;
20 | }
21 |
22 | function parseJSON(response) {
23 | return response.json();
24 | }
25 |
26 | const Client = { search };
27 | export default Client;
28 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lookup-server",
3 | "version": "0.0.1",
4 | "private": true,
5 | "dependencies": {
6 | "babel-core": "6.14.0",
7 | "express": "4.13.3",
8 | "fs": "0.0.2",
9 | "sql.js": "0.3.2"
10 | },
11 | "scripts": {
12 | "start": "concurrently \"npm run server\" \"npm run client\"",
13 | "server": "node server.js",
14 | "client": "node start-client.js",
15 | "dev": "echo \"This command has been deprecated. Use 'npm start'\" && exit 1",
16 | "lint": "eslint ."
17 | },
18 | "devDependencies": {
19 | "concurrently": "3.1.0",
20 | "eslint": "^3.19.0",
21 | "eslint-config-airbnb": "14.1.0",
22 | "eslint-plugin-import": "2.2.0",
23 | "eslint-plugin-jsx-a11y": "4.0.0",
24 | "eslint-plugin-react": "6.9.0"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | ;
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/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.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
23 | }
24 |
25 | github = new githubAPI({
26 | version : '3.0.0',
27 | debug : true,
28 | protocol : 'https',
29 | timeout : 5000
30 | });
31 |
32 | github.authenticate({
33 | type: 'oauth',
34 | token: oAuth.token
35 | });
36 |
37 | module.exports = github;
38 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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: ~"calc("@width~" + "@splitCloseDistance~")";
27 | @veryCloseWidth: ~"calc("@width~" + "@splitVeryCloseDistance~")";
28 |
29 | /* Dividing */
30 | @dividingBorder: 1px solid @borderColor;
31 | @dividingDistance: 5rem;
32 | @splitDividingDistance: (@dividingDistance / 2);
33 | @dividingWidth: @width + @splitDividingDistance;
34 |
35 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/globals/reset.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Reset
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 | /*******************************
12 | Theme
13 | *******************************/
14 |
15 | @type : 'global';
16 | @element : 'reset';
17 |
18 | @import (multiple) '../../theme.config';
19 |
20 | /*******************************
21 | Reset
22 | *******************************/
23 |
24 | /* Border-Box */
25 | *,
26 | *:before,
27 | *:after {
28 | box-sizing: inherit;
29 | }
30 | html {
31 | box-sizing: border-box;
32 | }
33 |
34 | /* iPad Input Shadows */
35 | input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
36 | -webkit-appearance: none;
37 | -moz-appearance: none; /* mobile firefox too! */
38 | }
39 |
40 | .loadUIOverrides();
41 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/tasks/build/assets.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Build Task
3 | *******************************/
4 |
5 | var
6 | gulp = require('gulp'),
7 |
8 | // gulp dependencies
9 | chmod = require('gulp-chmod'),
10 | gulpif = require('gulp-if'),
11 |
12 | // config
13 | config = require('../config/user'),
14 | tasks = require('../config/tasks'),
15 |
16 | // shorthand
17 | globs = config.globs,
18 | assets = config.paths.assets,
19 | output = config.paths.output,
20 | source = config.paths.source,
21 |
22 | log = tasks.log
23 | ;
24 |
25 | module.exports = function(callback) {
26 |
27 | console.info('Building assets');
28 |
29 | // copy assets
30 | return gulp.src(source.themes + '/**/assets/**/*.*')
31 | .pipe(gulpif(config.hasPermission, chmod(config.permission)))
32 | .pipe(gulp.dest(output.themes))
33 | ;
34 |
35 | };
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/tab.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import SelectedFoods from "./SelectedFoods";
3 | import FoodSearch from "./FoodSearch";
4 |
5 | class App extends Component {
6 | state = {
7 | selectedFoods: []
8 | };
9 |
10 | removeFoodItem = itemIndex => {
11 | const filteredFoods = this.state.selectedFoods.filter(
12 | (item, idx) => itemIndex !== idx
13 | );
14 | this.setState({ selectedFoods: filteredFoods });
15 | };
16 |
17 | addFood = food => {
18 | const newFoods = this.state.selectedFoods.concat(food);
19 | this.setState({ selectedFoods: newFoods });
20 | };
21 |
22 | render() {
23 | const { selectedFoods } = this.state;
24 |
25 | return (
26 |
35 | );
36 | }
37 | }
38 |
39 | export default App;
40 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 A Medium Corporation
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
13 | all 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
21 | THE SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/elements/flag.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Flag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'element';
17 | @element : 'flag';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 |
22 | /*******************************
23 | Flag
24 | *******************************/
25 |
26 | i.flag:not(.icon) {
27 | display: inline-block;
28 |
29 | width: @width;
30 | height: @height;
31 |
32 | line-height: @height;
33 | vertical-align: @verticalAlign;
34 | margin: 0em @margin 0em 0em;
35 |
36 | text-decoration: inherit;
37 |
38 | speak: none;
39 | font-smoothing: antialiased;
40 | backface-visibility: hidden;
41 | }
42 |
43 | /* Sprite */
44 | i.flag:not(.icon):before {
45 | display: inline-block;
46 | content: '';
47 | background: url(@spritePath) no-repeat -108px -1976px;
48 | width: @width;
49 | height: @height;
50 | }
51 |
52 | .loadUIOverrides();
53 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/dist/components/breadcrumb.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Breadcrumb
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 1;
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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
16 | Food Lookup Demo
17 |
18 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/nag.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Nag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/rail.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Rail
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.rail{font-size:1rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/client/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%;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/src/definitions/modules/sticky.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'module';
17 | @element : 'sticky';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 | /*******************************
22 | Sticky
23 | *******************************/
24 |
25 | .ui.sticky {
26 | position: static;
27 | transition: @transition;
28 | z-index: @zIndex;
29 | }
30 |
31 | /*******************************
32 | States
33 | *******************************/
34 |
35 | /* Bound */
36 | .ui.sticky.bound {
37 | position: absolute;
38 | left: auto;
39 | right: auto;
40 | }
41 |
42 | /* Fixed */
43 | .ui.sticky.fixed {
44 | position: fixed;
45 | left: auto;
46 | right: auto;
47 | }
48 |
49 | /* Bound/Fixed Position */
50 | .ui.sticky.bound.top,
51 | .ui.sticky.fixed.top {
52 | top: 0px;
53 | bottom: auto;
54 | }
55 | .ui.sticky.bound.bottom,
56 | .ui.sticky.fixed.bottom {
57 | top: auto;
58 | bottom: 0px;
59 | }
60 |
61 |
62 | /*******************************
63 | Types
64 | *******************************/
65 |
66 | .ui.native.sticky {
67 | position: -webkit-sticky;
68 | position: -moz-sticky;
69 | position: -ms-sticky;
70 | position: -o-sticky;
71 | position: sticky;
72 | }
73 |
74 | .loadUIOverrides();
75 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/sticky.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Sticky
14 | *******************************/
15 |
16 | .ui.sticky {
17 | position: static;
18 | -webkit-transition: none;
19 | transition: none;
20 | z-index: 800;
21 | }
22 |
23 |
24 | /*******************************
25 | States
26 | *******************************/
27 |
28 |
29 | /* Bound */
30 | .ui.sticky.bound {
31 | position: absolute;
32 | left: auto;
33 | right: auto;
34 | }
35 |
36 | /* Fixed */
37 | .ui.sticky.fixed {
38 | position: fixed;
39 | left: auto;
40 | right: auto;
41 | }
42 |
43 | /* Bound/Fixed Position */
44 | .ui.sticky.bound.top,
45 | .ui.sticky.fixed.top {
46 | top: 0px;
47 | bottom: auto;
48 | }
49 | .ui.sticky.bound.bottom,
50 | .ui.sticky.fixed.bottom {
51 | top: auto;
52 | bottom: 0px;
53 | }
54 |
55 |
56 | /*******************************
57 | Types
58 | *******************************/
59 |
60 | .ui.native.sticky {
61 | position: -webkit-sticky;
62 | position: -moz-sticky;
63 | position: -ms-sticky;
64 | position: -o-sticky;
65 | position: sticky;
66 | }
67 |
68 |
69 | /*******************************
70 | Theme Overrides
71 | *******************************/
72 |
73 |
74 |
75 | /*******************************
76 | Site Overrides
77 | *******************************/
78 |
79 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/site.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Site
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.2857em;margin:calc(2rem - .14285em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.714rem}h3{font-size:1.28rem}h4{font-size:1.071rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}
--------------------------------------------------------------------------------
/client/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);
--------------------------------------------------------------------------------
/client/tests/App.test.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 |
3 | import { shallow } from 'enzyme';
4 | import React from 'react';
5 | import App from '../src/App';
6 |
7 | describe('App', () => {
8 | let wrapper;
9 |
10 | beforeEach(() => {
11 | wrapper = shallow(
12 | ,
13 | );
14 | });
15 |
16 | it('initializes `selectedFoods` to a blank array', () => {
17 | expect(
18 | wrapper.state().selectedFoods,
19 | ).toEqual([]);
20 | });
21 |
22 | describe('when `FoodSearch` invokes `onFoodClick` twice', () => {
23 | const food1 = {
24 | description: 'Sample food 1',
25 | kcal: '100.0',
26 | protein_g: '11.0',
27 | fat_g: '21.0',
28 | carbohydrate_g: '31.0',
29 | };
30 |
31 | const food2 = {
32 | description: 'Sample food 2',
33 | kcal: '200.0',
34 | protein_g: '12.0',
35 | fat_g: '22.0',
36 | carbohydrate_g: '32.0',
37 | };
38 | const foods = [ food1, food2 ];
39 |
40 | beforeEach(() => {
41 | foods.forEach(food => (
42 | wrapper.find('FoodSearch').props().onFoodClick(food)
43 | ));
44 | });
45 |
46 | it('should add the foods to `selectedFoods`', () => {
47 | expect(
48 | wrapper.state().selectedFoods,
49 | ).toEqual(foods);
50 | });
51 |
52 | describe('and then `SelectedFoods` invokes `onFoodClick`', () => {
53 | beforeEach(() => {
54 | wrapper.find('SelectedFoods').props().onFoodClick(0);
55 | });
56 |
57 | it('removes the food at idx from array', () => {
58 | expect(
59 | wrapper.state().selectedFoods,
60 | ).toEqual([ food2 ]);
61 | });
62 | });
63 | });
64 | });
65 |
--------------------------------------------------------------------------------
/client/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 |
--------------------------------------------------------------------------------
/client/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;
--------------------------------------------------------------------------------
/client/semantic/src/definitions/modules/transition.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Transition
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'module';
17 | @element : 'transition';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 | /*******************************
22 | Transitions
23 | *******************************/
24 |
25 | .transition {
26 | animation-iteration-count: 1;
27 | animation-duration: @transitionDefaultDuration;
28 | animation-timing-function: @transitionDefaultEasing;
29 | animation-fill-mode: @transitionDefaultFill;
30 | }
31 |
32 | /*******************************
33 | States
34 | *******************************/
35 |
36 |
37 | /* Animating */
38 | .animating.transition {
39 | backface-visibility: @backfaceVisibility;
40 | visibility: visible !important;
41 | }
42 |
43 | /* Loading */
44 | .loading.transition {
45 | position: absolute;
46 | top: -99999px;
47 | left: -99999px;
48 | }
49 |
50 | /* Hidden */
51 | .hidden.transition {
52 | display: none;
53 | visibility: hidden;
54 | }
55 |
56 | /* Visible */
57 | .visible.transition {
58 | display: block !important;
59 | visibility: visible !important;
60 | /* backface-visibility: @backfaceVisibility;
61 | transform: @use3DAcceleration;*/
62 | }
63 |
64 | /* Disabled */
65 | .disabled.transition {
66 | animation-play-state: paused;
67 | }
68 |
69 | /*******************************
70 | Variations
71 | *******************************/
72 |
73 | .looping.transition {
74 | animation-iteration-count: infinite;
75 | }
76 |
77 |
78 | .loadUIOverrides();
79 |
--------------------------------------------------------------------------------
/client/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 | }
--------------------------------------------------------------------------------
/client/semantic/dist/components/embed.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Video
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;z-index:4;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | const express = require("express");
2 | const fs = require("fs");
3 | const sqlite = require("sql.js");
4 |
5 | const filebuffer = fs.readFileSync("db/usda-nnd.sqlite3");
6 |
7 | const db = new sqlite.Database(filebuffer);
8 |
9 | const app = express();
10 |
11 | app.set("port", process.env.PORT || 3001);
12 |
13 | // Express only serves static assets in production
14 | if (process.env.NODE_ENV === "production") {
15 | app.use(express.static("client/build"));
16 | }
17 |
18 | const COLUMNS = [
19 | "carbohydrate_g",
20 | "protein_g",
21 | "fa_sat_g",
22 | "fa_mono_g",
23 | "fa_poly_g",
24 | "kcal",
25 | "description"
26 | ];
27 | app.get("/api/food", (req, res) => {
28 | const param = req.query.q;
29 |
30 | if (!param) {
31 | res.json({
32 | error: "Missing required parameter `q`"
33 | });
34 | return;
35 | }
36 |
37 | // WARNING: Not for production use! The following statement
38 | // is not protected against SQL injections.
39 | const r = db.exec(
40 | `
41 | select ${COLUMNS.join(", ")} from entries
42 | where description like '%${param}%'
43 | limit 100
44 | `
45 | );
46 |
47 | if (r[0]) {
48 | res.json(
49 | r[0].values.map(entry => {
50 | const e = {};
51 | COLUMNS.forEach((c, idx) => {
52 | // combine fat columns
53 | if (c.match(/^fa_/)) {
54 | e.fat_g = e.fat_g || 0.0;
55 | e.fat_g = (parseFloat(e.fat_g, 10) +
56 | parseFloat(entry[idx], 10)).toFixed(2);
57 | } else {
58 | e[c] = entry[idx];
59 | }
60 | });
61 | return e;
62 | })
63 | );
64 | } else {
65 | res.json([]);
66 | }
67 | });
68 |
69 | app.listen(app.get("port"), () => {
70 | console.log(`Find the server at: http://localhost:${app.get("port")}/`); // eslint-disable-line no-console
71 | });
72 |
--------------------------------------------------------------------------------
/client/src/SelectedFoods.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | export default function SelectedFoods(props) {
4 | const { foods } = props;
5 |
6 | const foodRows = foods.map((food, idx) => (
7 | props.onFoodClick(idx)}>
8 | | {food.description} |
9 | {food.kcal} |
10 | {food.protein_g} |
11 | {food.fat_g} |
12 | {food.carbohydrate_g} |
13 |
14 | ));
15 |
16 | return (
17 |
18 |
19 |
20 |
21 | Selected foods
22 | |
23 |
24 |
25 | | Description |
26 | Kcal |
27 | Protein (g) |
28 | Fat (g) |
29 | Carbs (g) |
30 |
31 |
32 |
33 | {foodRows}
34 |
35 |
36 |
37 | | Total |
38 |
39 | {sum(foods, "kcal")}
40 | |
41 |
42 | {sum(foods, "protein_g")}
43 | |
44 |
45 | {sum(foods, "fat_g")}
46 | |
47 |
48 | {sum(foods, "carbohydrate_g")}
49 | |
50 |
51 |
52 |
53 | );
54 | }
55 |
56 | function sum(foods, prop) {
57 | return foods
58 | .reduce((memo, food) => parseInt(food[prop], 10) + memo, 0.0)
59 | .toFixed(2);
60 | }
61 |
--------------------------------------------------------------------------------
/client/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 | @mini: 0.4em;
56 | @tiny: 0.5em;
57 | @small: 0.75em;
58 | @medium: 1em;
59 | @large: 1.5em;
60 | @big: 2em;
61 | @huge: 4em;
62 | @massive: 8em;
63 |
--------------------------------------------------------------------------------
/client/tests/SelectedFoods.test.js:
--------------------------------------------------------------------------------
1 | import { shallow } from 'enzyme';
2 | import React from 'react';
3 | import SelectedFoods from '../src/SelectedFoods';
4 |
5 | describe('SelectedFoods', () => {
6 | let wrapper;
7 |
8 | describe('when prop `foods` is blank', () => {
9 | beforeEach(() => {
10 | wrapper = shallow(
11 | ,
14 | );
15 | });
16 |
17 | it('should not display any rows in body', () => {
18 | expect(
19 | wrapper.find('tbody tr').length,
20 | ).toEqual(0);
21 | });
22 |
23 | it('should display a zero kcal value', () => {
24 | expect(
25 | wrapper.find('#total-kcal').first().text(),
26 | ).toEqual('0.00');
27 | });
28 | });
29 |
30 | describe('when `foods` is populated', () => {
31 | const foods = [
32 | {
33 | description: 'Sample food 1',
34 | kcal: '100.0',
35 | protein_g: '11.0',
36 | fat_g: '21.0',
37 | carbohydrate_g: '31.0',
38 | },
39 | {
40 | description: 'Sample food 2',
41 | kcal: '200',
42 | protein_g: '12',
43 | fat_g: '22',
44 | carbohydrate_g: '32',
45 | },
46 | ];
47 | const totalKcals = foods.reduce(
48 | (memo, f) => parseFloat(f.kcal) + memo, 0.0,
49 | ).toFixed(2);
50 |
51 | beforeEach(() => {
52 | wrapper = shallow(
53 | ,
56 | );
57 | });
58 |
59 | it('should display the foods in the table', () => {
60 | expect(
61 | wrapper.find('tbody tr').length,
62 | ).toEqual(foods.length);
63 | });
64 |
65 | it('should total appropriate kcal', () => {
66 | expect(
67 | wrapper.find('#total-kcal').first().text(),
68 | ).toEqual(
69 | totalKcals.toString(),
70 | );
71 | });
72 | });
73 | });
74 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/container.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Container
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto!important;margin-left:1em!important;margin-right:1em!important}.ui.grid.container{width:auto!important}.ui.relaxed.grid.container{width:auto!important}.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px!important;line-height:1.5}.ui.text.container{font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}
--------------------------------------------------------------------------------
/client/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 | };
--------------------------------------------------------------------------------
/client/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 : @14px;
48 | @tiny : @16px;
49 | @small : @24px;
50 | @medium : @32px;
51 | @large : @48px;
52 | @big : @52px;
53 | @huge : @58px;
54 | @massive : @64px;
55 |
56 | @miniOffset: 0em 0em 0em -(@mini / 2);
57 | @tinyOffset: 0em 0em 0em -(@tiny / 2);
58 | @smallOffset: 0em 0em 0em -(@small / 2);
59 | @mediumOffset: 0em 0em 0em -(@medium / 2);
60 | @largeOffset: 0em 0em 0em -(@large / 2);
61 | @bigOffset: 0em 0em 0em -(@big / 2);
62 | @hugeOffset: 0em 0em 0em -(@huge / 2);
63 | @massiveOffset: 0em 0em 0em -(@massive / 2);
64 |
65 | @tinyFontSize: @relativeTiny;
66 | @miniFontSize: @relativeMini;
67 | @smallFontSize: @relativeSmall;
68 | @mediumFontSize: @relativeMedium;
69 | @largeFontSize: @relativeLarge;
70 | @bigFontSize: @relativeBig;
71 | @hugeFontSize: @relativeHuge;
72 | @massiveFontSize: @relativeMassive;
73 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/ad.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Ad
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2013 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}
--------------------------------------------------------------------------------
/client/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 | @invertedInputColor: @invertedTextColor;
29 |
30 | @textAreaPadding: 1em;
31 | @textAreaBackground: transparent;
32 | @textAreaFocusBackground: #EEEEEE;
33 | @textAreaBorder: 1px solid #DDDDDD;
34 |
35 | /* Divider */
36 | @dividerMargin: 1em 0em;
37 |
38 | /* Validation Prompt */
39 | @validationMargin: 0em 0em 0em 1em;
40 | @validationArrowOffset: -0.3em;
41 |
42 | /*-------------------
43 | States
44 | --------------------*/
45 |
46 | /* Disabled */
47 |
48 | /* Focus */
49 | @inputFocusPointerSize: 0px;
50 | @inputErrorPointerSize: 0px;
51 |
52 | /* Dropdown Error */
53 | @dropdownErrorHoverBackground: #FFF2F2;
54 | @dropdownErrorActiveBackground: #FDCFCF;
55 |
56 | /* Focused Error */
57 | @inputErrorFocusBackground: @negativeBackgroundColor;
58 | @inputErrorFocusColor: @negativeColorHover;
59 | @inputErrorFocusBorder: @negativeBorderColor;
60 | @inputErrorFocusBoxShadow: @inputErrorPointerSize 0em 0em 0em @negativeColorHover inset;
61 |
62 | /* Placeholder */
63 | @inputPlaceholderColor: lighten(@inputColor, 55);
64 | @inputPlaceholderFocusColor: lighten(@inputColor, 35);
65 | @inputErrorPlaceholderColor: lighten(@formErrorColor, 10);
66 | @inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 5);
67 |
68 | /* Loading */
69 | @formLoaderDimmerColor: rgba(255, 255, 255, 0.6);
70 | @formLoaderPath: "@{imagePath}/loader-large.gif";
71 | @formLoaderPosition: 50% 50%;
72 |
73 | /* (x) Wide Field */
74 | @gutterWidth: 1.5em;
75 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/tab.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | UI Tabs
14 | *******************************/
15 |
16 | .ui.tab {
17 | display: none;
18 | }
19 |
20 |
21 | /*******************************
22 | States
23 | *******************************/
24 |
25 |
26 | /*--------------------
27 | Active
28 | ---------------------*/
29 |
30 | .ui.tab.active,
31 | .ui.tab.open {
32 | display: block;
33 | }
34 |
35 | /*--------------------
36 | Loading
37 | ---------------------*/
38 |
39 | .ui.tab.loading {
40 | position: relative;
41 | overflow: hidden;
42 | display: block;
43 | min-height: 250px;
44 | }
45 | .ui.tab.loading * {
46 | position: relative !important;
47 | left: -10000px !important;
48 | }
49 | .ui.tab.loading:before,
50 | .ui.tab.loading.segment:before {
51 | position: absolute;
52 | content: '';
53 | top: 100px;
54 | left: 50%;
55 | margin: -1.25em 0em 0em -1.25em;
56 | width: 2.5em;
57 | height: 2.5em;
58 | border-radius: 500rem;
59 | border: 0.2em solid rgba(0, 0, 0, 0.1);
60 | }
61 | .ui.tab.loading:after,
62 | .ui.tab.loading.segment:after {
63 | position: absolute;
64 | content: '';
65 | top: 100px;
66 | left: 50%;
67 | margin: -1.25em 0em 0em -1.25em;
68 | width: 2.5em;
69 | height: 2.5em;
70 | -webkit-animation: button-spin 0.6s linear;
71 | animation: button-spin 0.6s linear;
72 | -webkit-animation-iteration-count: infinite;
73 | animation-iteration-count: infinite;
74 | border-radius: 500rem;
75 | border-color: #767676 transparent transparent;
76 | border-style: solid;
77 | border-width: 0.2em;
78 | box-shadow: 0px 0px 0px 1px transparent;
79 | }
80 |
81 |
82 | /*******************************
83 | Tab Overrides
84 | *******************************/
85 |
86 |
87 |
88 | /*******************************
89 | User Overrides
90 | *******************************/
91 |
92 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/modules/tab.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'module';
17 | @element : 'tab';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 | /*******************************
22 | UI Tabs
23 | *******************************/
24 |
25 | .ui.tab {
26 | display: none;
27 | }
28 |
29 | /*******************************
30 | States
31 | *******************************/
32 |
33 | /*--------------------
34 | Active
35 | ---------------------*/
36 |
37 | .ui.tab.active,
38 | .ui.tab.open {
39 | display: block;
40 | }
41 |
42 | /*--------------------
43 | Loading
44 | ---------------------*/
45 |
46 | .ui.tab.loading {
47 | position: relative;
48 | overflow: hidden;
49 | display: block;
50 | min-height: @loadingMinHeight;
51 | }
52 | .ui.tab.loading * {
53 | position: @loadingContentPosition !important;
54 | left: @loadingContentOffset !important;
55 | }
56 |
57 | .ui.tab.loading:before,
58 | .ui.tab.loading.segment:before {
59 | position: absolute;
60 | content: '';
61 | top: @loaderDistanceFromTop;
62 | left: 50%;
63 |
64 | margin: @loaderMargin;
65 | width: @loaderSize;
66 | height: @loaderSize;
67 |
68 | border-radius: @circularRadius;
69 | border: @loaderLineWidth solid @loaderFillColor;
70 | }
71 | .ui.tab.loading:after,
72 | .ui.tab.loading.segment:after {
73 | position: absolute;
74 | content: '';
75 | top: @loaderDistanceFromTop;
76 | left: 50%;
77 |
78 | margin: @loaderMargin;
79 | width: @loaderSize;
80 | height: @loaderSize;
81 |
82 | animation: button-spin @loaderSpeed linear;
83 | animation-iteration-count: infinite;
84 |
85 | border-radius: @circularRadius;
86 |
87 | border-color: @loaderLineColor transparent transparent;
88 | border-style: solid;
89 | border-width: @loaderLineWidth;
90 |
91 | box-shadow: 0px 0px 0px 1px transparent;
92 | }
93 |
94 | .loadUIOverrides();
95 |
--------------------------------------------------------------------------------
/client/semantic/gulpfile.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Set-up
3 | *******************************/
4 |
5 | var
6 | gulp = require('gulp-help')(require('gulp')),
7 |
8 | // read user config to know what task to load
9 | config = require('./tasks/config/user'),
10 |
11 | // watch changes
12 | watch = require('./tasks/watch'),
13 |
14 | // build all files
15 | build = require('./tasks/build'),
16 | buildJS = require('./tasks/build/javascript'),
17 | buildCSS = require('./tasks/build/css'),
18 | buildAssets = require('./tasks/build/assets'),
19 |
20 | // utility
21 | clean = require('./tasks/clean'),
22 | version = require('./tasks/version'),
23 |
24 | // docs tasks
25 | serveDocs = require('./tasks/docs/serve'),
26 | buildDocs = require('./tasks/docs/build'),
27 |
28 | // rtl
29 | buildRTL = require('./tasks/rtl/build'),
30 | watchRTL = require('./tasks/rtl/watch')
31 | ;
32 |
33 |
34 | /*******************************
35 | Tasks
36 | *******************************/
37 |
38 | gulp.task('default', false, [
39 | 'watch'
40 | ]);
41 |
42 | gulp.task('watch', 'Watch for site/theme changes', watch);
43 |
44 | gulp.task('build', 'Builds all files from source', build);
45 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS);
46 | gulp.task('build-css', 'Builds all css from source', buildCSS);
47 | gulp.task('build-assets', 'Copies all assets from source', buildAssets);
48 |
49 | gulp.task('clean', 'Clean dist folder', clean);
50 | gulp.task('version', 'Displays current version of Semantic', version);
51 |
52 | /*--------------
53 | Docs
54 | ---------------*/
55 |
56 | /*
57 | Lets you serve files to a local documentation instance
58 | https://github.com/Semantic-Org/Semantic-UI-Docs/
59 | */
60 |
61 | gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs);
62 | gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
63 |
64 |
65 | /*--------------
66 | RTL
67 | ---------------*/
68 |
69 | if(config.rtl) {
70 | gulp.task('watch-rtl', 'Watch files as RTL', watchRTL);
71 | gulp.task('build-rtl', 'Build all files as RTL', buildRTL);
72 | }
73 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/reset.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Reset
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */*,:after,:before{box-sizing:inherit}html{box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v3.0.1 | MIT License | git.io/normalize *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/container.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Container
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | /* Minimum Gutter is used to determine the maximum container width for a given device */
10 |
11 | @maxWidth: 100%;
12 |
13 | /* Devices */
14 | @mobileMinimumGutter: 0em;
15 | @mobileWidth: auto;
16 | @mobileGutter: 1em;
17 |
18 | @tabletMinimumGutter: (@emSize * 1);
19 | @tabletWidth: @tabletBreakpoint - (@tabletMinimumGutter * 2) - @scrollbarWidth;
20 | @tabletGutter: auto;
21 |
22 | @computerMinimumGutter: (@emSize * 1.5);
23 | @computerWidth: @computerBreakpoint - (@computerMinimumGutter * 2) - @scrollbarWidth;
24 | @computerGutter: auto;
25 |
26 | @largeMonitorMinimumGutter: (@emSize * 2);
27 | @largeMonitorWidth: @largeMonitorBreakpoint - (@largeMonitorMinimumGutter * 2) - @scrollbarWidth;
28 | @largeMonitorGutter: auto;
29 |
30 | /* Coupling (Add Negative Margin to container size) */
31 | @gridGutterWidth: 2rem;
32 | @relaxedGridGutterWidth: 3rem;
33 | @veryRelaxedGridGutterWidth: 5rem;
34 |
35 | @mobileGridWidth: @mobileWidth;
36 | @tabletGridWidth: ~"calc("@tabletWidth~" + "@gridGutterWidth~")";
37 | @computerGridWidth: ~"calc("@computerWidth~" + "@gridGutterWidth~")";
38 | @largeMonitorGridWidth: ~"calc("@largeMonitorWidth~" + "@gridGutterWidth~")";
39 |
40 | @mobileRelaxedGridWidth: @mobileWidth;
41 | @tabletRelaxedGridWidth: ~"calc("@tabletWidth~" + "@relaxedGridGutterWidth~")";
42 | @computerRelaxedGridWidth: ~"calc("@computerWidth~" + "@relaxedGridGutterWidth~")";
43 | @largeMonitorRelaxedGridWidth: ~"calc("@largeMonitorWidth~" + "@relaxedGridGutterWidth~")";
44 |
45 | @mobileVeryRelaxedGridWidth: @mobileWidth;
46 | @tabletVeryRelaxedGridWidth: ~"calc("@tabletWidth~" + "@veryRelaxedGridGutterWidth~")";
47 | @computerVeryRelaxedGridWidth: ~"calc("@computerWidth~" + "@veryRelaxedGridGutterWidth~")";
48 | @largeMonitorVeryRelaxedGridWidth: ~"calc("@largeMonitorWidth~" + "@veryRelaxedGridGutterWidth~")";
49 |
50 | /*-------------------
51 | Types
52 | --------------------*/
53 |
54 | /* Text */
55 | @textWidth: 700px;
56 | @textFontFamily: @pageFont;
57 | @textLineHeight: 1.5;
58 | @textSize: @large;
--------------------------------------------------------------------------------
/client/semantic/tasks/config/npm/gulpfile.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Set-up
3 | *******************************/
4 |
5 | var
6 | gulp = require('gulp-help')(require('gulp')),
7 |
8 | // read user config to know what task to load
9 | config = require('./tasks/config/user'),
10 |
11 | // watch changes
12 | watch = require('./tasks/watch'),
13 |
14 | // build all files
15 | build = require('./tasks/build'),
16 | buildJS = require('./tasks/build/javascript'),
17 | buildCSS = require('./tasks/build/css'),
18 | buildAssets = require('./tasks/build/assets'),
19 |
20 | // utility
21 | clean = require('./tasks/clean'),
22 | version = require('./tasks/version'),
23 |
24 | // docs tasks
25 | serveDocs = require('./tasks/docs/serve'),
26 | buildDocs = require('./tasks/docs/build'),
27 |
28 | // rtl
29 | buildRTL = require('./tasks/rtl/build'),
30 | watchRTL = require('./tasks/rtl/watch')
31 | ;
32 |
33 |
34 | /*******************************
35 | Tasks
36 | *******************************/
37 |
38 | gulp.task('default', false, [
39 | 'watch'
40 | ]);
41 |
42 | gulp.task('watch', 'Watch for site/theme changes', watch);
43 |
44 | gulp.task('build', 'Builds all files from source', build);
45 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS);
46 | gulp.task('build-css', 'Builds all css from source', buildCSS);
47 | gulp.task('build-assets', 'Copies all assets from source', buildAssets);
48 |
49 | gulp.task('clean', 'Clean dist folder', clean);
50 | gulp.task('version', 'Displays current version of Semantic', version);
51 |
52 | /*--------------
53 | Docs
54 | ---------------*/
55 |
56 | /*
57 | Lets you serve files to a local documentation instance
58 | https://github.com/Semantic-Org/Semantic-UI-Docs/
59 | */
60 |
61 | gulp.task('serve-docs', 'Serve file changes to SUI Docs', serveDocs);
62 | gulp.task('build-docs', 'Build all files and add to SUI Docs', buildDocs);
63 |
64 |
65 | /*--------------
66 | RTL
67 | ---------------*/
68 |
69 | if(config.rtl) {
70 | gulp.task('watch-rtl', 'Watch files as RTL', watchRTL);
71 | gulp.task('build-rtl', 'Build all files as RTL', buildRTL);
72 | }
73 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/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: bold;
9 | @textColor: #333333;
10 |
11 | @textShadow: 0px 1px 0px rgba(255, 255, 255, 0.9);
12 | @invertedTextShadow: 0px -1px 0px rgba(0, 0, 0, 0.25);
13 |
14 | @borderRadius: @relativeBorderRadius;
15 |
16 | @verticalPadding: 0.75em;
17 | @horizontalPadding: 1.15em;
18 |
19 | @backgroundColor: #FAFAFA;
20 | @backgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1));
21 | @boxShadow:
22 | 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset,
23 | 0 0 0 1px rgba(0, 0, 0, 0.13) inset,
24 | 0 1px 3px rgba(0, 0, 0, 0.05)
25 | ;
26 |
27 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2));
28 | @coloredBoxShadow:
29 | 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset,
30 | 0 0 0 1px rgba(0, 0, 0, 0.1) inset,
31 | 0 1px 3px rgba(0, 0, 0, 0.05)
32 | ;
33 |
34 | @hoverBackgroundColor: #E0E0E0;
35 | @hoverBackgroundImage: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08));
36 | @hoverBoxShadow: @boxShadow;
37 |
38 | @downBackgroundColor: '';
39 | @downBackgroundImage: '';
40 | @downBoxShadow:
41 | 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset,
42 | 0 0 0 1px rgba(0, 0, 0, 0.13) inset,
43 | 0 3px 5px rgba(0, 0, 0, 0.15) inset !important
44 | ;
45 | @activeBackgroundColor: #DFDFDF;
46 | @activeBackgroundImage: none;
47 | @activeBoxShadow:
48 | 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset,
49 | 0 0 0 1px rgba(0, 0, 0, 0.13) inset,
50 | 0 3px 5px rgba(0, 0, 0, 0.1) inset !important
51 | ;
52 |
53 | @labeledIconBackgroundColor: transparent;
54 | @labeledIconBorder: transparent;
55 | @labeledIconPadding: (@horizontalPadding + 2.25em);
56 |
57 | @basicFontWeight: bold;
58 | @basicTextColor: @linkColor;
59 | @basicHoverTextColor: @linkHoverColor;
60 |
61 | @basicHoverBackground: #E0E0E0;
62 |
63 | @blue: #3072B3;
64 | @green: #60B044;
65 | @black: #5D5D5D;
66 |
67 | @primaryColor: @blue;
68 | @secondaryColor: @black;
69 |
70 | @mini: 0.6rem;
71 | @tiny: 0.7rem;
72 | @small: 0.85rem;
73 | @medium: 0.92rem;
74 | @large: 1rem;
75 | @big: 1.125rem;
76 | @huge: 1.25rem;
77 | @massive: 1.3rem;
78 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Item
3 | *******************************/
4 | /*-------------------
5 | View
6 | --------------------*/
7 |
8 | /* Item */
9 | @background: #FFFFFF;
10 | @borderRadius: 0.325rem;
11 | @display: block;
12 | @float: left;
13 | @margin: 0em @horizontalSpacing @rowSpacing;
14 | @minHeight: 0px;
15 | @padding: 0em;
16 | @width: 300px;
17 | @boxShadow:
18 | 0px 0px 0px 1px @borderColor,
19 | 0px 3px 0px 0px @borderColor
20 | ;
21 | @border: none;
22 | @zIndex: '';
23 |
24 | /* Item Group */
25 | @horizontalSpacing: 0.5em;
26 | @rowSpacing: 2.5em;
27 | @groupMargin: 1em -@horizontalSpacing;
28 |
29 | /*-------------------
30 | Content
31 | --------------------*/
32 |
33 | /* Image */
34 | @imageBackground: @transparentBlack;
35 | @imagePadding: 0em;
36 | @imageBorderRadius: @borderRadius @borderRadius 0em 0em;
37 | @imageBoxShadow: none;
38 | @imageBorder: none;
39 |
40 | /* Content */
41 | @contentMargin: 0em;
42 | @contentPadding: 0.75em 1em;
43 | @contentFontSize: 1em;
44 | @contentBorder: none;
45 | @contentBorderRadius: 0em;
46 | @contentBoxShadow: none;
47 |
48 | /* Title */
49 | @titleMargin: 0em;
50 | @titleFont: @headerFont;
51 | @titleFontWeight: bold;
52 | @titleFontSize: 1.25em;
53 | @titleColor: @darkTextColor;
54 |
55 | /* Metadata */
56 | @metaColor: @lightTextColor;
57 |
58 | /* Description */
59 | @descriptionDistance: 0.75em;
60 | @descriptionColor: @lightTextColor;
61 |
62 | /* Image */
63 | @imageSpacing: 0.25em;
64 | @contentImageWidth: 2em;
65 | @contentImageVerticalAlign: middle;
66 |
67 | /* Paragraph */
68 | @paragraphDistance: 0.1em;
69 |
70 | /* Additional Content */
71 | @extraDisplay: absolute;
72 | @extraTop: 100%;
73 | @extraLeft: 0em;
74 | @extraWidth: 100%;
75 |
76 | @extraPadding: 0.5em 0.75em;
77 | @extraColor: @lightTextColor;
78 | @extraTransition: color @defaultDuration @defaultEasing;
79 |
80 | /*-------------------
81 | States
82 | --------------------*/
83 |
84 | @hoverCursor: pointer;
85 | @hoverZIndex: 5;
86 | @hoverBorder: none;
87 | @hoverBoxShadow:
88 | 0px 0px 0px 1px @selectedBorderColor,
89 | 0px 3px 0px 0px @selectedBorderColor
90 | ;
91 |
92 |
93 | /*-------------------
94 | Variations
95 | --------------------*/
96 |
97 | /* Sizes */
98 | @medium: 1em;
--------------------------------------------------------------------------------