From a80c154fcf8bbc9fbaed89a9e3d3426ace04cdfe Mon Sep 17 00:00:00 2001 From: jlukic Date: Wed, 15 Oct 2014 14:05:47 -0400 Subject: [PATCH] Moving around --- _site/collections/breadcrumb.overrides | 3 - _site/collections/breadcrumb.variables | 3 - _site/collections/form.overrides | 3 - _site/collections/form.variables | 3 - _site/collections/grid.overrides | 3 - _site/collections/grid.variables | 3 - _site/collections/menu.overrides | 3 - _site/collections/menu.variables | 3 - _site/collections/message.overrides | 3 - _site/collections/message.variables | 3 - _site/collections/table.overrides | 3 - _site/collections/table.variables | 3 - _site/elements/button.overrides | 3 - _site/elements/button.variables | 3 - _site/elements/divider.overrides | 3 - _site/elements/divider.variables | 3 - _site/elements/flag.overrides | 3 - _site/elements/flag.variables | 3 - _site/elements/header.overrides | 3 - _site/elements/header.variables | 3 - _site/elements/icon.overrides | 3 - _site/elements/icon.variables | 3 - _site/elements/image.overrides | 3 - _site/elements/image.variables | 3 - _site/elements/input.overrides | 3 - _site/elements/input.variables | 3 - _site/elements/label.overrides | 3 - _site/elements/label.variables | 3 - _site/elements/list.overrides | 3 - _site/elements/list.variables | 3 - _site/elements/loader.overrides | 3 - _site/elements/loader.variables | 3 - _site/elements/rail.overrides | 3 - _site/elements/rail.variables | 3 - _site/elements/reveal.overrides | 3 - _site/elements/reveal.variables | 3 - _site/elements/segment.overrides | 3 - _site/elements/segment.variables | 3 - _site/elements/step.overrides | 15 - _site/elements/step.variables | 3 - _site/globals/reset.overrides | 3 - _site/globals/reset.variables | 3 - _site/globals/site.overrides | 3 - _site/globals/site.variables | 3 - _site/modules/accordion.overrides | 3 - _site/modules/accordion.variables | 3 - _site/modules/chatroom.overrides | 3 - _site/modules/chatroom.variables | 3 - _site/modules/checkbox.overrides | 3 - _site/modules/checkbox.variables | 3 - _site/modules/dimmer.overrides | 3 - _site/modules/dimmer.variables | 3 - _site/modules/dropdown.overrides | 3 - _site/modules/dropdown.variables | 3 - _site/modules/modal.overrides | 3 - _site/modules/modal.variables | 3 - _site/modules/nag.overrides | 3 - _site/modules/nag.variables | 3 - _site/modules/popup.overrides | 3 - _site/modules/popup.variables | 3 - _site/modules/progress.overrides | 3 - _site/modules/progress.variables | 3 - _site/modules/rating.overrides | 3 - _site/modules/rating.variables | 3 - _site/modules/search.overrides | 3 - _site/modules/search.variables | 3 - _site/modules/shape.overrides | 3 - _site/modules/shape.variables | 3 - _site/modules/sidebar.overrides | 3 - _site/modules/sidebar.variables | 3 - _site/modules/sticky.overrides | 3 - _site/modules/sticky.variables | 3 - _site/modules/tab.overrides | 3 - _site/modules/tab.variables | 3 - _site/modules/transition.overrides | 3 - _site/modules/transition.variables | 3 - _site/modules/video.overrides | 3 - _site/modules/video.variables | 0 _site/views/card.overrides | 3 - _site/views/card.variables | 3 - _site/views/comment.overrides | 3 - _site/views/comment.variables | 3 - _site/views/feed.overrides | 3 - _site/views/feed.variables | 3 - _site/views/item.overrides | 3 - _site/views/item.variables | 3 - _site/views/statistic.overrides | 3 - _site/views/statistic.variables | 3 - definitions/behaviors/api.js | 838 ------ definitions/behaviors/colorize.js | 270 -- definitions/behaviors/form.js | 795 ------ definitions/behaviors/state.js | 690 ----- definitions/behaviors/visibility.js | 916 ------- definitions/behaviors/visit.js | 516 ---- definitions/collections/breadcrumb.less | 122 - definitions/collections/form.less | 786 ------ definitions/collections/grid.less | 1192 --------- definitions/collections/menu.less | 1613 ----------- definitions/collections/message.less | 431 --- definitions/collections/table.less | 873 ------ definitions/elements/button.less | 2383 ----------------- definitions/elements/divider.less | 255 -- definitions/elements/flag.less | 46 - definitions/elements/header.less | 538 ---- definitions/elements/icon.less | 357 --- definitions/elements/image.less | 261 -- definitions/elements/input.less | 407 --- definitions/elements/label.less | 964 ------- definitions/elements/list.less | 744 ----- definitions/elements/loader.less | 260 -- definitions/elements/rail.less | 98 - definitions/elements/reveal.less | 288 -- definitions/elements/segment.less | 492 ---- definitions/elements/step.less | 352 --- definitions/globals/reset.less | 40 - definitions/globals/site.js | 487 ---- definitions/globals/site.less | 115 - definitions/modules/accordion.js | 504 ---- definitions/modules/accordion.less | 205 -- definitions/modules/chatroom.js | 776 ------ definitions/modules/chatroom.less | 280 -- definitions/modules/checkbox.js | 462 ---- definitions/modules/checkbox.less | 461 ---- definitions/modules/dimmer.js | 626 ----- definitions/modules/dimmer.less | 174 -- definitions/modules/dropdown.js | 1440 ---------- definitions/modules/dropdown.less | 795 ------ definitions/modules/modal.js | 790 ------ definitions/modules/modal.less | 439 --- definitions/modules/nag.js | 480 ---- definitions/modules/nag.less | 159 -- definitions/modules/popup.js | 997 ------- definitions/modules/popup.less | 272 -- definitions/modules/progress.js | 645 ----- definitions/modules/progress.less | 390 --- definitions/modules/rating.js | 451 ---- definitions/modules/rating.less | 199 -- definitions/modules/search.js | 844 ------ definitions/modules/search.less | 265 -- definitions/modules/shape.js | 798 ------ definitions/modules/shape.less | 152 -- definitions/modules/sidebar.js | 853 ------ definitions/modules/sidebar.less | 457 ---- definitions/modules/sticky.js | 768 ------ definitions/modules/sticky.less | 73 - definitions/modules/tab.js | 795 ------ definitions/modules/tab.less | 71 - definitions/modules/transition.js | 849 ------ definitions/modules/transition.less | 89 - definitions/modules/video.js | 539 ---- definitions/modules/video.less | 125 - definitions/views/card.less | 742 ----- definitions/views/comment.less | 256 -- definitions/views/feed.less | 272 -- definitions/views/item.less | 469 ---- definitions/views/statistic.less | 411 --- themes/amazon/elements/button.overrides | 42 - themes/amazon/elements/button.variables | 59 - themes/basic/assets/fonts/icons.eot | Bin 40166 -> 0 bytes themes/basic/assets/fonts/icons.svg | 450 ---- themes/basic/assets/fonts/icons.ttf | Bin 39924 -> 0 bytes themes/basic/assets/fonts/icons.woff | Bin 24676 -> 0 bytes themes/basic/elements/button.overrides | 4 - themes/basic/elements/button.variables | 44 - themes/basic/elements/icon.overrides | 189 -- themes/basic/elements/icon.variables | 3 - themes/basic/elements/step.overrides | 7 - themes/basic/elements/step.variables | 10 - themes/basic/globals/reset.overrides | 5 - themes/basic/globals/reset.variables | 3 - themes/basic/modules/progress.overrides | 3 - themes/basic/modules/progress.variables | 15 - themes/basic/views/card.overrides | 4 - themes/basic/views/card.variables | 34 - themes/bookish/elements/header.overrides | 15 - themes/bookish/elements/header.variables | 37 - themes/chubby/collections/form.overrides | 8 - themes/chubby/collections/form.variables | 9 - themes/chubby/elements/button.overrides | 21 - themes/chubby/elements/button.variables | 57 - themes/chubby/elements/header.overrides | 5 - themes/chubby/elements/header.variables | 21 - themes/chubby/modules/accordion.overrides | 7 - themes/chubby/modules/accordion.variables | 15 - themes/chubby/views/comment.overrides | 12 - themes/chubby/views/comment.variables | 46 - themes/classic/collections/table.overrides | 3 - themes/classic/collections/table.variables | 14 - themes/classic/elements/button.overrides | 3 - themes/classic/elements/button.variables | 96 - themes/classic/elements/header.overrides | 3 - themes/classic/elements/header.variables | 10 - themes/classic/modules/progress.overrides | 3 - themes/classic/modules/progress.variables | 8 - themes/classic/views/card.overrides | 98 - themes/classic/views/card.variables | 22 - themes/default/assets/fonts/icons.eot | Bin 72449 -> 0 bytes themes/default/assets/fonts/icons.otf | Bin 75188 -> 0 bytes themes/default/assets/fonts/icons.svg | 504 ---- themes/default/assets/fonts/icons.ttf | Bin 141564 -> 0 bytes themes/default/assets/fonts/icons.woff | Bin 83760 -> 0 bytes themes/default/assets/images/flags.png | Bin 145781 -> 0 bytes .../assets/images/loader-large-inverted.gif | Bin 10168 -> 0 bytes themes/default/assets/images/loader-large.gif | Bin 8492 -> 0 bytes .../assets/images/loader-medium-inverted.gif | Bin 5384 -> 0 bytes .../default/assets/images/loader-medium.gif | Bin 4472 -> 0 bytes .../assets/images/loader-mini-inverted.gif | Bin 2722 -> 0 bytes themes/default/assets/images/loader-mini.gif | Bin 2548 -> 0 bytes .../assets/images/loader-small-inverted.gif | Bin 4241 -> 0 bytes themes/default/assets/images/loader-small.gif | Bin 3447 -> 0 bytes .../default/collections/breadcrumb.overrides | 3 - .../default/collections/breadcrumb.variables | 43 - themes/default/collections/form.overrides | 3 - themes/default/collections/form.variables | 178 -- themes/default/collections/grid.overrides | 4 - themes/default/collections/grid.variables | 98 - themes/default/collections/menu.overrides | 3 - themes/default/collections/menu.variables | 322 --- themes/default/collections/message.overrides | 3 - themes/default/collections/message.variables | 88 - themes/default/collections/table.overrides | 3 - themes/default/collections/table.variables | 226 -- themes/default/elements/button.overrides | 3 - themes/default/elements/button.variables | 259 -- themes/default/elements/divider.overrides | 3 - themes/default/elements/divider.variables | 51 - themes/default/elements/flag.overrides | 979 ------- themes/default/elements/flag.variables | 13 - themes/default/elements/header.overrides | 4 - themes/default/elements/header.variables | 132 - themes/default/elements/icon.overrides | 661 ----- themes/default/elements/icon.variables | 33 - themes/default/elements/image.overrides | 3 - themes/default/elements/image.variables | 52 - themes/default/elements/input.overrides | 3 - themes/default/elements/input.variables | 111 - themes/default/elements/label.overrides | 3 - themes/default/elements/label.variables | 151 -- themes/default/elements/list.overrides | 3 - themes/default/elements/list.variables | 213 -- themes/default/elements/loader.overrides | 3 - themes/default/elements/loader.variables | 52 - themes/default/elements/rail.overrides | 3 - themes/default/elements/rail.variables | 24 - themes/default/elements/reveal.overrides | 3 - themes/default/elements/reveal.variables | 15 - themes/default/elements/segment.overrides | 3 - themes/default/elements/segment.variables | 85 - themes/default/elements/step.overrides | 3 - themes/default/elements/step.variables | 98 - themes/default/globals/reset.overrides | 434 --- themes/default/globals/reset.variables | 3 - themes/default/globals/site.overrides | 3 - themes/default/globals/site.variables | 517 ---- themes/default/modules/accordion.overrides | 28 - themes/default/modules/accordion.variables | 100 - themes/default/modules/chatroom.overrides | 3 - themes/default/modules/chatroom.variables | 3 - themes/default/modules/checkbox.overrides | 31 - themes/default/modules/checkbox.variables | 139 - themes/default/modules/dimmer.overrides | 3 - themes/default/modules/dimmer.variables | 50 - themes/default/modules/dropdown.overrides | 57 - themes/default/modules/dropdown.variables | 221 -- themes/default/modules/modal.overrides | 3 - themes/default/modules/modal.variables | 144 - themes/default/modules/nag.overrides | 3 - themes/default/modules/nag.variables | 74 - themes/default/modules/popup.overrides | 3 - themes/default/modules/popup.variables | 93 - themes/default/modules/progress.overrides | 3 - themes/default/modules/progress.variables | 98 - themes/default/modules/rating.overrides | 69 - themes/default/modules/rating.variables | 65 - themes/default/modules/search.overrides | 3 - themes/default/modules/search.variables | 102 - themes/default/modules/shape.overrides | 3 - themes/default/modules/shape.variables | 35 - themes/default/modules/sidebar.overrides | 3 - themes/default/modules/sidebar.variables | 20 - themes/default/modules/sticky.overrides | 3 - themes/default/modules/sticky.variables | 11 - themes/default/modules/tab.overrides | 3 - themes/default/modules/tab.variables | 15 - themes/default/modules/transition.overrides | 447 ---- themes/default/modules/transition.variables | 10 - themes/default/modules/video.overrides | 3 - themes/default/modules/video.variables | 16 - themes/default/views/card.overrides | 98 - themes/default/views/card.variables | 185 -- themes/default/views/comment.overrides | 3 - themes/default/views/comment.variables | 104 - themes/default/views/feed.overrides | 3 - themes/default/views/feed.variables | 149 -- themes/default/views/item.overrides | 3 - themes/default/views/item.variables | 152 -- themes/default/views/statistic.overrides | 3 - themes/default/views/statistic.variables | 97 - themes/fixed-width/modules/modal.overrides | 3 - themes/fixed-width/modules/modal.variables | 37 - themes/flat/collections/form.overrides | 24 - themes/flat/collections/form.variables | 74 - themes/flat/globals/site.overrides | 3 - themes/flat/globals/site.variables | 484 ---- themes/github/collections/form.overrides | 16 - themes/github/collections/form.variables | 40 - themes/github/collections/menu.overrides | 7 - themes/github/collections/menu.variables | 66 - themes/github/collections/message.overrides | 11 - themes/github/collections/message.variables | 29 - themes/github/elements/button.overrides | 4 - themes/github/elements/button.variables | 71 - themes/github/elements/segment.overrides | 3 - themes/github/elements/segment.variables | 41 - themes/github/elements/step.overrides | 26 - themes/github/elements/step.variables | 20 - themes/google/collections/message.overrides | 0 themes/google/collections/message.variables | 15 - themes/google/elements/button.overrides | 23 - themes/google/elements/button.variables | 85 - themes/raised/elements/button.overrides | 9 - themes/raised/elements/button.variables | 27 - themes/resetcss/globals/reset.overrides | 52 - themes/resetcss/globals/reset.variables | 3 - themes/round/elements/button.overrides | 0 themes/round/elements/button.variables | 143 - themes/striped/modules/progress.overrides | 29 - themes/striped/modules/progress.variables | 3 - themes/timeline/views/feed.overrides | 35 - themes/timeline/views/feed.variables | 40 - 330 files changed, 47645 deletions(-) delete mode 100644 _site/collections/breadcrumb.overrides delete mode 100644 _site/collections/breadcrumb.variables delete mode 100644 _site/collections/form.overrides delete mode 100644 _site/collections/form.variables delete mode 100644 _site/collections/grid.overrides delete mode 100644 _site/collections/grid.variables delete mode 100644 _site/collections/menu.overrides delete mode 100644 _site/collections/menu.variables delete mode 100644 _site/collections/message.overrides delete mode 100644 _site/collections/message.variables delete mode 100644 _site/collections/table.overrides delete mode 100644 _site/collections/table.variables delete mode 100644 _site/elements/button.overrides delete mode 100644 _site/elements/button.variables delete mode 100644 _site/elements/divider.overrides delete mode 100644 _site/elements/divider.variables delete mode 100644 _site/elements/flag.overrides delete mode 100644 _site/elements/flag.variables delete mode 100644 _site/elements/header.overrides delete mode 100644 _site/elements/header.variables delete mode 100644 _site/elements/icon.overrides delete mode 100644 _site/elements/icon.variables delete mode 100644 _site/elements/image.overrides delete mode 100644 _site/elements/image.variables delete mode 100644 _site/elements/input.overrides delete mode 100644 _site/elements/input.variables delete mode 100644 _site/elements/label.overrides delete mode 100644 _site/elements/label.variables delete mode 100644 _site/elements/list.overrides delete mode 100644 _site/elements/list.variables delete mode 100644 _site/elements/loader.overrides delete mode 100644 _site/elements/loader.variables delete mode 100644 _site/elements/rail.overrides delete mode 100644 _site/elements/rail.variables delete mode 100644 _site/elements/reveal.overrides delete mode 100644 _site/elements/reveal.variables delete mode 100644 _site/elements/segment.overrides delete mode 100644 _site/elements/segment.variables delete mode 100644 _site/elements/step.overrides delete mode 100644 _site/elements/step.variables delete mode 100644 _site/globals/reset.overrides delete mode 100644 _site/globals/reset.variables delete mode 100644 _site/globals/site.overrides delete mode 100644 _site/globals/site.variables delete mode 100644 _site/modules/accordion.overrides delete mode 100644 _site/modules/accordion.variables delete mode 100644 _site/modules/chatroom.overrides delete mode 100644 _site/modules/chatroom.variables delete mode 100644 _site/modules/checkbox.overrides delete mode 100644 _site/modules/checkbox.variables delete mode 100644 _site/modules/dimmer.overrides delete mode 100644 _site/modules/dimmer.variables delete mode 100644 _site/modules/dropdown.overrides delete mode 100644 _site/modules/dropdown.variables delete mode 100644 _site/modules/modal.overrides delete mode 100644 _site/modules/modal.variables delete mode 100644 _site/modules/nag.overrides delete mode 100644 _site/modules/nag.variables delete mode 100644 _site/modules/popup.overrides delete mode 100644 _site/modules/popup.variables delete mode 100644 _site/modules/progress.overrides delete mode 100644 _site/modules/progress.variables delete mode 100644 _site/modules/rating.overrides delete mode 100644 _site/modules/rating.variables delete mode 100644 _site/modules/search.overrides delete mode 100644 _site/modules/search.variables delete mode 100644 _site/modules/shape.overrides delete mode 100644 _site/modules/shape.variables delete mode 100644 _site/modules/sidebar.overrides delete mode 100644 _site/modules/sidebar.variables delete mode 100644 _site/modules/sticky.overrides delete mode 100644 _site/modules/sticky.variables delete mode 100644 _site/modules/tab.overrides delete mode 100644 _site/modules/tab.variables delete mode 100644 _site/modules/transition.overrides delete mode 100644 _site/modules/transition.variables delete mode 100644 _site/modules/video.overrides delete mode 100644 _site/modules/video.variables delete mode 100644 _site/views/card.overrides delete mode 100644 _site/views/card.variables delete mode 100644 _site/views/comment.overrides delete mode 100644 _site/views/comment.variables delete mode 100644 _site/views/feed.overrides delete mode 100644 _site/views/feed.variables delete mode 100644 _site/views/item.overrides delete mode 100644 _site/views/item.variables delete mode 100644 _site/views/statistic.overrides delete mode 100644 _site/views/statistic.variables delete mode 100644 definitions/behaviors/api.js delete mode 100644 definitions/behaviors/colorize.js delete mode 100644 definitions/behaviors/form.js delete mode 100644 definitions/behaviors/state.js delete mode 100644 definitions/behaviors/visibility.js delete mode 100644 definitions/behaviors/visit.js delete mode 100644 definitions/collections/breadcrumb.less delete mode 100644 definitions/collections/form.less delete mode 100644 definitions/collections/grid.less delete mode 100644 definitions/collections/menu.less delete mode 100644 definitions/collections/message.less delete mode 100644 definitions/collections/table.less delete mode 100644 definitions/elements/button.less delete mode 100644 definitions/elements/divider.less delete mode 100644 definitions/elements/flag.less delete mode 100644 definitions/elements/header.less delete mode 100644 definitions/elements/icon.less delete mode 100644 definitions/elements/image.less delete mode 100644 definitions/elements/input.less delete mode 100644 definitions/elements/label.less delete mode 100644 definitions/elements/list.less delete mode 100644 definitions/elements/loader.less delete mode 100644 definitions/elements/rail.less delete mode 100644 definitions/elements/reveal.less delete mode 100644 definitions/elements/segment.less delete mode 100644 definitions/elements/step.less delete mode 100644 definitions/globals/reset.less delete mode 100644 definitions/globals/site.js delete mode 100644 definitions/globals/site.less delete mode 100644 definitions/modules/accordion.js delete mode 100644 definitions/modules/accordion.less delete mode 100644 definitions/modules/chatroom.js delete mode 100644 definitions/modules/chatroom.less delete mode 100644 definitions/modules/checkbox.js delete mode 100644 definitions/modules/checkbox.less delete mode 100644 definitions/modules/dimmer.js delete mode 100644 definitions/modules/dimmer.less delete mode 100644 definitions/modules/dropdown.js delete mode 100644 definitions/modules/dropdown.less delete mode 100644 definitions/modules/modal.js delete mode 100644 definitions/modules/modal.less delete mode 100644 definitions/modules/nag.js delete mode 100644 definitions/modules/nag.less delete mode 100644 definitions/modules/popup.js delete mode 100644 definitions/modules/popup.less delete mode 100644 definitions/modules/progress.js delete mode 100644 definitions/modules/progress.less delete mode 100644 definitions/modules/rating.js delete mode 100644 definitions/modules/rating.less delete mode 100644 definitions/modules/search.js delete mode 100644 definitions/modules/search.less delete mode 100644 definitions/modules/shape.js delete mode 100644 definitions/modules/shape.less delete mode 100644 definitions/modules/sidebar.js delete mode 100644 definitions/modules/sidebar.less delete mode 100644 definitions/modules/sticky.js delete mode 100644 definitions/modules/sticky.less delete mode 100644 definitions/modules/tab.js delete mode 100644 definitions/modules/tab.less delete mode 100644 definitions/modules/transition.js delete mode 100644 definitions/modules/transition.less delete mode 100644 definitions/modules/video.js delete mode 100644 definitions/modules/video.less delete mode 100644 definitions/views/card.less delete mode 100644 definitions/views/comment.less delete mode 100644 definitions/views/feed.less delete mode 100644 definitions/views/item.less delete mode 100644 definitions/views/statistic.less delete mode 100644 themes/amazon/elements/button.overrides delete mode 100644 themes/amazon/elements/button.variables delete mode 100644 themes/basic/assets/fonts/icons.eot delete mode 100644 themes/basic/assets/fonts/icons.svg delete mode 100644 themes/basic/assets/fonts/icons.ttf delete mode 100644 themes/basic/assets/fonts/icons.woff delete mode 100644 themes/basic/elements/button.overrides delete mode 100644 themes/basic/elements/button.variables delete mode 100644 themes/basic/elements/icon.overrides delete mode 100644 themes/basic/elements/icon.variables delete mode 100644 themes/basic/elements/step.overrides delete mode 100644 themes/basic/elements/step.variables delete mode 100644 themes/basic/globals/reset.overrides delete mode 100644 themes/basic/globals/reset.variables delete mode 100644 themes/basic/modules/progress.overrides delete mode 100644 themes/basic/modules/progress.variables delete mode 100644 themes/basic/views/card.overrides delete mode 100644 themes/basic/views/card.variables delete mode 100644 themes/bookish/elements/header.overrides delete mode 100644 themes/bookish/elements/header.variables delete mode 100644 themes/chubby/collections/form.overrides delete mode 100644 themes/chubby/collections/form.variables delete mode 100644 themes/chubby/elements/button.overrides delete mode 100644 themes/chubby/elements/button.variables delete mode 100644 themes/chubby/elements/header.overrides delete mode 100644 themes/chubby/elements/header.variables delete mode 100644 themes/chubby/modules/accordion.overrides delete mode 100644 themes/chubby/modules/accordion.variables delete mode 100644 themes/chubby/views/comment.overrides delete mode 100644 themes/chubby/views/comment.variables delete mode 100644 themes/classic/collections/table.overrides delete mode 100644 themes/classic/collections/table.variables delete mode 100644 themes/classic/elements/button.overrides delete mode 100644 themes/classic/elements/button.variables delete mode 100644 themes/classic/elements/header.overrides delete mode 100644 themes/classic/elements/header.variables delete mode 100644 themes/classic/modules/progress.overrides delete mode 100644 themes/classic/modules/progress.variables delete mode 100644 themes/classic/views/card.overrides delete mode 100644 themes/classic/views/card.variables delete mode 100644 themes/default/assets/fonts/icons.eot delete mode 100644 themes/default/assets/fonts/icons.otf delete mode 100644 themes/default/assets/fonts/icons.svg delete mode 100644 themes/default/assets/fonts/icons.ttf delete mode 100644 themes/default/assets/fonts/icons.woff delete mode 100644 themes/default/assets/images/flags.png delete mode 100644 themes/default/assets/images/loader-large-inverted.gif delete mode 100644 themes/default/assets/images/loader-large.gif delete mode 100644 themes/default/assets/images/loader-medium-inverted.gif delete mode 100644 themes/default/assets/images/loader-medium.gif delete mode 100644 themes/default/assets/images/loader-mini-inverted.gif delete mode 100644 themes/default/assets/images/loader-mini.gif delete mode 100644 themes/default/assets/images/loader-small-inverted.gif delete mode 100644 themes/default/assets/images/loader-small.gif delete mode 100644 themes/default/collections/breadcrumb.overrides delete mode 100644 themes/default/collections/breadcrumb.variables delete mode 100644 themes/default/collections/form.overrides delete mode 100644 themes/default/collections/form.variables delete mode 100644 themes/default/collections/grid.overrides delete mode 100644 themes/default/collections/grid.variables delete mode 100644 themes/default/collections/menu.overrides delete mode 100644 themes/default/collections/menu.variables delete mode 100644 themes/default/collections/message.overrides delete mode 100644 themes/default/collections/message.variables delete mode 100644 themes/default/collections/table.overrides delete mode 100644 themes/default/collections/table.variables delete mode 100644 themes/default/elements/button.overrides delete mode 100644 themes/default/elements/button.variables delete mode 100644 themes/default/elements/divider.overrides delete mode 100644 themes/default/elements/divider.variables delete mode 100644 themes/default/elements/flag.overrides delete mode 100644 themes/default/elements/flag.variables delete mode 100644 themes/default/elements/header.overrides delete mode 100644 themes/default/elements/header.variables delete mode 100644 themes/default/elements/icon.overrides delete mode 100644 themes/default/elements/icon.variables delete mode 100644 themes/default/elements/image.overrides delete mode 100644 themes/default/elements/image.variables delete mode 100644 themes/default/elements/input.overrides delete mode 100644 themes/default/elements/input.variables delete mode 100644 themes/default/elements/label.overrides delete mode 100644 themes/default/elements/label.variables delete mode 100644 themes/default/elements/list.overrides delete mode 100644 themes/default/elements/list.variables delete mode 100644 themes/default/elements/loader.overrides delete mode 100644 themes/default/elements/loader.variables delete mode 100644 themes/default/elements/rail.overrides delete mode 100644 themes/default/elements/rail.variables delete mode 100644 themes/default/elements/reveal.overrides delete mode 100644 themes/default/elements/reveal.variables delete mode 100644 themes/default/elements/segment.overrides delete mode 100644 themes/default/elements/segment.variables delete mode 100644 themes/default/elements/step.overrides delete mode 100644 themes/default/elements/step.variables delete mode 100644 themes/default/globals/reset.overrides delete mode 100644 themes/default/globals/reset.variables delete mode 100644 themes/default/globals/site.overrides delete mode 100644 themes/default/globals/site.variables delete mode 100644 themes/default/modules/accordion.overrides delete mode 100644 themes/default/modules/accordion.variables delete mode 100644 themes/default/modules/chatroom.overrides delete mode 100644 themes/default/modules/chatroom.variables delete mode 100644 themes/default/modules/checkbox.overrides delete mode 100644 themes/default/modules/checkbox.variables delete mode 100644 themes/default/modules/dimmer.overrides delete mode 100644 themes/default/modules/dimmer.variables delete mode 100644 themes/default/modules/dropdown.overrides delete mode 100644 themes/default/modules/dropdown.variables delete mode 100644 themes/default/modules/modal.overrides delete mode 100644 themes/default/modules/modal.variables delete mode 100644 themes/default/modules/nag.overrides delete mode 100644 themes/default/modules/nag.variables delete mode 100644 themes/default/modules/popup.overrides delete mode 100644 themes/default/modules/popup.variables delete mode 100644 themes/default/modules/progress.overrides delete mode 100644 themes/default/modules/progress.variables delete mode 100644 themes/default/modules/rating.overrides delete mode 100644 themes/default/modules/rating.variables delete mode 100644 themes/default/modules/search.overrides delete mode 100644 themes/default/modules/search.variables delete mode 100644 themes/default/modules/shape.overrides delete mode 100644 themes/default/modules/shape.variables delete mode 100644 themes/default/modules/sidebar.overrides delete mode 100644 themes/default/modules/sidebar.variables delete mode 100644 themes/default/modules/sticky.overrides delete mode 100644 themes/default/modules/sticky.variables delete mode 100644 themes/default/modules/tab.overrides delete mode 100644 themes/default/modules/tab.variables delete mode 100644 themes/default/modules/transition.overrides delete mode 100644 themes/default/modules/transition.variables delete mode 100644 themes/default/modules/video.overrides delete mode 100644 themes/default/modules/video.variables delete mode 100644 themes/default/views/card.overrides delete mode 100644 themes/default/views/card.variables delete mode 100644 themes/default/views/comment.overrides delete mode 100644 themes/default/views/comment.variables delete mode 100644 themes/default/views/feed.overrides delete mode 100644 themes/default/views/feed.variables delete mode 100644 themes/default/views/item.overrides delete mode 100644 themes/default/views/item.variables delete mode 100644 themes/default/views/statistic.overrides delete mode 100644 themes/default/views/statistic.variables delete mode 100644 themes/fixed-width/modules/modal.overrides delete mode 100644 themes/fixed-width/modules/modal.variables delete mode 100644 themes/flat/collections/form.overrides delete mode 100644 themes/flat/collections/form.variables delete mode 100644 themes/flat/globals/site.overrides delete mode 100644 themes/flat/globals/site.variables delete mode 100644 themes/github/collections/form.overrides delete mode 100644 themes/github/collections/form.variables delete mode 100644 themes/github/collections/menu.overrides delete mode 100644 themes/github/collections/menu.variables delete mode 100644 themes/github/collections/message.overrides delete mode 100644 themes/github/collections/message.variables delete mode 100644 themes/github/elements/button.overrides delete mode 100644 themes/github/elements/button.variables delete mode 100644 themes/github/elements/segment.overrides delete mode 100644 themes/github/elements/segment.variables delete mode 100644 themes/github/elements/step.overrides delete mode 100644 themes/github/elements/step.variables delete mode 100644 themes/google/collections/message.overrides delete mode 100644 themes/google/collections/message.variables delete mode 100644 themes/google/elements/button.overrides delete mode 100644 themes/google/elements/button.variables delete mode 100644 themes/raised/elements/button.overrides delete mode 100644 themes/raised/elements/button.variables delete mode 100644 themes/resetcss/globals/reset.overrides delete mode 100644 themes/resetcss/globals/reset.variables delete mode 100644 themes/round/elements/button.overrides delete mode 100644 themes/round/elements/button.variables delete mode 100644 themes/striped/modules/progress.overrides delete mode 100644 themes/striped/modules/progress.variables delete mode 100644 themes/timeline/views/feed.overrides delete mode 100644 themes/timeline/views/feed.variables diff --git a/_site/collections/breadcrumb.overrides b/_site/collections/breadcrumb.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/breadcrumb.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/breadcrumb.variables b/_site/collections/breadcrumb.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/breadcrumb.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/form.overrides b/_site/collections/form.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/form.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/form.variables b/_site/collections/form.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/form.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/collections/grid.overrides b/_site/collections/grid.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/grid.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/grid.variables b/_site/collections/grid.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/grid.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/collections/menu.overrides b/_site/collections/menu.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/menu.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/menu.variables b/_site/collections/menu.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/menu.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/collections/message.overrides b/_site/collections/message.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/message.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/collections/message.variables b/_site/collections/message.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/message.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/collections/table.overrides b/_site/collections/table.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/collections/table.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/collections/table.variables b/_site/collections/table.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/collections/table.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/button.overrides b/_site/elements/button.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/button.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/button.variables b/_site/elements/button.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/button.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/divider.overrides b/_site/elements/divider.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/divider.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/divider.variables b/_site/elements/divider.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/divider.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/flag.overrides b/_site/elements/flag.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/flag.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/flag.variables b/_site/elements/flag.variables deleted file mode 100644 index e3e125d6fb..0000000000 --- a/_site/elements/flag.variables +++ /dev/null @@ -1,3 +0,0 @@ -/*------------------- - Flag Variables ---------------------*/ diff --git a/_site/elements/header.overrides b/_site/elements/header.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/header.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/header.variables b/_site/elements/header.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/header.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/icon.overrides b/_site/elements/icon.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/icon.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/icon.variables b/_site/elements/icon.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/icon.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/image.overrides b/_site/elements/image.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/image.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/image.variables b/_site/elements/image.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/image.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/input.overrides b/_site/elements/input.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/input.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/input.variables b/_site/elements/input.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/input.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/label.overrides b/_site/elements/label.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/label.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/label.variables b/_site/elements/label.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/label.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/list.overrides b/_site/elements/list.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/list.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/list.variables b/_site/elements/list.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/list.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/loader.overrides b/_site/elements/loader.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/loader.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/loader.variables b/_site/elements/loader.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/loader.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/rail.overrides b/_site/elements/rail.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/rail.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/rail.variables b/_site/elements/rail.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/rail.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/reveal.overrides b/_site/elements/reveal.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/reveal.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/reveal.variables b/_site/elements/reveal.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/reveal.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/segment.overrides b/_site/elements/segment.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/elements/segment.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/elements/segment.variables b/_site/elements/segment.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/segment.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/elements/step.overrides b/_site/elements/step.overrides deleted file mode 100644 index 94c53973b0..0000000000 --- a/_site/elements/step.overrides +++ /dev/null @@ -1,15 +0,0 @@ -/******************************* - Overrides -*******************************/ - - -@font-face { - font-family: 'Step'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=') format('truetype'); -} -.ui.steps .step.completed > .icon:before, -.ui.ordered.steps .step.completed:before { - font-family: 'Step'; - content: '\e800'; /* '' */ -} \ No newline at end of file diff --git a/_site/elements/step.variables b/_site/elements/step.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/elements/step.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/globals/reset.overrides b/_site/globals/reset.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/globals/reset.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/globals/reset.variables b/_site/globals/reset.variables deleted file mode 100644 index cd9554465b..0000000000 --- a/_site/globals/reset.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Global Variables -*******************************/ diff --git a/_site/globals/site.overrides b/_site/globals/site.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/globals/site.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/globals/site.variables b/_site/globals/site.variables deleted file mode 100644 index 3b5dc7dee0..0000000000 --- a/_site/globals/site.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Global Variables -*******************************/ \ No newline at end of file diff --git a/_site/modules/accordion.overrides b/_site/modules/accordion.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/accordion.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/accordion.variables b/_site/modules/accordion.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/accordion.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/chatroom.overrides b/_site/modules/chatroom.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/chatroom.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/chatroom.variables b/_site/modules/chatroom.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/chatroom.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/checkbox.overrides b/_site/modules/checkbox.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/checkbox.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/checkbox.variables b/_site/modules/checkbox.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/checkbox.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/dimmer.overrides b/_site/modules/dimmer.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/dimmer.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/dimmer.variables b/_site/modules/dimmer.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/dimmer.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/dropdown.overrides b/_site/modules/dropdown.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/dropdown.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/dropdown.variables b/_site/modules/dropdown.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/dropdown.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/modal.overrides b/_site/modules/modal.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/modal.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/modal.variables b/_site/modules/modal.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/modal.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/nag.overrides b/_site/modules/nag.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/nag.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/nag.variables b/_site/modules/nag.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/nag.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/popup.overrides b/_site/modules/popup.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/popup.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/popup.variables b/_site/modules/popup.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/popup.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/progress.overrides b/_site/modules/progress.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/progress.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/progress.variables b/_site/modules/progress.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/progress.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/rating.overrides b/_site/modules/rating.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/rating.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/rating.variables b/_site/modules/rating.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/rating.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/search.overrides b/_site/modules/search.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/search.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/search.variables b/_site/modules/search.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/search.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/shape.overrides b/_site/modules/shape.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/shape.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/shape.variables b/_site/modules/shape.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/shape.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/sidebar.overrides b/_site/modules/sidebar.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/sidebar.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/sidebar.variables b/_site/modules/sidebar.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/sidebar.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/sticky.overrides b/_site/modules/sticky.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/sticky.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/sticky.variables b/_site/modules/sticky.variables deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/sticky.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/tab.overrides b/_site/modules/tab.overrides deleted file mode 100644 index 660e664b59..0000000000 --- a/_site/modules/tab.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Overrides -*******************************/ diff --git a/_site/modules/tab.variables b/_site/modules/tab.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/tab.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/transition.overrides b/_site/modules/transition.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/transition.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/transition.variables b/_site/modules/transition.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/modules/transition.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/modules/video.overrides b/_site/modules/video.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/_site/modules/video.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/_site/modules/video.variables b/_site/modules/video.variables deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_site/views/card.overrides b/_site/views/card.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/card.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/card.variables b/_site/views/card.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/card.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/comment.overrides b/_site/views/comment.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/comment.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/comment.variables b/_site/views/comment.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/comment.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/feed.overrides b/_site/views/feed.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/feed.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/feed.variables b/_site/views/feed.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/feed.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/item.overrides b/_site/views/item.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/item.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/item.variables b/_site/views/item.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/item.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/statistic.overrides b/_site/views/statistic.overrides deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/statistic.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/_site/views/statistic.variables b/_site/views/statistic.variables deleted file mode 100644 index 6f085f9353..0000000000 --- a/_site/views/statistic.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ diff --git a/definitions/behaviors/api.js b/definitions/behaviors/api.js deleted file mode 100644 index ce71c89edf..0000000000 --- a/definitions/behaviors/api.js +++ /dev/null @@ -1,838 +0,0 @@ -/* - * # Semantic - API - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.api = $.fn.api = function(parameters) { - - var - // use window context if none specified - $allModules = $.isFunction(this) - ? $(window) - : $(this), - moduleSelector = $allModules.selector || '', - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.api.settings, parameters) - : $.extend({}, $.fn.api.settings), - - // internal aliases - namespace = settings.namespace, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - className = settings.className, - - // define namespaces for modules - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - // element that creates request - $module = $(this), - $form = $module.closest(selector.form), - - // context used for state - $context = (settings.stateContext) - ? $(settings.stateContext) - : $module, - - // request details - ajaxSettings, - requestSettings, - url, - data, - - // standard module - element = this, - context = $context.get(), - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - var - triggerEvent = module.get.event() - ; - // bind events - if(!methodInvoked) { - if( triggerEvent ) { - module.debug('Attaching API events to element', triggerEvent); - $module - .on(triggerEvent + eventNamespace, module.event.trigger) - ; - } - else { - module.query(); - } - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - query: function() { - - if(module.is.disabled()) { - module.debug('Element is disabled API request aborted'); - return; - } - // determine if an api event already occurred - if(module.is.loading() && settings.throttle === 0 ) { - module.debug('Cancelling request, previous request is still pending'); - return; - } - - // pass element metadata to url (value, text) - if(settings.defaultData) { - $.extend(true, settings.urlData, module.get.defaultData()); - } - - // Add form content - if(settings.serializeForm !== false || $context.is('form')) { - if(settings.serializeForm == 'json') { - $.extend(true, settings.data, module.get.formData()); - } - else { - settings.data = module.get.formData(); - } - } - - // call beforesend and get any settings changes - requestSettings = module.get.settings(); - - // check if beforesend cancelled request - if(requestSettings === false) { - module.error(error.beforeSend); - return; - } - - if(settings.url) { - // override with url if specified - module.debug('Using specified url', url); - url = module.add.urlData( settings.url ); - } - else { - // otherwise find url from api endpoints - url = module.add.urlData( module.get.templateURL() ); - module.debug('Added URL Data to url', url); - } - - // exit conditions reached, missing url parameters - if( !url ) { - if($module.is('form')) { - module.debug('No url or action specified, defaulting to form action'); - url = $module.attr('action'); - } - else { - module.error(error.missingURL, settings.action); - return; - } - } - - // add loading state - module.set.loading(); - - // look for jQuery ajax parameters in settings - ajaxSettings = $.extend(true, {}, settings, { - type : settings.method || settings.type, - data : data, - url : url, - beforeSend : settings.beforeXHR, - success : function() {}, - failure : function() {}, - complete : function() {} - }); - - module.verbose('Creating AJAX request with settings', ajaxSettings); - - if( !module.is.loading() ) { - module.request = module.create.request(); - module.xhr = module.create.xhr(); - } - else { - // throttle additional requests - module.timer = setTimeout(function() { - module.request = module.create.request(); - module.xhr = module.create.xhr(); - }, settings.throttle); - } - - }, - - - is: { - disabled: function() { - return ($module.filter(settings.filter).size() > 0); - }, - loading: function() { - return (module.request && module.request.state() == 'pending'); - } - }, - - was: { - succesful: function() { - return (module.request && module.request.state() == 'resolved'); - }, - failure: function() { - return (module.request && module.request.state() == 'rejected'); - }, - complete: function() { - return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') ); - } - }, - - add: { - urlData: function(url, urlData) { - var - requiredVariables, - optionalVariables - ; - if(url) { - requiredVariables = url.match(settings.regExp.required); - optionalVariables = url.match(settings.regExp.optional); - urlData = urlData || settings.urlData; - if(requiredVariables) { - module.debug('Looking for required URL variables', requiredVariables); - $.each(requiredVariables, function(index, templatedString) { - var - // allow legacy {$var} style - variable = (templatedString.indexOf('$') !== -1) - ? templatedString.substr(2, templatedString.length - 3) - : templatedString.substr(1, templatedString.length - 2), - value = ($.isPlainObject(urlData) && urlData[variable] !== undefined) - ? urlData[variable] - : ($module.data(variable) !== undefined) - ? $module.data(variable) - : ($context.data(variable) !== undefined) - ? $context.data(variable) - : urlData[variable] - ; - // remove value - if(value === undefined) { - module.error(error.requiredParameter, variable, url); - url = false; - return false; - } - else { - module.verbose('Found required variable', variable, value); - url = url.replace(templatedString, value); - } - }); - } - if(optionalVariables) { - module.debug('Looking for optional URL variables', requiredVariables); - $.each(optionalVariables, function(index, templatedString) { - var - // allow legacy {/$var} style - variable = (templatedString.indexOf('$') !== -1) - ? templatedString.substr(3, templatedString.length - 4) - : templatedString.substr(2, templatedString.length - 3), - value = ($.isPlainObject(urlData) && urlData[variable] !== undefined) - ? urlData[variable] - : ($module.data(variable) !== undefined) - ? $module.data(variable) - : ($context.data(variable) !== undefined) - ? $context.data(variable) - : urlData[variable] - ; - // optional replacement - if(value !== undefined) { - module.verbose('Optional variable Found', variable, value); - url = url.replace(templatedString, value); - } - else { - module.verbose('Optional variable not found', variable); - // remove preceding slash if set - if(url.indexOf('/' + templatedString) !== -1) { - url = url.replace('/' + templatedString, ''); - } - else { - url = url.replace(templatedString, ''); - } - } - }); - } - } - return url; - } - }, - - event: { - trigger: function(event) { - module.query(); - if(event.type == 'submit' || event.type == 'click') { - event.preventDefault(); - } - }, - xhr: { - always: function() { - // calculate if loading time was below minimum threshold - }, - done: function(response) { - var - context = this, - elapsedTime = (new Date().getTime() - time), - timeLeft = (settings.loadingDuration - elapsedTime) - ; - timeLeft = (timeLeft > 0) - ? timeLeft - : 0 - ; - setTimeout(function() { - module.request.resolveWith(context, [response]); - }, timeLeft); - }, - fail: function(xhr, status, httpMessage) { - var - context = this, - elapsedTime = (new Date().getTime() - time), - timeLeft = (settings.loadingDuration - elapsedTime) - ; - timeLeft = (timeLeft > 0) - ? timeLeft - : 0 - ; - // page triggers abort on navigation, dont show error - setTimeout(function() { - if(status !== 'abort') { - module.request.rejectWith(context, [xhr, status, httpMessage]); - } - else { - module.reset(); - } - }, timeLeft); - } - }, - request: { - complete: function(response) { - module.remove.loading(); - $.proxy(settings.onComplete, context)(response, $module); - }, - done: function(response) { - module.debug('API Response Received', response); - if(settings.dataType == 'json') { - if( $.isFunction(settings.successTest) ) { - module.debug('Checking JSON returned success', settings.successTest, response); - if( settings.successTest(response) ) { - $.proxy(settings.onSuccess, context)(response, $module); - } - else { - module.debug('JSON test specified by user and response failed', response); - $.proxy(settings.onFailure, context)(response, $module); - } - } - else { - $.proxy(settings.onSuccess, context)(response, $module); - } - } - else { - $.proxy(settings.onSuccess, context)(response, $module); - } - }, - error: function(xhr, status, httpMessage) { - var - errorMessage = (settings.error[status] !== undefined) - ? settings.error[status] - : httpMessage, - response - ; - // let em know unless request aborted - if(xhr !== undefined) { - // readyState 4 = done, anything less is not really sent - if(xhr.readyState !== undefined && xhr.readyState == 4) { - - // if http status code returned and json returned error, look for it - if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { - module.error(error.statusMessage + httpMessage); - } - else { - if(status == 'error' && settings.dataType == 'json') { - try { - response = $.parseJSON(xhr.responseText); - if(response && response.error !== undefined) { - errorMessage = response.error; - } - } - catch(e) { - module.error(error.JSONParse); - } - } - } - module.remove.loading(); - module.set.error(); - // show error state only for duration specified in settings - if(settings.errorDuration) { - setTimeout(module.remove.error, settings.errorDuration); - } - module.debug('API Request error:', errorMessage); - $.proxy(settings.onError, context)(errorMessage, context); - } - else { - $.proxy(settings.onAbort, context)(errorMessage, context); - module.debug('Request Aborted (Most likely caused by page change or CORS Policy)', status, httpMessage); - } - } - } - } - }, - - create: { - request: function() { - return $.Deferred() - .always(module.event.request.complete) - .done(module.event.request.done) - .fail(module.event.request.error) - ; - }, - xhr: function() { - $.ajax(ajaxSettings) - .always(module.event.xhr.always) - .done(module.event.xhr.done) - .fail(module.event.xhr.fail) - ; - } - }, - - set: { - error: function() { - module.verbose('Adding error state to element', $context); - $context.addClass(className.error); - }, - loading: function() { - module.verbose('Adding loading state to element', $context); - $context.addClass(className.loading); - } - }, - - remove: { - error: function() { - module.verbose('Removing error state from element', $context); - $context.removeClass(className.error); - }, - loading: function() { - module.verbose('Removing loading state from element', $context); - $context.removeClass(className.loading); - } - }, - - get: { - request: function() { - return module.request || false; - }, - xhr: function() { - return module.xhr || false; - }, - settings: function() { - var - runSettings - ; - runSettings = $.proxy(settings.beforeSend, $module)(settings); - if(runSettings) { - if(runSettings.success !== undefined) { - module.debug('Legacy success callback detected', runSettings); - module.error(error.legacyParameters); - runSettings.onSuccess = runSettings.success; - } - if(runSettings.failure !== undefined) { - module.debug('Legacy failure callback detected', runSettings); - module.error(error.legacyParameters); - runSettings.onFailure = runSettings.failure; - } - if(runSettings.complete !== undefined) { - module.debug('Legacy complete callback detected', runSettings); - module.error(error.legacyParameters); - runSettings.onComplete = runSettings.complete; - } - } - if(runSettings === undefined) { - module.error(error.noReturnedValue); - } - return (runSettings !== undefined) - ? runSettings - : settings - ; - }, - defaultData: function() { - var - data = {} - ; - if( !$.isWindow(element) ) { - if( $module.is('input') ) { - data.value = $module.val(); - } - else if( $module.is('form') ) { - - } - else { - data.text = $module.text(); - } - } - return data; - }, - event: function() { - if( $.isWindow(element) || settings.on == 'now' ) { - module.debug('API called without element, no events attached'); - return false; - } - else if(settings.on == 'auto') { - if( $module.is('input') ) { - return (element.oninput !== undefined) - ? 'input' - : (element.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - } - else if( $module.is('form') ) { - return 'submit'; - } - else { - return 'click'; - } - } - else { - return settings.on; - } - }, - formData: function() { - var - formData - ; - if($(this).serializeObject() !== undefined) { - formData = $form.serializeObject(); - } - else { - module.error(error.missingSerialize); - formData = $form.serialize(); - } - module.debug('Retrieved form data', formData); - return formData; - }, - templateURL: function(action) { - var - url - ; - action = action || $module.data(settings.metadata.action) || settings.action || false; - if(action) { - module.debug('Looking up url for action', action, settings.api); - if(settings.api[action] !== undefined) { - url = settings.api[action]; - module.debug('Found template url', url); - } - else { - module.error(error.missingAction, settings.action, settings.api); - } - } - return url; - } - }, - - // reset state - reset: function() { - module.remove.error(); - module.remove.loading(); - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - //'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.api.settings = { - - name : 'API', - namespace : 'api', - - debug : false, - verbose : true, - performance : true, - - // event binding - on : 'auto', - filter : '.disabled', - stateContext : false, - - // state - loadingDuration : 0, - errorDuration : 2000, - - // templating - action : false, - url : false, - - // data - urlData : {}, - - // ui - defaultData : true, - serializeForm : false, - throttle : 0, - - // jQ ajax - method : 'get', - data : {}, - dataType : 'json', - - // callbacks - beforeSend : function(settings) { return settings; }, - beforeXHR : function(xhr) {}, - - onSuccess : function(response, $module) {}, - onComplete : function(response, $module) {}, - onFailure : function(errorMessage, $module) {}, - onError : function(errorMessage, $module) {}, - onAbort : function(errorMessage, $module) {}, - - successTest : false, - - // errors - error : { - beforeSend : 'The before send function has aborted the request', - error : 'There was an error with your request', - exitConditions : 'API Request Aborted. Exit conditions met', - JSONParse : 'JSON could not be parsed during error handling', - legacyParameters : 'You are using legacy API success callback names', - missingAction : 'API action used but no url was defined', - missingSerialize : 'Required dependency jquery-serialize-object missing, using basic serialize', - missingURL : 'No URL specified for api event', - noReturnedValue : 'The beforeSend callback must return a settings object, beforeSend ignored.', - parseError : 'There was an error parsing your request', - requiredParameter : 'Missing a required URL parameter: ', - statusMessage : 'Server gave an error: ', - timeout : 'Your request timed out' - }, - - regExp : { - required: /\{\$*[A-z0-9]+\}/g, - optional: /\{\/\$*[A-z0-9]+\}/g, - }, - - className: { - loading : 'loading', - error : 'error' - }, - - selector: { - form: 'form' - }, - - metadata: { - action : 'action', - request : 'request', - xhr : 'xhr' - } -}; - - -$.api.settings.api = {}; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/behaviors/colorize.js b/definitions/behaviors/colorize.js deleted file mode 100644 index 5a5fe496ac..0000000000 --- a/definitions/behaviors/colorize.js +++ /dev/null @@ -1,270 +0,0 @@ -/* - * # Semantic - Colorize - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - - $.fn.colorize = function(parameters) { - var - settings = $.extend(true, {}, $.fn.colorize.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function(instanceIndex) { - - var - $module = $(this), - - mainCanvas = $('')[0], - imageCanvas = $('')[0], - overlayCanvas = $('')[0], - - backgroundImage = new Image(), - - // defs - mainContext, - imageContext, - overlayContext, - - image, - imageName, - - width, - height, - - // shortucts - colors = settings.colors, - paths = settings.paths, - namespace = settings.namespace, - error = settings.error, - - // boilerplate - instance = $module.data('module-' + namespace), - module - ; - - module = { - - checkPreconditions: function() { - module.debug('Checking pre-conditions'); - - if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) { - module.error(error.undefinedColors); - return false; - } - return true; - }, - - async: function(callback) { - if(settings.async) { - setTimeout(callback, 0); - } - else { - callback(); - } - }, - - getMetadata: function() { - module.debug('Grabbing metadata'); - image = $module.data('image') || settings.image || undefined; - imageName = $module.data('name') || settings.name || instanceIndex; - width = settings.width || $module.width(); - height = settings.height || $module.height(); - if(width === 0 || height === 0) { - module.error(error.undefinedSize); - } - }, - - initialize: function() { - module.debug('Initializing with colors', colors); - if( module.checkPreconditions() ) { - - module.async(function() { - module.getMetadata(); - module.canvas.create(); - - module.draw.image(function() { - module.draw.colors(); - module.canvas.merge(); - }); - $module - .data('module-' + namespace, module) - ; - }); - } - }, - - redraw: function() { - module.debug('Redrawing image'); - module.async(function() { - module.canvas.clear(); - module.draw.colors(); - module.canvas.merge(); - }); - }, - - change: { - color: function(colorName, color) { - module.debug('Changing color', colorName); - if(colors[colorName] === undefined) { - module.error(error.missingColor); - return false; - } - colors[colorName] = color; - module.redraw(); - } - }, - - canvas: { - create: function() { - module.debug('Creating canvases'); - - mainCanvas.width = width; - mainCanvas.height = height; - imageCanvas.width = width; - imageCanvas.height = height; - overlayCanvas.width = width; - overlayCanvas.height = height; - - mainContext = mainCanvas.getContext('2d'); - imageContext = imageCanvas.getContext('2d'); - overlayContext = overlayCanvas.getContext('2d'); - - $module - .append( mainCanvas ) - ; - mainContext = $module.children('canvas')[0].getContext('2d'); - }, - clear: function(context) { - module.debug('Clearing canvas'); - overlayContext.fillStyle = '#FFFFFF'; - overlayContext.fillRect(0, 0, width, height); - }, - merge: function() { - if( !$.isFunction(mainContext.blendOnto) ) { - module.error(error.missingPlugin); - return; - } - mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0); - overlayContext.blendOnto(mainContext, 'multiply'); - } - }, - - draw: { - - image: function(callback) { - module.debug('Drawing image'); - callback = callback || function(){}; - if(image) { - backgroundImage.src = image; - backgroundImage.onload = function() { - imageContext.drawImage(backgroundImage, 0, 0); - callback(); - }; - } - else { - module.error(error.noImage); - callback(); - } - }, - - colors: function() { - module.debug('Drawing color overlays', colors); - $.each(colors, function(colorName, color) { - settings.onDraw(overlayContext, imageName, colorName, color); - }); - } - - }, - - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.name + ': ' + message, variableName); - } - else { - console.info(settings.name + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.name + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.error.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - return this; - }; - - $.fn.colorize.settings = { - name : 'Image Colorizer', - debug : true, - namespace : 'colorize', - - onDraw : function(overlayContext, imageName, colorName, color) {}, - - // whether to block execution while updating canvas - async : true, - // object containing names and default values of color regions - colors : {}, - - metadata: { - image : 'image', - name : 'name' - }, - - error: { - noImage : 'No tracing image specified', - undefinedColors : 'No default colors specified.', - missingColor : 'Attempted to change color that does not exist', - missingPlugin : 'Blend onto plug-in must be included', - undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.' - } - - }; - -})( jQuery, window , document ); diff --git a/definitions/behaviors/form.js b/definitions/behaviors/form.js deleted file mode 100644 index 878431a34f..0000000000 --- a/definitions/behaviors/form.js +++ /dev/null @@ -1,795 +0,0 @@ -/* - * # Semantic - Form Validation - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.form = function(fields, parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.form.settings, parameters), - validation = $.extend({}, $.fn.form.settings.defaults, fields), - - namespace = settings.namespace, - metadata = settings.metadata, - selector = settings.selector, - className = settings.className, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - $module = $(this), - $field = $(this).find(selector.field), - $group = $(this).find(selector.group), - $message = $(this).find(selector.message), - $prompt = $(this).find(selector.prompt), - $submit = $(this).find(selector.submit), - - formErrors = [], - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing form validation', $module, validation, settings); - module.bindEvents(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', instance); - module.removeEvents(); - $module - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $field = $module.find(selector.field); - }, - - submit: function() { - module.verbose('Submitting form', $module); - $module - .submit() - ; - }, - - attachEvents: function(selector, action) { - action = action || 'submit'; - $(selector) - .on('click', function(event) { - module[action](); - event.preventDefault(); - }) - ; - }, - - bindEvents: function() { - - if(settings.keyboardShortcuts) { - $field - .on('keydown' + eventNamespace, module.event.field.keydown) - ; - } - $module - .on('submit' + eventNamespace, module.validate.form) - ; - $field - .on('blur' + eventNamespace, module.event.field.blur) - ; - // attach submit events - module.attachEvents($submit, 'submit'); - - $field - .each(function() { - var - type = $(this).prop('type'), - inputEvent = module.get.changeEvent(type) - ; - $(this) - .on(inputEvent + eventNamespace, module.event.field.change) - ; - }) - ; - }, - - removeEvents: function() { - $module - .off(eventNamespace) - ; - $field - .off(eventNamespace) - ; - $submit - .off(eventNamespace) - ; - $field - .off(eventNamespace) - ; - }, - - event: { - field: { - keydown: function(event) { - var - $field = $(this), - key = event.which, - keyCode = { - enter : 13, - escape : 27 - } - ; - if( key == keyCode.escape) { - module.verbose('Escape key pressed blurring field'); - $field - .blur() - ; - } - if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).size() > 0 ) { - module.debug('Enter key pressed, submitting form'); - $submit - .addClass(className.down) - ; - $field - .one('keyup' + eventNamespace, module.event.field.keyup) - ; - } - }, - keyup: function() { - module.verbose('Doing keyboard shortcut form submit'); - $submit.removeClass(className.down); - module.submit(); - }, - blur: function() { - var - $field = $(this), - $fieldGroup = $field.closest($group) - ; - if( $fieldGroup.hasClass(className.error) ) { - module.debug('Revalidating field', $field, module.get.validation($field)); - module.validate.field( module.get.validation($field) ); - } - else if(settings.on == 'blur' || settings.on == 'change') { - module.validate.field( module.get.validation($field) ); - } - }, - change: function() { - var - $field = $(this), - $fieldGroup = $field.closest($group) - ; - if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) { - clearTimeout(module.timer); - module.timer = setTimeout(function() { - module.debug('Revalidating field', $field, module.get.validation($field)); - module.validate.field( module.get.validation($field) ); - }, settings.delay); - } - } - } - - }, - - get: { - changeEvent: function(type) { - if(type == 'checkbox' || type == 'radio') { - return 'change'; - } - else { - return (document.createElement('input').oninput !== undefined) - ? 'input' - : (document.createElement('input').onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - } - }, - field: function(identifier) { - module.verbose('Finding field with identifier', identifier); - if( $field.filter('#' + identifier).size() > 0 ) { - return $field.filter('#' + identifier); - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return $field.filter('[name="' + identifier +'"]'); - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]'); - } - return $(''); - }, - validation: function($field) { - var - rules - ; - $.each(validation, function(fieldName, field) { - if( module.get.field(field.identifier).get(0) == $field.get(0) ) { - rules = field; - } - }); - return rules || false; - } - }, - - has: { - - field: function(identifier) { - module.verbose('Checking for existence of a field with identifier', identifier); - if( $field.filter('#' + identifier).size() > 0 ) { - return true; - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return true; - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return true; - } - return false; - } - - }, - - add: { - prompt: function(identifier, errors) { - var - $field = module.get.field(identifier), - $fieldGroup = $field.closest($group), - $prompt = $fieldGroup.find(selector.prompt), - promptExists = ($prompt.size() !== 0) - ; - errors = (typeof errors == 'string') - ? [errors] - : errors - ; - module.verbose('Adding field error state', identifier); - $fieldGroup - .addClass(className.error) - ; - if(settings.inline) { - if(!promptExists) { - $prompt = settings.templates.prompt(errors); - $prompt - .appendTo($fieldGroup) - ; - } - $prompt - .html(errors[0]) - ; - if(!promptExists) { - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.verbose('Displaying error with css transition', settings.transition); - $prompt.transition(settings.transition + ' in', settings.duration); - } - else { - module.verbose('Displaying error with fallback javascript animation'); - $prompt - .fadeIn(settings.duration) - ; - } - } - else { - module.verbose('Inline errors are disabled, no inline error added', identifier); - } - } - }, - errors: function(errors) { - module.debug('Adding form error messages', errors); - $message - .html( settings.templates.error(errors) ) - ; - } - }, - - remove: { - prompt: function(field) { - var - $field = module.get.field(field.identifier), - $fieldGroup = $field.closest($group), - $prompt = $fieldGroup.find(selector.prompt) - ; - $fieldGroup - .removeClass(className.error) - ; - if(settings.inline && $prompt.is(':visible')) { - module.verbose('Removing prompt for field', field); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $prompt.transition(settings.transition + ' out', settings.duration, function() { - $prompt.remove(); - }); - } - else { - $prompt - .fadeOut(settings.duration, function(){ - $prompt.remove(); - }) - ; - } - } - } - }, - - set: { - success: function() { - $module - .removeClass(className.error) - .addClass(className.success) - ; - }, - error: function() { - $module - .removeClass(className.success) - .addClass(className.error) - ; - } - }, - - validate: { - - form: function(event) { - var - allValid = true, - apiRequest - ; - // reset errors - formErrors = []; - $.each(validation, function(fieldName, field) { - if( !( module.validate.field(field) ) ) { - allValid = false; - } - }); - if(allValid) { - module.debug('Form has no validation errors, submitting'); - module.set.success(); - return $.proxy(settings.onSuccess, this)(event); - } - else { - module.debug('Form has errors'); - module.set.error(); - if(!settings.inline) { - module.add.errors(formErrors); - } - // prevent ajax submit - if($module.data('moduleApi') !== undefined) { - event.stopImmediatePropagation(); - } - return $.proxy(settings.onFailure, this)(formErrors); - } - }, - - // takes a validation object and returns whether field passes validation - field: function(field) { - var - $field = module.get.field(field.identifier), - fieldValid = true, - fieldErrors = [] - ; - if(field.rules !== undefined) { - $.each(field.rules, function(index, rule) { - if( module.has.field(field.identifier) && !( module.validate.rule(field, rule) ) ) { - module.debug('Field is invalid', field.identifier, rule.type); - fieldErrors.push(rule.prompt); - fieldValid = false; - } - }); - } - if(fieldValid) { - module.remove.prompt(field, fieldErrors); - $.proxy(settings.onValid, $field)(); - } - else { - formErrors = formErrors.concat(fieldErrors); - module.add.prompt(field.identifier, fieldErrors); - $.proxy(settings.onInvalid, $field)(fieldErrors); - return false; - } - return true; - }, - - // takes validation rule and returns whether field passes rule - rule: function(field, validation) { - var - $field = module.get.field(field.identifier), - type = validation.type, - value = $.trim($field.val() + ''), - - bracketRegExp = /\[(.*)\]/i, - bracket = bracketRegExp.exec(type), - isValid = true, - ancillary, - functionType - ; - // if bracket notation is used, pass in extra parameters - if(bracket !== undefined && bracket !== null) { - ancillary = '' + bracket[1]; - functionType = type.replace(bracket[0], ''); - isValid = $.proxy(settings.rules[functionType], $module)(value, ancillary); - } - // normal notation - else { - isValid = $.proxy(settings.rules[type], $field)(value); - } - return isValid; - } - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.form.settings = { - - name : 'Form', - namespace : 'form', - - debug : false, - verbose : true, - performance : true, - - - keyboardShortcuts : true, - on : 'submit', - inline : false, - - delay : 200, - revalidate : true, - - transition : 'scale', - duration : 150, - - - onValid : function() {}, - onInvalid : function() {}, - onSuccess : function() { return true; }, - onFailure : function() { return false; }, - - metadata : { - validate: 'validate' - }, - - selector : { - message : '.error.message', - field : 'input, textarea, select', - group : '.field', - checkbox: 'input[type="checkbox"], input[type="radio"]', - input : 'input', - prompt : '.prompt', - submit : '.submit' - }, - - className : { - error : 'error', - success : 'success', - down : 'down', - label : 'ui label prompt' - }, - - // errors - error: { - method : 'The method you called is not defined.' - }, - - - templates: { - error: function(errors) { - var - html = '
    ' - ; - $.each(errors, function(index, value) { - html += '
  • ' + value + '
  • '; - }); - html += '
'; - return $(html); - }, - prompt: function(errors) { - return $('
') - .addClass('ui red pointing prompt label') - .html(errors[0]) - ; - } - }, - - rules: { - checked: function() { - return ($(this).filter(':checked').size() > 0); - }, - empty: function(value) { - return !(value === undefined || '' === value); - }, - email: function(value){ - var - emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "i") - ; - return emailRegExp.test(value); - }, - length: function(value, requiredLength) { - return (value !== undefined) - ? (value.length >= requiredLength) - : false - ; - }, - not: function(value, notValue) { - return (value != notValue); - }, - contains: function(value, text) { - text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); - return (value.search(text) !== -1); - }, - is: function(value, text) { - return (value == text); - }, - maxLength: function(value, maxLength) { - return (value !== undefined) - ? (value.length <= maxLength) - : false - ; - }, - match: function(value, fieldIdentifier) { - // use either id or name of field - var - $form = $(this), - matchingValue - ; - if($form.find('#' + fieldIdentifier).size() > 0) { - matchingValue = $form.find('#' + fieldIdentifier).val(); - } - else if($form.find('[name=' + fieldIdentifier +']').size() > 0) { - matchingValue = $form.find('[name=' + fieldIdentifier + ']').val(); - } - else if( $form.find('[data-validate="'+ fieldIdentifier +'"]').size() > 0 ) { - matchingValue = $form.find('[data-validate="'+ fieldIdentifier +'"]').val(); - } - return (matchingValue !== undefined) - ? ( value.toString() == matchingValue.toString() ) - : false - ; - }, - url: function(value) { - var - urlRegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ - ; - return urlRegExp.test(value); - }, - integer: function(value, range) { - var - intRegExp = /^\-?\d+$/, - min, - max, - parts - ; - if (range === undefined || range === '' || range === '..') { - // do nothing - } - else if (range.indexOf('..') == -1) { - if (intRegExp.test(range)) { - min = max = range - 0; - } - } - else { - parts = range.split('..', 2); - if (intRegExp.test(parts[0])) { - min = parts[0] - 0; - } - if (intRegExp.test(parts[1])) { - max = parts[1] - 0; - } - } - return ( - intRegExp.test(value) && - (min === undefined || value >= min) && - (max === undefined || value <= max) - ); - } - } - -}; - -})( jQuery, window , document ); diff --git a/definitions/behaviors/state.js b/definitions/behaviors/state.js deleted file mode 100644 index 4c5a4b6f79..0000000000 --- a/definitions/behaviors/state.js +++ /dev/null @@ -1,690 +0,0 @@ -/* - * # Semantic - State - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.state = function(parameters) { - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - hasTouch = ('ontouchstart' in document.documentElement), - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.state.settings, parameters) - : $.extend({}, $.fn.state.settings), - - error = settings.error, - metadata = settings.metadata, - className = settings.className, - namespace = settings.namespace, - states = settings.states, - text = settings.text, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - - element = this, - instance = $module.data(moduleNamespace), - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module'); - - // allow module to guess desired state based on element - if(settings.automatic) { - module.add.defaults(); - } - - // bind events with delegated events - if(settings.context && moduleSelector !== '') { - $(settings.context) - .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text) - .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text) - .on(moduleSelector, 'click' + eventNamespace, module.toggle.state) - ; - } - else { - $module - .on('mouseenter' + eventNamespace, module.change.text) - .on('mouseleave' + eventNamespace, module.reset.text) - .on('click' + eventNamespace, module.toggle.state) - ; - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', instance); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $module = $(element); - }, - - add: { - defaults: function() { - var - userStates = parameters && $.isPlainObject(parameters.states) - ? parameters.states - : {} - ; - $.each(settings.defaults, function(type, typeStates) { - if( module.is[type] !== undefined && module.is[type]() ) { - module.verbose('Adding default states', type, element); - $.extend(settings.states, typeStates, userStates); - } - }); - } - }, - - is: { - - active: function() { - return $module.hasClass(className.active); - }, - loading: function() { - return $module.hasClass(className.loading); - }, - inactive: function() { - return !( $module.hasClass(className.active) ); - }, - state: function(state) { - if(className[state] === undefined) { - return false; - } - return $module.hasClass( className[state] ); - }, - - enabled: function() { - return !( $module.is(settings.filter.active) ); - }, - disabled: function() { - return ( $module.is(settings.filter.active) ); - }, - textEnabled: function() { - return !( $module.is(settings.filter.text) ); - }, - - // definitions for automatic type detection - button: function() { - return $module.is('.button:not(a, .submit)'); - }, - input: function() { - return $module.is('input'); - }, - progress: function() { - return $module.is('.ui.progress'); - } - }, - - allow: function(state) { - module.debug('Now allowing state', state); - states[state] = true; - }, - disallow: function(state) { - module.debug('No longer allowing', state); - states[state] = false; - }, - - allows: function(state) { - return states[state] || false; - }, - - enable: function() { - $module.removeClass(className.disabled); - }, - - disable: function() { - $module.addClass(className.disabled); - }, - - setState: function(state) { - if(module.allows(state)) { - $module.addClass( className[state] ); - } - }, - - removeState: function(state) { - if(module.allows(state)) { - $module.removeClass( className[state] ); - } - }, - - toggle: { - state: function() { - var - apiRequest - ; - if( module.allows('active') && module.is.enabled() ) { - module.refresh(); - if($.fn.api !== undefined) { - apiRequest = $module.api('get request'); - if(apiRequest) { - module.listenTo(apiRequest); - return; - } - } - module.change.state(); - } - } - }, - - listenTo: function(apiRequest) { - module.debug('API request detected, waiting for state signal', apiRequest); - if(apiRequest) { - if(text.loading) { - module.update.text(text.loading); - } - $.when(apiRequest) - .then(function() { - if(apiRequest.state() == 'resolved') { - module.debug('API request succeeded'); - settings.activateTest = function(){ return true; }; - settings.deactivateTest = function(){ return true; }; - } - else { - module.debug('API request failed'); - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - module.change.state(); - }) - ; - } - // xhr exists but set to false, beforeSend killed the xhr - else { - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - }, - - // checks whether active/inactive state can be given - change: { - - state: function() { - module.debug('Determining state change direction'); - // inactive to active change - if( module.is.inactive() ) { - module.activate(); - } - else { - module.deactivate(); - } - if(settings.sync) { - module.sync(); - } - $.proxy(settings.onChange, element)(); - }, - - text: function() { - if( module.is.textEnabled() ) { - if(module.is.disabled() ) { - module.verbose('Changing text to disabled text', text.hover); - module.update.text(text.disabled); - } - else if( module.is.active() ) { - if(text.hover) { - module.verbose('Changing text to hover text', text.hover); - module.update.text(text.hover); - } - else if(text.deactivate) { - module.verbose('Changing text to deactivating text', text.deactivate); - module.update.text(text.deactivate); - } - } - else { - if(text.hover) { - module.verbose('Changing text to hover text', text.hover); - module.update.text(text.hover); - } - else if(text.activate){ - module.verbose('Changing text to activating text', text.activate); - module.update.text(text.activate); - } - } - } - } - - }, - - activate: function() { - if( $.proxy(settings.activateTest, element)() ) { - module.debug('Setting state to active'); - $module - .addClass(className.active) - ; - module.update.text(text.active); - $.proxy(settings.onActivate, element)(); - } - }, - - deactivate: function() { - if($.proxy(settings.deactivateTest, element)() ) { - module.debug('Setting state to inactive'); - $module - .removeClass(className.active) - ; - module.update.text(text.inactive); - $.proxy(settings.onDeactivate, element)(); - } - }, - - sync: function() { - module.verbose('Syncing other buttons to current state'); - if( module.is.active() ) { - $allModules - .not($module) - .state('activate'); - } - else { - $allModules - .not($module) - .state('deactivate') - ; - } - }, - - get: { - text: function() { - return (settings.selector.text) - ? $module.find(settings.selector.text).text() - : $module.html() - ; - }, - textFor: function(state) { - return text[state] || false; - } - }, - - flash: { - text: function(text, duration, callback) { - var - previousText = module.get.text() - ; - module.debug('Flashing text message', text, duration); - text = text || settings.text.flash; - duration = duration || settings.flashDuration; - callback = callback || function() {}; - module.update.text(text); - setTimeout(function(){ - module.update.text(previousText); - $.proxy(callback, element)(); - }, duration); - } - }, - - reset: { - // on mouseout sets text to previous value - text: function() { - var - activeText = text.active || $module.data(metadata.storedText), - inactiveText = text.inactive || $module.data(metadata.storedText) - ; - if( module.is.textEnabled() ) { - if( module.is.active() && activeText) { - module.verbose('Resetting active text', activeText); - module.update.text(activeText); - } - else if(inactiveText) { - module.verbose('Resetting inactive text', activeText); - module.update.text(inactiveText); - } - } - } - }, - - update: { - text: function(text) { - var - currentText = module.get.text() - ; - if(text && text !== currentText) { - module.debug('Updating text', text); - if(settings.selector.text) { - $module - .data(metadata.storedText, text) - .find(settings.selector.text) - .text(text) - ; - } - else { - $module - .data(metadata.storedText, text) - .html(text) - ; - } - } - else { - module.debug('Text is already sane, ignoring update', text); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.state.settings = { - - // module info - name : 'State', - - // debug output - debug : false, - - // verbose debug output - verbose : true, - - // namespace for events - namespace : 'state', - - // debug data includes performance - performance: true, - - // callback occurs on state change - onActivate : function() {}, - onDeactivate : function() {}, - onChange : function() {}, - - // state test functions - activateTest : function() { return true; }, - deactivateTest : function() { return true; }, - - // whether to automatically map default states - automatic : true, - - // activate / deactivate changes all elements instantiated at same time - sync : false, - - // default flash text duration, used for temporarily changing text of an element - flashDuration : 1000, - - // selector filter - filter : { - text : '.loading, .disabled', - active : '.disabled' - }, - - context : false, - - // error - error: { - method : 'The method you called is not defined.' - }, - - // metadata - metadata: { - promise : 'promise', - storedText : 'stored-text' - }, - - // change class on state - className: { - active : 'active', - disabled : 'disabled', - error : 'error', - loading : 'loading', - success : 'success', - warning : 'warning' - }, - - selector: { - // selector for text node - text: false - }, - - defaults : { - input: { - disabled : true, - loading : true, - active : true - }, - button: { - disabled : true, - loading : true, - active : true, - }, - progress: { - active : true, - success : true, - warning : true, - error : true - } - }, - - states : { - active : true, - disabled : true, - error : true, - loading : true, - success : true, - warning : true - }, - - text : { - disabled : false, - flash : false, - hover : false, - active : false, - inactive : false, - activate : false, - deactivate : false - } - -}; - - - -})( jQuery, window , document ); diff --git a/definitions/behaviors/visibility.js b/definitions/behaviors/visibility.js deleted file mode 100644 index 92fc9d96d6..0000000000 --- a/definitions/behaviors/visibility.js +++ /dev/null @@ -1,916 +0,0 @@ -/* - * # Semantic - Visibility - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.visibility = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = $.extend(true, {}, $.fn.visibility.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $window = $(window), - $module = $(this), - $context = $(settings.context), - $container = $module.offsetParent(), - - selector = $module.selector || '', - instance = $module.data(moduleNamespace), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - element = this, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing visibility', settings); - - module.setup.cache(); - module.save.position(); - module.bindEvents(); - module.instantiate(); - - if(settings.type == 'image') { - module.setup.image(); - } - - requestAnimationFrame(module.checkVisibility); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module'); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - bindEvents: function() { - module.verbose('Binding visibility events to scroll and resize'); - $window - .on('resize' + eventNamespace, module.event.refresh) - ; - $context - .on('scroll' + eventNamespace, module.event.scroll) - ; - }, - - event: { - refresh: function() { - requestAnimationFrame(module.refresh); - }, - scroll: function() { - module.verbose('Scroll position changed'); - if(settings.throttle) { - clearTimeout(module.timer); - module.timer = setTimeout(module.checkVisibility, settings.throttle); - } - else { - requestAnimationFrame(module.checkVisibility); - } - } - }, - - precache: function(images, callback) { - if (!(images instanceof Array)) { - images = [images]; - } - var - imagesLength = images.length, - loadedCounter = 0, - cache = [], - cacheImage = document.createElement('img'), - handleLoad = function() { - loadedCounter++; - if (loadedCounter >= images.length) { - if ($.isFunction(callback)) { - callback(); - } - } - } - ; - while (imagesLength--) { - cacheImage = document.createElement('img'); - cacheImage.onload = handleLoad; - cacheImage.onerror = handleLoad; - cacheImage.src = images[imagesLength]; - cache.push(cacheImage); - } - }, - - setup: { - cache: function() { - module.cache = { - occurred : {}, - screen : {}, - element : {}, - }; - }, - image: function() { - var - src = $module.data('src') - ; - if(src) { - module.verbose('Lazy loading image', src); - // show when top visible - module.topVisible(function() { - module.precache(src, function() { - module.set.image(src); - settings.onTopVisible = false; - }); - }); - } - } - }, - - set: { - image: function(src) { - var - offScreen = (module.cache.screen.bottom < module.cache.element.top) - ; - $module - .attr('src', src) - ; - if(offScreen) { - $module.show(); - } - else { - if($.fn.transition !== undefined) { - $module.transition(settings.transition, settings.duration); - } - else { - $module.fadeIn(settings.duration); - } - } - } - }, - - refresh: function() { - module.debug('Refreshing constants (element width/height)'); - module.reset(); - module.save.position(); - module.checkVisibility(); - $.proxy(settings.onRefresh, element)(); - }, - - reset: function() { - module.verbose('Reseting all cached values'); - if( $.isPlainObject(module.cache) ) { - module.cache.screen = {}; - module.cache.element = {}; - if(!settings.once) { - module.cache.occurred = {}; - } - } - else { - - } - }, - - checkVisibility: function() { - module.verbose('Checking visibility of element', module.cache.element); - module.save.scroll(); - module.save.direction(); - module.save.screenCalculations(); - module.save.elementCalculations(); - // percentage - module.passed(); - - // reverse (must be first) - module.passingReverse(); - module.topVisibleReverse(); - module.bottomVisibleReverse(); - module.topPassedReverse(); - module.bottomPassedReverse(); - - // one time - module.passing(); - module.topVisible(); - module.bottomVisible(); - module.topPassed(); - module.bottomPassed(); - }, - - passed: function(amount, newCallback) { - var - calculations = module.get.elementCalculations(), - amountInPixels - ; - // assign callback - if(amount !== undefined && newCallback !== undefined) { - settings.onPassed[amount] = newCallback; - } - else if(amount !== undefined) { - return (module.get.pixelsPassed(amount) > calculations.pixelsPassed); - } - else if(calculations.passing) { - $.each(settings.onPassed, function(amount, callback) { - if(calculations.bottomVisible || calculations.pixelsPassed > module.get.pixelsPassed(amount)) { - module.execute(callback, amount); - } - else if(!settings.once) { - module.remove.occurred(callback); - } - }); - } - }, - - passing: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onPassing, - callbackName = 'passing' - ; - if(newCallback) { - module.debug('Adding callback for passing', newCallback); - settings.onPassing = newCallback; - } - if(calculations.passing) { - module.execute(callback, callbackName); - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback !== undefined) { - return calculations.passing; - } - }, - - - topVisible: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onTopVisible, - callbackName = 'topVisible' - ; - if(newCallback) { - module.debug('Adding callback for top visible', newCallback); - settings.onTopVisible = newCallback; - } - if(calculations.topVisible) { - module.execute(callback, callbackName); - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return calculations.topVisible; - } - }, - - bottomVisible: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onBottomVisible, - callbackName = 'bottomVisible' - ; - if(newCallback) { - module.debug('Adding callback for bottom visible', newCallback); - settings.onBottomVisible = newCallback; - } - if(calculations.bottomVisible) { - module.execute(callback, callbackName); - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return calculations.bottomVisible; - } - }, - - topPassed: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onTopPassed, - callbackName = 'topPassed' - ; - if(newCallback) { - module.debug('Adding callback for top passed', newCallback); - settings.onTopPassed = newCallback; - } - if(calculations.topPassed) { - module.execute(callback, callbackName); - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return calculations.onTopPassed; - } - }, - - bottomPassed: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onBottomPassed, - callbackName = 'bottomPassed' - ; - if(newCallback) { - module.debug('Adding callback for bottom passed', newCallback); - settings.onBottomPassed = newCallback; - } - if(calculations.bottomPassed) { - module.execute(callback, callbackName); - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return calculations.bottomPassed; - } - }, - - passingReverse: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onPassingReverse, - callbackName = 'passingReverse' - ; - if(newCallback) { - module.debug('Adding callback for passing reverse', newCallback); - settings.onPassingReverse = newCallback; - } - if(!calculations.passing) { - if(module.get.occurred('passing')) { - module.execute(callback, callbackName); - } - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback !== undefined) { - return !calculations.passing; - } - }, - - - topVisibleReverse: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onTopVisibleReverse, - callbackName = 'topVisibleReverse' - ; - if(newCallback) { - module.debug('Adding callback for top visible reverse', newCallback); - settings.onTopVisibleReverse = newCallback; - } - if(!calculations.topVisible) { - if(module.get.occurred('topVisible')) { - module.execute(callback, callbackName); - } - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return !calculations.topVisible; - } - }, - - bottomVisibleReverse: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onBottomVisibleReverse, - callbackName = 'bottomVisibleReverse' - ; - if(newCallback) { - module.debug('Adding callback for bottom visible reverse', newCallback); - settings.onBottomVisibleReverse = newCallback; - } - if(!calculations.bottomVisible) { - if(module.get.occurred('bottomVisible')) { - module.execute(callback, callbackName); - } - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return !calculations.bottomVisible; - } - }, - - topPassedReverse: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onTopPassedReverse, - callbackName = 'topPassedReverse' - ; - if(newCallback) { - module.debug('Adding callback for top passed reverse', newCallback); - settings.onTopPassedReverse = newCallback; - } - if(!calculations.topPassed) { - if(module.get.occurred('topPassed')) { - module.execute(callback, callbackName); - } - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return !calculations.onTopPassed; - } - }, - - bottomPassedReverse: function(newCallback) { - var - calculations = module.get.elementCalculations(), - callback = newCallback || settings.onBottomPassedReverse, - callbackName = 'bottomPassedReverse' - ; - if(newCallback) { - module.debug('Adding callback for bottom passed reverse', newCallback); - settings.onBottomPassedReverse = newCallback; - } - if(!calculations.bottomPassed) { - if(module.get.occurred('bottomPassed')) { - module.execute(callback, callbackName); - } - } - else if(!settings.once) { - module.remove.occurred(callbackName); - } - if(newCallback === undefined) { - return !calculations.bottomPassed; - } - }, - - execute: function(callback, callbackName) { - var - calculations = module.get.elementCalculations(), - screen = module.get.screenCalculations() - ; - callback = callback || false; - if(callback) { - if(settings.continuous) { - module.debug('Callback being called continuously', callbackName, calculations); - $.proxy(callback, element)(calculations, screen); - } - else if(!module.get.occurred(callbackName)) { - module.debug('Conditions met', callbackName, calculations); - $.proxy(callback, element)(calculations, screen); - } - } - module.save.occurred(callbackName); - }, - - remove: { - occurred: function(callback) { - if(callback) { - if(module.cache.occurred[callback] !== undefined && module.cache.occurred[callback] === true) { - module.debug('Callback can now be called again', callback); - module.cache.occurred[callback] = false; - } - } - else { - module.cache.occurred = {}; - } - } - }, - - save: { - occurred: function(callback) { - if(callback) { - if(module.cache.occurred[callback] === undefined || (module.cache.occurred[callback] !== true)) { - module.verbose('Saving callback occurred', callback); - module.cache.occurred[callback] = true; - } - } - }, - scroll: function() { - module.cache.scroll = $context.scrollTop() + settings.offset; - }, - direction: function() { - var - scroll = module.get.scroll(), - lastScroll = module.get.lastScroll(), - direction - ; - if(scroll > lastScroll && lastScroll) { - direction = 'down'; - } - else if(scroll < lastScroll && lastScroll) { - direction = 'up'; - } - else { - direction = 'static'; - } - module.cache.direction = direction; - return module.cache.direction; - }, - elementPosition: function() { - var - screen = module.get.screenSize() - ; - module.verbose('Saving element position'); - $.extend(module.cache.element, { - margin : { - top : parseInt($module.css('margin-top'), 10), - bottom : parseInt($module.css('margin-bottom'), 10) - }, - fits : (element.height < screen.height), - offset : $module.offset(), - width : $module.outerWidth(), - height : $module.outerHeight() - }); - return module.cache.element; - }, - elementCalculations: function() { - var - screen = module.get.screenCalculations(), - element = module.get.elementPosition() - ; - // offset - if(settings.includeMargin) { - $.extend(module.cache.element, { - top : element.offset.top - element.margin.top, - bottom : element.offset.top + element.height + element.margin.bottom - }); - } - else { - $.extend(module.cache.element, { - top : element.offset.top, - bottom : element.offset.top + element.height - }); - } - // visibility - $.extend(module.cache.element, { - topVisible : (screen.bottom >= element.top), - topPassed : (screen.top >= element.top), - bottomVisible : (screen.bottom >= element.bottom), - bottomPassed : (screen.top >= element.bottom), - pixelsPassed : 0, - percentagePassed : 0 - }); - // meta calculations - $.extend(module.cache.element, { - visible : (module.cache.element.topVisible || module.cache.element.bottomVisible), - passing : (module.cache.element.topPassed && !module.cache.element.bottomPassed), - hidden : (!module.cache.element.topVisible && !module.cache.element.bottomVisible) - }); - if(module.cache.element.passing) { - module.cache.element.pixelsPassed = (screen.top - element.top); - module.cache.element.percentagePassed = (screen.top - element.top) / element.height; - } - module.verbose('Updated element calculations', module.cache.element); - }, - screenCalculations: function() { - var - scroll = $context.scrollTop() + settings.offset - ; - if(module.cache.scroll === undefined) { - module.cache.scroll = $context.scrollTop() + settings.offset; - } - module.save.direction(); - $.extend(module.cache.screen, { - top : scroll, - bottom : scroll + module.cache.screen.height - }); - return module.cache.screen; - }, - screenSize: function() { - module.verbose('Saving window position'); - module.cache.screen = { - height: $context.height() - }; - }, - position: function() { - module.save.screenSize(); - module.save.elementPosition(); - } - }, - - get: { - pixelsPassed: function(amount) { - var - element = module.get.elementCalculations() - ; - if(amount.search('%') > -1) { - return ( element.height * (parseInt(amount, 10) / 100) ); - } - return parseInt(amount, 10); - }, - occurred: function(callback) { - return (module.cache.occurred !== undefined) - ? module.cache.occurred[callback] || false - : false - ; - }, - direction: function() { - if(module.cache.direction === undefined) { - module.save.direction(); - } - return module.cache.direction; - }, - elementPosition: function() { - if(module.cache.element === undefined) { - module.save.elementPosition(); - } - return module.cache.element; - }, - elementCalculations: function() { - if(module.cache.element === undefined) { - module.save.elementCalculations(); - } - return module.cache.element; - }, - screenCalculations: function() { - if(module.cache.screen === undefined) { - module.save.screenCalculations(); - } - return module.cache.screen; - }, - screenSize: function() { - if(module.cache.screen === undefined) { - module.save.screenSize(); - } - return module.cache.screen; - }, - scroll: function() { - if(module.cache.scroll === undefined) { - module.save.scroll(); - } - return module.cache.scroll; - }, - lastScroll: function() { - if(module.cache.screen === undefined) { - module.debug('First scroll event, no last scroll could be found'); - return false; - } - return module.cache.screen.top; - } - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.visibility.settings = { - - name : 'Visibility', - namespace : 'visibility', - - debug : false, - verbose : false, - performance : true, - - offset : 0, - includeMargin : false, - - context : window, - - // visibility check delay in ms - throttle : false, - - // special visibility type - type : false, - transition : 'fade in', - duration : 500, - - // array of callbacks for percentage - onPassed : {}, - - // standard callbacks - onPassing : false, - onTopVisible : false, - onBottomVisible : false, - onTopPassed : false, - onBottomPassed : false, - - // reverse callbacks - onPassingReverse : false, - onTopVisibleReverse : false, - onBottomVisibleReverse : false, - onTopPassedReverse : false, - onBottomPassedReverse : false, - - once : true, - continuous : false, - - // utility callbacks - onRefresh : function(){}, - onScroll : function(){}, - - error : { - method : 'The method you called is not defined.' - } - -}; - -})( jQuery, window , document ); diff --git a/definitions/behaviors/visit.js b/definitions/behaviors/visit.js deleted file mode 100644 index a0e57b21fd..0000000000 --- a/definitions/behaviors/visit.js +++ /dev/null @@ -1,516 +0,0 @@ -/* - * # Semantic - Visit - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -$.visit = $.fn.visit = function(parameters) { - var - $allModules = $.isFunction(this) - ? $(window) - : $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - settings = $.extend(true, {}, $.fn.visit.settings, parameters), - - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - $displays = $(), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - module = { - - initialize: function() { - if(settings.count) { - module.store(settings.key.count, settings.count); - } - else if(settings.id) { - module.add.id(settings.id); - } - else if(settings.increment && methodInvoked !== 'increment') { - module.increment(); - } - module.add.display($module); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of visit module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - ; - }, - - increment: function(id) { - var - currentValue = module.get.count(), - newValue = +(currentValue) + 1 - ; - if(id) { - module.add.id(id); - } - else { - if(newValue > settings.limit && !settings.surpass) { - newValue = settings.limit; - } - module.debug('Incrementing visits', newValue); - module.store(settings.key.count, newValue); - } - }, - - decrement: function(id) { - var - currentValue = module.get.count(), - newValue = +(currentValue) - 1 - ; - if(id) { - module.remove.id(id); - } - else { - module.debug('Removing visit'); - module.store(settings.key.count, newValue); - } - }, - - get: { - count: function() { - return +(module.retrieve(settings.key.count)) || 0; - }, - idCount: function(ids) { - ids = ids || module.get.ids(); - return ids.length; - }, - ids: function(delimitedIDs) { - var - idArray = [] - ; - delimitedIDs = delimitedIDs || module.retrieve(settings.key.ids); - if(typeof delimitedIDs === 'string') { - idArray = delimitedIDs.split(settings.delimiter); - } - module.verbose('Found visited ID list', idArray); - return idArray; - }, - storageOptions: function(data) { - var - options = {} - ; - if(settings.expires) { - options.expires = settings.expires; - } - if(settings.domain) { - options.domain = settings.domain; - } - if(settings.path) { - options.path = settings.path; - } - return options; - } - }, - - has: { - visited: function(id, ids) { - var - visited = false - ; - ids = ids || module.get.ids(); - if(id !== undefined && ids) { - $.each(ids, function(index, value){ - if(value == id) { - visited = true; - } - }); - } - return visited; - } - }, - - set: { - count: function(value) { - module.store(settings.key.count, value); - }, - ids: function(value) { - module.store(settings.key.ids, value); - } - }, - - reset: function() { - module.store(settings.key.count, 0); - module.store(settings.key.ids, null); - }, - - add: { - id: function(id) { - var - currentIDs = module.retrieve(settings.key.ids), - newIDs = (currentIDs === undefined || currentIDs === '') - ? id - : currentIDs + settings.delimiter + id - ; - if( module.has.visited(id) ) { - module.debug('Unique content already visited, not adding visit', id, currentIDs); - } - else if(id === undefined) { - module.debug('ID is not defined'); - } - else { - module.debug('Adding visit to unique content', id); - module.store(settings.key.ids, newIDs); - } - module.set.count( module.get.idCount() ); - }, - display: function(selector) { - var - $element = $(selector) - ; - if($element.size() > 0 && !$.isWindow($element[0])) { - module.debug('Updating visit count for element', $element); - $displays = ($displays.size() > 0) - ? $displays.add($element) - : $element - ; - } - } - }, - - remove: { - id: function(id) { - var - currentIDs = module.get.ids(), - newIDs = [] - ; - if(id !== undefined && currentIDs !== undefined) { - module.debug('Removing visit to unique content', id, currentIDs); - $.each(currentIDs, function(index, value){ - if(value !== id) { - newIDs.push(value); - } - }); - newIDs = newIDs.join(settings.delimiter); - module.store(settings.key.ids, newIDs ); - } - module.set.count( module.get.idCount() ); - } - }, - - check: { - limit: function(value) { - value = value || module.get.count(); - if(settings.limit) { - if(value >= settings.limit) { - module.debug('Pages viewed exceeded limit, firing callback', value, settings.limit); - $.proxy(settings.onLimit, this)(value); - } - module.debug('Limit not reached', value, settings.limit); - $.proxy(settings.onChange, this)(value); - } - module.update.display(value); - } - }, - - update: { - display: function(value) { - value = value || module.get.count(); - if($displays.size() > 0) { - module.debug('Updating displayed view count', $displays); - $displays.html(value); - } - } - }, - - store: function(key, value) { - var - options = module.get.storageOptions(value) - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - window.localStorage.setItem(key, value); - module.debug('Value stored using local storage', key, value); - } - else if($.cookie !== undefined) { - $.cookie(key, value, options); - module.debug('Value stored using cookie', key, value, options); - } - else { - module.error(error.noCookieStorage); - return; - } - if(key == settings.key.count) { - module.check.limit(value); - } - }, - retrieve: function(key, value) { - var - storedValue - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - storedValue = window.localStorage.getItem(key); - } - // get by cookie - else if($.cookie !== undefined) { - storedValue = $.cookie(key); - } - else { - module.error(error.noCookieStorage); - } - if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) { - storedValue = undefined; - } - return storedValue; - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.visit.settings = { - - name : 'Visit', - - debug : false, - verbose : true, - performance : true, - - namespace : 'visit', - - increment : false, - surpass : false, - count : false, - limit : false, - - delimiter : '&', - storageMethod : 'localstorage', - - key : { - count : 'visit-count', - ids : 'visit-ids' - }, - - expires : 30, - domain : false, - path : '/', - - onLimit : function() {}, - onChange : function() {}, - - error : { - method : 'The method you called is not defined', - missingPersist : 'Using the persist setting requires the inclusion of PersistJS', - noCookieStorage : 'The default storage cookie requires $.cookie to be included.' - } - -}; - -})( jQuery, window , document ); - -/*! jquery.cookie v1.4.1 | MIT */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/definitions/collections/breadcrumb.less b/definitions/collections/breadcrumb.less deleted file mode 100644 index c3e3f5936a..0000000000 --- a/definitions/collections/breadcrumb.less +++ /dev/null @@ -1,122 +0,0 @@ -/* - * # Semantic - Breadcrumb - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'breadcrumb'; - -@import '../../semantic.config'; - -/******************************* - Breadcrumb -*******************************/ - -.ui.breadcrumb { - margin: @verticalMargin 0em; - display: @display; - vertical-align: @verticalAlign; -} -.ui.breadcrumb:first-child { - margin-top: 0em; -} -.ui.breadcrumb:last-child { - margin-bottom: 0em; -} - -/******************************* - Content -*******************************/ - -/* Divider */ -.ui.breadcrumb .divider { - display: inline-block; - opacity: @dividerOpacity; - margin: 0em @dividerSpacing 0em; - - font-size: @dividerSize; - color: @dividerColor; - vertical-align: @dividerVerticalAlign; -} - -/* Link */ -.ui.breadcrumb a { - color: @linkColor; -} -.ui.breadcrumb a:hover { - color: @linkHoverColor; -} - - -/* Icon Divider */ -.ui.breadcrumb .icon.divider { - font-size: @iconDividerSize; - vertical-align: @iconDividerVerticalAlign; -} - -/* Section */ -.ui.breadcrumb a.section { - cursor: pointer; -} -.ui.breadcrumb .section { - display: inline-block; - margin: @sectionMargin; - padding: @sectionPadding; -} - -/* Loose Coupling */ -.ui.breadcrumb.segment { - display: inline-block; - padding: @segmentPadding; -} - -/******************************* - States -*******************************/ - -.ui.breadcrumb .active.section { - font-weight: @activeFontWeight; -} - - -/******************************* - Variations -*******************************/ - -.ui.mini.breadcrumb { - font-size: @mini; -} -.ui.tiny.breadcrumb { - font-size: @tiny; -} -.ui.small.breadcrumb { - font-size: @small; -} -.ui.breadcrumb { - font-size: @medium; -} -.ui.large.breadcrumb { - font-size: @large; -} -.ui.big.breadcrumb { - font-size: @big; -} -.ui.huge.breadcrumb { - font-size: @huge; -} -.ui.massive.breadcrumb { - font-size: @massive; -} - -.loadUIOverrides(); diff --git a/definitions/collections/form.less b/definitions/collections/form.less deleted file mode 100644 index 4ae296bca6..0000000000 --- a/definitions/collections/form.less +++ /dev/null @@ -1,786 +0,0 @@ -/* - * # Semantic - Form - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'form'; - -@import '../../semantic.config'; - - -/******************************* - Elements -*******************************/ - -/*-------------------- - Form ----------------------*/ - -.ui.form { - position: relative; - max-width: 100%; -} - -/*-------------------- - Content ----------------------*/ - -.ui.form > p { - margin: @paragraphMargin; -} - -/*-------------------- - Field ----------------------*/ - -.ui.form .field { - clear: both; - margin: @fieldMargin; -} -.ui.form .fields:last-child .field, -.ui.form :not(.fields) .field:last-child { - margin-bottom: 0em; -} - -/*-------------------- - Labels ----------------------*/ - -.ui.form .field > label { - display: block; - margin: @labelMargin; - color: @labelColor; - font-size: @labelFontSize; - font-weight: @labelFontWeight; - text-transform: @labelTextTransform; -} -.ui.form .grouped.fields > label, -.ui.form .inline.fields > label { - margin: @groupedLabelMargin; - color: @groupedLabelColor; - font-size: @groupedLabelFontSize; - font-weight: @groupedLabelFontWeight; - text-transform: @groupedLabelTextTransform; -} - -/*-------------------- - Standard Inputs ----------------------*/ - - -.ui.form textarea, -.ui.form input[type="text"], -.ui.form input[type="email"], -.ui.form input[type="date"], -.ui.form input[type="password"], -.ui.form input[type="number"], -.ui.form input[type="url"], -.ui.form input[type="tel"], -.ui.form .ui.input { - width: 100%; - vertical-align: top; -} - -.ui.form input[type="text"], -.ui.form input[type="email"], -.ui.form input[type="date"], -.ui.form input[type="password"], -.ui.form input[type="number"], -.ui.form input[type="url"], -.ui.form input[type="tel"] { - margin: 0em; - outline: none; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - - line-height: @inputLineHeight; - padding: @inputPadding; - font-size: @inputFontSize; - - background: @inputBackground; - border: @inputBorder; - color: @inputColor; - border-radius: @inputBorderRadius; - box-shadow: @inputBoxShadow; - box-sizing: border-box; - transition: @inputTransition; -} - - -.ui.textarea, -.ui.form textarea { - margin: 0em; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - box-sizing: border-box; - - padding: @textAreaPadding; - font-size: @textAreaFontSize; - background: @textAreaBackground; - border: @textAreaBorder; - outline: none; - color: @inputColor; - border-radius: @inputBorderRadius; - box-shadow: @inputBoxShadow; - transition: @textAreaTransition; - font-size: @textAreaFontSize; - height: @textAreaHeight; - min-height: @textAreaMinHeight; - max-height: @textAreaMaxHeight; - line-height: @textAreaLineHeight; - resize: @textAreaResize; -} - -.ui.form textarea, -.ui.form input[type="checkbox"] { - vertical-align: @checkboxVerticalAlign; -} - -/*-------------------------- - Input w/ attached Button ----------------------------*/ - -.ui.form input.attached { - width: auto; -} - - -/*-------------------- - Basic Select ----------------------*/ - -.ui.form select { - display: block; - height: auto; - width: 100%; - background: @selectBackground; - border: @selectBorder; - border-radius: @selectBorderRadius; - box-shadow: @selectBoxShadow; - padding: @selectPadding; - color: @selectColor; - transition: @selectTransition; -} - -/*-------------------- - Dropdown ----------------------*/ - -.ui.form .field > .selection.dropdown { - width: 100%; -} -.ui.form .field > .selection.dropdown > .dropdown.icon { - float: right; -} - -.ui.form .inline.field > .selection.dropdown { - width: auto; -} -.ui.form .inline.field > .selection.dropdown > .dropdown.icon { - float: none; -} - - -/*-------------------- - Dividers ----------------------*/ - -.ui.form .divider { - clear: both; - margin: @dividerMargin; -} - - -/*-------------------- - Types of Messages ----------------------*/ - -.ui.form .info.message, -.ui.form .success.message, -.ui.form .warning.message, -.ui.form .error.message { - display: none; -} - -/* Assumptions */ -.ui.form .message:first-child { - margin-top: 0px; -} - -/*-------------------- - Validation Prompt ----------------------*/ - -.ui.form .field .prompt.label { - white-space: nowrap; -} -.ui.form .inline.field .prompt { - margin: @validationMargin; -} -.ui.form .inline.field .prompt:before { - margin-top: @validationArrowOffset; - bottom: auto; - right: auto; - top: 50%; - left: 0em; -} - - -/******************************* - States -*******************************/ - - -/*-------------------- - Placeholder ----------------------*/ - -/* browsers require these rules separate */ -.ui.form ::-webkit-input-placeholder { - color: @inputPlaceholderColor; -} -.ui.form ::-moz-placeholder { - color: @inputPlaceholderColor; -} -.ui.form :focus::-webkit-input-placeholder { - color: @inputPlaceholderFocusColor; -} -.ui.form :focus::-moz-placeholder { - color: @inputPlaceholderFocusColor; -} - -/* Error Placeholder */ -.ui.form .error ::-webkit-input-placeholder { - color: @inputErrorPlaceholderColor; -} -.ui.form .error ::-moz-placeholder { - color: @inputErrorPlaceholderColor; -} -.ui.form .error :focus::-webkit-input-placeholder { - color: @inputErrorPlaceholderFocusColor; -} -.ui.form .error :focus::-moz-placeholder { - color: @inputErrorPlaceholderFocusColor; -} - -/*-------------------- - Focus ----------------------*/ - -.ui.form input[type="text"]:focus, -.ui.form input[type="email"]:focus, -.ui.form input[type="date"]:focus, -.ui.form input[type="password"]:focus, -.ui.form input[type="number"]:focus, -.ui.form input[type="url"]:focus, -.ui.form input[type="tel"]:focus { - color: @inputFocusColor; - border-color: @inputFocusBorderColor; - border-radius: @inputFocusBorderRadius; - background: @inputFocusBackground; - box-shadow: @inputFocusBoxShadow; -} -.ui.form textarea:focus { - color: @textAreaFocusColor; - border-color: @textAreaFocusBorderColor; - border-radius: @textAreaFocusBorderRadius; - background: @textAreaFocusBackground; - box-shadow: @textAreaFocusBoxShadow; - -webkit-appearance: none; -} - -/*-------------------- - Success ----------------------*/ - -/* On Form */ -.ui.form.success .success.message { - display: block; -} - -/*-------------------- - Error ----------------------*/ - -/* On Form */ -.ui.form.warning .warning.message { - display: block; -} - -/*-------------------- - Warning ----------------------*/ - -/* On Form */ -.ui.form.error .error.message { - display: block; -} - -/* On Field(s) */ -.ui.form .fields.error .field label, -.ui.form .field.error label, -.ui.form .fields.error .field .input, -.ui.form .field.error .input { - color: @formErrorColor; -} - -.ui.form .fields.error .field .corner.label, -.ui.form .field.error .corner.label { - border-color: @formErrorColor; - color: @white; -} - -.ui.form .fields.error .field textarea, -.ui.form .fields.error .field input[type="text"], -.ui.form .fields.error .field input[type="email"], -.ui.form .fields.error .field input[type="date"], -.ui.form .fields.error .field input[type="password"], -.ui.form .fields.error .field input[type="number"], -.ui.form .fields.error .field input[type="url"], -.ui.form .fields.error .field input[type="tel"], -.ui.form .field.error textarea, -.ui.form .field.error input[type="text"], -.ui.form .field.error input[type="email"], -.ui.form .field.error input[type="date"], -.ui.form .field.error input[type="password"], -.ui.form .field.error input[type="number"], -.ui.form .field.error input[type="url"], -.ui.form .field.error input[type="tel"] { - background: @formErrorBackground; - border-color: @formErrorBorder; - color: @formErrorColor; - border-radius: @inputErrorBorderRadius; - box-shadow: @inputErrorBoxShadow; -} -.ui.form .field.error textarea:focus, -.ui.form .field.error input[type="text"]:focus, -.ui.form .field.error input[type="email"]:focus, -.ui.form .field.error input[type="date"]:focus, -.ui.form .field.error input[type="password"]:focus, -.ui.form .field.error input[type="number"]:focus, -.ui.form .field.error input[type="url"]:focus, -.ui.form .field.error input[type="tel"]:focus{ - background: @inputErrorFocusBackground; - border-color: @inputErrorFocusBorder; - color: @inputErrorFocusColor; - - -webkit-appearance: none; - box-shadow: @inputErrorFocusBoxShadow; -} - -/*------------------ - Dropdown Error ---------------------*/ - -.ui.form .fields.error .field .ui.dropdown, -.ui.form .fields.error .field .ui.dropdown .item, -.ui.form .field.error .ui.dropdown, -.ui.form .field.error .ui.dropdown .text, -.ui.form .field.error .ui.dropdown .item { - background: @formErrorBackground; - color: @formErrorColor; -} -.ui.form .fields.error .field .ui.dropdown, -.ui.form .field.error .ui.dropdown { - box-shadow: 0px 0px 0px 1px @formErrorBorder !important; -} -.ui.form .fields.error .field .ui.dropdown:hover, -.ui.form .field.error .ui.dropdown:hover { - box-shadow: 0px 0px 0px 1px @formErrorBorder !important; -} -.ui.form .fields.error .field .ui.dropdown:hover .menu, -.ui.form .field.error .ui.dropdown:hover .menu { - box-shadow: 0px 1px 0px 1px @formErrorBorder; -} -/* Hover */ -.ui.form .fields.error .field .ui.dropdown .menu .item:hover, -.ui.form .field.error .ui.dropdown .menu .item:hover { - background-color: @dropdownErrorHoverBackground; -} -/* Active */ -.ui.form .fields.error .field .ui.dropdown .menu .active.item, -.ui.form .field.error .ui.dropdown .menu .active.item { - background-color: @dropdownErrorActiveBackground !important; -} - -/*-------------------- - Checkbox Error ----------------------*/ - -.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label, -.ui.form .field.error .checkbox:not(.toggle):not(.slider) label, -.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, -.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box { - color: @formErrorColor; -} -.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before, -.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before, -.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before, -.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before { - background: @formErrorBackground; - border-color: @formErrorBorder; -} -.ui.form .fields.error .field .checkbox label:after, -.ui.form .field.error .checkbox label:after, -.ui.form .fields.error .field .checkbox .box:after, -.ui.form .field.error .checkbox .box:after { - color: @formErrorColor; -} - -/*-------------------- - Disabled ----------------------*/ - -.ui.form .field :disabled, -.ui.form .field.disabled { - opacity: 0.5; -} -.ui.form .field.disabled label { - opacity: 0.5; -} -.ui.form .field.disabled :disabled { - opacity: 1; -} - - -/*-------------------- - Loading State ----------------------*/ - -/* On Form */ -.ui.form.loading { - position: relative; -} -.ui.form.loading:after { - position: absolute; - top: 0%; - left: 0%; - content: ''; - - width: 100%; - height: 100%; - background: @formLoaderDimmerColor url(@formLoaderPath) no-repeat @formLoaderPosition; - visibility: visible; -} - -/******************************* - Element Types -*******************************/ - -/*-------------------- - Required Field ----------------------*/ - -.ui.form .required.fields > .field > label:after, -.ui.form .required.fields > .field > .checkbox:after, -.ui.form .required.field > label:after, -.ui.form .required.field > .checkbox:after { - margin: -0.2em 0em 0em 0.2em; - vertical-align: top; - content: '*'; - color: @requiredColor; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------------- - Inverted Colors ----------------------*/ - -.ui.inverted.form label, -.ui.form .inverted.segment label, -.ui.form .inverted.segment .ui.checkbox label, -.ui.form .inverted.segment .ui.checkbox .box, -.ui.inverted.form .ui.checkbox label, -.ui.inverted.form .ui.checkbox .box { - color: @invertedLabelColor; -} -.ui.inverted.form.loading:after { - background: @formInvertedLoaderDimmerColor url(@formInvertedLoaderPath) no-repeat @formLoaderPosition; -} - -/*-------------------- - Field Groups ----------------------*/ - -/* Grouped Vertically */ -.ui.form .grouped.fields { - margin: @groupedMargin; -} -.ui.form .grouped.fields:last-child { - margin-bottom: 0em; -} -.ui.form .grouped.fields .field { - display: block; - float: none; - margin: @groupedFieldMargin; - padding: 0em; -} - -/*-------------------- - Fields ----------------------*/ - -/* Split fields */ -.ui.form .fields { - clear: both; -} -.ui.form .fields:after { - content: ' '; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; -} -.ui.form .fields > .field { - clear: none; - float: left; - box-sizing: border-box; - padding-left: (@gutterWidth / 2); - padding-right: (@gutterWidth / 2); -} -.ui.form .fields > .field:first-child { - border-left: none; - box-shadow: none; -} - -/* Other Combinations */ -.ui.form .two.fields > .fields, -.ui.form .two.fields > .field { - width: @twoColumn; -} -.ui.form .three.fields > .fields, -.ui.form .three.fields > .field { - width: @threeColumn; -} -.ui.form .four.fields > .fields, -.ui.form .four.fields > .field { - width: @fourColumn; -} -.ui.form .five.fields > .fields, -.ui.form .five.fields > .field { - width: @fiveColumn; -} -.ui.form .six.fields > .fields, -.ui.form .six.fields > .field { - width: @sixColumn; -} -.ui.form .seven.fields > .fields, -.ui.form .seven.fields > .field { - width: @sevenColumn; -} -.ui.form .eight.fields > .fields, -.ui.form .eight.fields > .field { - width: @eightColumn; -} -.ui.form .nine.fields > .fields, -.ui.form .nine.fields > .field { - width: @nineColumn; -} -.ui.form .ten.fields > .fields, -.ui.form .ten.fields > .field { - width: @tenColumn; -} - -/* Swap to full width on mobile */ -@media only screen and (max-width : 767px) { - .ui.form .two.fields > .fields, - .ui.form .two.fields > .field, - .ui.form .three.fields > .fields, - .ui.form .three.fields > .field, - .ui.form .four.fields > .fields, - .ui.form .four.fields > .field, - .ui.form .five.fields > .fields, - .ui.form .five.fields > .field { - width: @oneColumn; - padding-left: 0%; - padding-right: 0%; - } -} - -.ui.form .fields .field:first-child { - padding-left: 0%; -} -.ui.form .fields .field:last-child { - padding-right: 0%; -} - - -/* Sizing Combinations */ - -.ui.form .fields .wide.field { - width: @oneWide; - padding-left: (@gutterWidth / 2); - padding-right: (@gutterWidth / 2); -} -.ui.form .fields .wide.field:first-child { - padding-left: 0%; -} -.ui.form .fields .wide.field:last-child { - padding-right: 0%; -} - -.ui.form .one.wide.field { - width: @oneWide !important; -} -.ui.form .two.wide.field { - width: @twoWide !important; -} -.ui.form .three.wide.field { - width: @threeWide !important; -} -.ui.form .four.wide.field { - width: @fourWide !important; -} -.ui.form .five.wide.field { - width: @fiveWide !important; -} -.ui.form .six.wide.field { - width: @sixWide !important; -} -.ui.form .seven.wide.field { - width: @sevenWide !important; -} -.ui.form .eight.wide.field { - width: @eightWide !important; -} -.ui.form .nine.wide.field { - width: @nineWide !important; -} -.ui.form .ten.wide.field { - width: @tenWide !important; -} -.ui.form .eleven.wide.field { - width: @elevenWide !important; -} -.ui.form .twelve.wide.field { - width: @twelveWide !important; -} -.ui.form .thirteen.wide.field { - width: @thirteenWide !important; -} -.ui.form .fourteen.wide.field { - width: @fourteenWide !important; -} -.ui.form .fifteen.wide.field { - width: @fifteenWide !important; -} -.ui.form .sixteen.wide.field { - width: @sixteenWide !important; -} - -/* Swap to full width on mobile */ -@media only screen and (max-width : 767px) { - .ui.form .two.fields > .fields, - .ui.form .two.fields > .field, - .ui.form .three.fields > .fields, - .ui.form .three.fields > .field, - .ui.form .four.fields > .fields, - .ui.form .four.fields > .field, - .ui.form .five.fields > .fields, - .ui.form .five.fields > .field, - .ui.form .fields > .two.wide.field, - .ui.form .fields > .three.wide.field, - .ui.form .fields > .four.wide.field, - .ui.form .fields > .five.wide.field, - .ui.form .fields > .six.wide.field, - .ui.form .fields > .seven.wide.field, - .ui.form .fields > .eight.wide.field, - .ui.form .fields > .nine.wide.field, - .ui.form .fields > .ten.wide.field, - .ui.form .fields > .eleven.wide.field, - .ui.form .fields > .twelve.wide.field, - .ui.form .fields > .thirteen.wide.field, - .ui.form .fields > .fourteen.wide.field, - .ui.form .fields > .fifteen.wide.field, - .ui.form .fields > .sixteen.wide.field { - width: @oneColumn; - padding-left: 0%; - padding-right: 0%; - } -} - -/*-------------------- - Inline Fields ----------------------*/ - -.ui.form .inline.fields { - margin: @fieldMargin; -} -.ui.form .inline.fields .field { - display: inline-block; - margin: @inlineFieldsMargin; - padding: 0em; -} -.ui.form .inline.fields .field > label, -.ui.form .inline.fields .field > p, -.ui.form .inline.fields .field > input, -.ui.form .inline.field > label, -.ui.form .inline.field > p, -.ui.form .inline.field > input { - display: inline-block; - width: auto; - - margin-top: 0em; - margin-bottom: 0em; - - vertical-align: @inlineLabelVerticalAlign; - font-size: @inlineLabelFontSize; -} -.ui.form .inline.fields .field > input, -.ui.form .inline.field > input { - font-size: @inlineLabelFontSize; -} - -/* Label */ -.ui.form .inline.fields .field > :first-child, -.ui.form .inline.field > :first-child { - margin: 0em @labelDistance 0em 0em; -} -.ui.form .inline.fields .field > :only-child, -.ui.form .inline.field > :only-child { - margin: 0em; -} - - -/*-------------------- - Sizes ----------------------*/ - -/* Standard */ -.ui.small.form { - font-size: @small; -} - -/* Medium */ -.ui.form { - font-size: @medium; -} - -/* Large */ -.ui.large.form { - font-size: @large; -} - -/* Huge */ -.ui.huge.form { - font-size: @huge; -} - -.loadUIOverrides(); diff --git a/definitions/collections/grid.less b/definitions/collections/grid.less deleted file mode 100644 index 283830bf45..0000000000 --- a/definitions/collections/grid.less +++ /dev/null @@ -1,1192 +0,0 @@ -/* - * # Semantic - Grid - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'grid'; - -@import '../../semantic.config'; - - -/******************************* - Standard -*******************************/ - -.ui.grid { - display: block; - text-align: left; - - font-size: 0em; - padding: 0em; -} - -.ui.grid:after, -.ui.grid > .row:after { - content: ''; - display: block; - height: 0px; - clear: both; - visibility: hidden; -} - -/*---------------------- - Remove Gutters ------------------------*/ - -.ui.grid { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - margin-left: -(@gutterWidth / 2); - margin-right: -(@gutterWidth / 2); -} -.ui.relaxed.grid { - margin-left: -(@relaxedGutterWidth / 2); - margin-right: -(@relaxedGutterWidth / 2); -} -.ui[class*="very relaxed"].grid { - margin-left: -(@veryRelaxedGutterWidth / 2); - margin-right: -(@veryRelaxedGutterWidth / 2); -} - - -/* Collapse Margins on Consecutive Grids */ -.ui.grid + .grid { - margin-top: (@rowSpacing / 2); -} - -/*------------------- - Columns ---------------------*/ - -/* Standard 16 column */ -.ui.grid > .column:not(.row), -.ui.grid > .row > .column { - display: inline-block; - text-align: left; - font-size: 1rem; - - width: @oneWide; - padding-left: (@gutterWidth / 2); - padding-right: (@gutterWidth / 2); - vertical-align: top; -} - -.ui.grid > * { - padding-left: (@gutterWidth / 2); - padding-right: (@gutterWidth / 2); -} - -/*------------------- - Rows ---------------------*/ - -.ui.grid > .row { - display: block; - width: auto !important; - padding: 0rem; - font-size: 0rem; - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -/*------------------- - Columns ---------------------*/ - -/* Vertical padding when no rows */ -.ui.grid > .column:not(.row) { - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} -.ui.grid > .row > .column { - margin-top: 0em; - margin-bottom: 0em; -} - -/*------------------- - Content ---------------------*/ - -.ui.grid > .row > img, -.ui.grid > .row > .column > img { - max-width: @columnMaxImageWidth; -} - -/*------------------- - Loose Coupling ---------------------*/ - -.ui.grid .row + .ui.divider { - margin: (@rowSpacing / 2) (@gutterWidth / 2); -} - -/* remove Border on last horizontal segment */ -.ui.grid > .row > .column:last-child > .horizontal.segment, -.ui.grid > .column:last-child > .horizontal.segment { - box-shadow: none; -} - -/******************************* - Variations -*******************************/ - - -/*----------------------- - Page Grid --------------------------*/ - -.ui.page.grid { - padding-left: @computerGutter; - padding-right: @computerGutter; - width: @computerWidth; -} - -/* Collapse Margin */ -.ui.grid > .ui.grid:first-child { - margin-top: 0em; -} -.ui.grid > .ui.grid:last-child { - margin-bottom: 0em; -} - -@media only screen and (max-width: (@largestMobileScreen)) { - .ui.page.grid { - width: @mobileWidth; - padding-left: 0em; - padding-right: 0em; - margin: 0em; - } -} -@media only screen and (min-width: @tabletBreakpoint) { - .ui.page.grid { - width: @tabletWidth; - padding-left: @tabletGutter; - padding-right: @tabletGutter; - } -} -@media only screen and (min-width: @computerBreakpoint) { - .ui.page.grid { - width: @computerWidth; - padding-left: @computerGutter; - padding-right: @computerGutter; - } -} -@media only screen and (min-width: @largeMonitorBreakpoint) { - .ui.page.grid { - width: @largeMonitorWidth; - padding-left: @largeMonitorGutter; - padding-right: @largeMonitorGutter; - } -} -@media only screen and (min-width: @widescreenMonitorBreakpoint) { - .ui.page.grid { - width: @widescreenMonitorWidth; - padding-left: @widescreenMonitorGutter; - padding-right: @widescreenMonitorGutter; - } -} - - -/*------------------- - Column Count ---------------------*/ - -/* Assume full width with one column */ -.ui.grid > .column:only-child, -.ui.grid > .row > .column:only-child { - width: @oneColumn; -} - -/* Grid Based */ -.ui[class*="one column"].grid > .row > .column, -.ui[class*="one column"].grid > .column { - width: @oneColumn; -} -.ui[class*="two column"].grid > .row > .column, -.ui[class*="two column"].grid > .column { - width: @twoColumn; -} -.ui[class*="three column"].grid > .row > .column, -.ui[class*="three column"].grid > .column { - width: @threeColumn; -} -.ui[class*="four column"].grid > .row > .column, -.ui[class*="four column"].grid > .column { - width: @fourColumn; -} -.ui[class*="five column"].grid > .row > .column, -.ui[class*="five column"].grid > .column { - width: @fiveColumn; -} -.ui[class*="six column"].grid > .row > .column, -.ui[class*="six column"].grid > .column { - width: @sixColumn; -} -.ui[class*="seven column"].grid > .row > .column, -.ui[class*="seven column"].grid > .column { - width: @sevenColumn; -} -.ui[class*="eight column"].grid > .row > .column, -.ui[class*="eight column"].grid > .column { - width: @eightColumn; -} -.ui[class*="nine column"].grid > .row > .column, -.ui[class*="nine column"].grid > .column { - width: @nineColumn; -} -.ui[class*="ten column"].grid > .row > .column, -.ui[class*="ten column"].grid > .column { - width: @tenColumn; -} -.ui[class*="eleven column"].grid > .row > .column, -.ui[class*="eleven column"].grid > .column { - width: @elevenColumn; -} -.ui[class*="twelve column"].grid > .row > .column, -.ui[class*="twelve column"].grid > .column { - width: @twelveColumn; -} -.ui[class*="thirteen column"].grid > .row > .column, -.ui[class*="thirteen column"].grid > .column { - width: @thirteenColumn; -} -.ui[class*="fourteen column"].grid > .row > .column, -.ui[class*="fourteen column"].grid > .column { - width: @fourteenColumn; -} -.ui[class*="fifteen column"].grid > .row > .column, -.ui[class*="fifteen column"].grid > .column { - width: @fifteenColumn; -} -.ui[class*="sixteen column"].grid > .row > .column, -.ui[class*="sixteen column"].grid > .column { - width: @sixteenColumn; -} - -/* Row Based Overrides */ -.ui.grid > [class*="one column"].row > .column { - width: @oneColumn !important; -} -.ui.grid > [class*="two column"].row > .column { - width: @twoColumn !important; -} -.ui.grid > [class*="three column"].row > .column { - width: @threeColumn !important; -} -.ui.grid > [class*="four column"].row > .column { - width: @fourColumn !important; -} -.ui.grid > [class*="five column"].row > .column { - width: @fiveColumn !important; -} -.ui.grid > [class*="six column"].row > .column { - width: @sixColumn !important; -} -.ui.grid > [class*="seven column"].row > .column { - width: @sevenColumn !important; -} -.ui.grid > [class*="eight column"].row > .column { - width: @eightColumn !important; -} -.ui.grid > [class*="nine column"].row > .column { - width: @nineColumn !important; -} -.ui.grid > [class*="ten column"].row > .column { - width: @tenColumn !important; -} -.ui.grid > [class*="eleven column"].row > .column { - width: @elevenColumn !important; -} -.ui.grid > [class*="twelve column"].row > .column { - width: @twelveColumn !important; -} -.ui.grid > [class*="thirteen column"].row > .column { - width: @thirteenColumn !important; -} -.ui.grid > [class*="fourteen column"].row > .column { - width: @fourteenColumn !important; -} -.ui.grid > [class*="fifteen column"].row > .column { - width: @fifteenColumn !important; -} -.ui.grid > [class*="sixteen column"].row > .column { - width: @sixteenColumn !important; -} - - -/*------------------- - Column Width ---------------------*/ - -/* Sizing Combinations */ -.ui.grid > .row > [class*="one wide"].column, -.ui.grid > .column.row > [class*="one wide"].column, -.ui.grid > [class*="one wide"].column, -.ui.column.grid > [class*="one wide"].column { - width: @oneWide !important; -} -.ui.grid > .row > [class*="two wide"].column, -.ui.grid > .column.row > [class*="two wide"].column, -.ui.grid > [class*="two wide"].column, -.ui.column.grid > [class*="two wide"].column { - width: @twoWide !important; -} -.ui.grid > .row > [class*="three wide"].column, -.ui.grid > .column.row > [class*="three wide"].column, -.ui.grid > [class*="three wide"].column, -.ui.column.grid > [class*="three wide"].column { - width: @threeWide !important; -} -.ui.grid > .row > [class*="four wide"].column, -.ui.grid > .column.row > [class*="four wide"].column, -.ui.grid > [class*="four wide"].column, -.ui.column.grid > [class*="four wide"].column { - width: @fourWide !important; -} -.ui.grid > .row > [class*="five wide"].column, -.ui.grid > .column.row > [class*="five wide"].column, -.ui.grid > [class*="five wide"].column, -.ui.column.grid > [class*="five wide"].column { - width: @fiveWide !important; -} -.ui.grid > .row > [class*="six wide"].column, -.ui.grid > .column.row > [class*="six wide"].column, -.ui.grid > [class*="six wide"].column, -.ui.column.grid > [class*="six wide"].column { - width: @sixWide !important; -} -.ui.grid > .row > [class*="seven wide"].column, -.ui.grid > .column.row > [class*="seven wide"].column, -.ui.grid > [class*="seven wide"].column, -.ui.column.grid > [class*="seven wide"].column { - width: @sevenWide !important; -} -.ui.grid > .row > [class*="eight wide"].column, -.ui.grid > .column.row > [class*="eight wide"].column, -.ui.grid > [class*="eight wide"].column, -.ui.column.grid > [class*="eight wide"].column { - width: @eightWide !important; -} -.ui.grid > .row > [class*="nine wide"].column, -.ui.grid > .column.row > [class*="nine wide"].column, -.ui.grid > [class*="nine wide"].column, -.ui.column.grid > [class*="nine wide"].column { - width: @nineWide !important; -} -.ui.grid > .row > [class*="ten wide"].column, -.ui.grid > .column.row > [class*="ten wide"].column, -.ui.grid > [class*="ten wide"].column, -.ui.column.grid > [class*="ten wide"].column { - width: @tenWide !important; -} -.ui.grid > .row > [class*="eleven wide"].column, -.ui.grid > .column.row > [class*="eleven wide"].column, -.ui.grid > [class*="eleven wide"].column, -.ui.column.grid > [class*="eleven wide"].column { - width: @elevenWide !important; -} -.ui.grid > .row > [class*="twelve wide"].column, -.ui.grid > .column.row > [class*="twelve wide"].column, -.ui.grid > [class*="twelve wide"].column, -.ui.column.grid > [class*="twelve wide"].column { - width: @twelveWide !important; -} -.ui.grid > .row > [class*="thirteen wide"].column, -.ui.grid > .column.row > [class*="thirteen wide"].column, -.ui.grid > [class*="thirteen wide"].column, -.ui.column.grid > [class*="thirteen wide"].column { - width: @thirteenWide !important; -} -.ui.grid > .row > [class*="fourteen wide"].column, -.ui.grid > .column.row > [class*="fourteen wide"].column, -.ui.grid > [class*="fourteen wide"].column, -.ui.column.grid > [class*="fourteen wide"].column { - width: @fourteenWide !important; -} -.ui.grid > .row > [class*="fifteen wide"].column, -.ui.grid > .column.row > [class*="fifteen wide"].column, -.ui.grid > [class*="fifteen wide"].column, -.ui.column.grid > [class*="fifteen wide"].column { - width: @fifteenWide !important; -} -.ui.grid > .row > [class*="sixteen wide"].column, -.ui.grid > .column.row > [class*="sixteen wide"].column, -.ui.grid > [class*="sixteen wide"].column, -.ui.column.grid > [class*="sixteen wide"].column { - width: @sixteenWide !important; -} - -/*---------------------- - Centered ------------------------*/ - -.ui.centered.grid, -.ui.centered.grid > .row, -.ui.grid .centered.row { - text-align: center; -} -.ui.centered.grid > .column:not(.aligned), -.ui.centered.grid > .row > .column:not(.aligned), -.ui.grid .centered.row > .column:not(.aligned) { - text-align: left; -} - -.ui.grid > .centered.column, -.ui.grid > .row > .centered.column { - display: block; - margin-left: auto; - margin-right: auto; -} - -/*---------------------- - Relaxed ------------------------*/ - -.ui.relaxed.grid > .column:not(.row), -.ui.relaxed.grid > .row > .column, -.ui.grid > .relaxed.row > .column { - padding-left: (@relaxedGutterWidth / 2); - padding-right: (@relaxedGutterWidth / 2); -} - -.ui[class*="very relaxed"].grid > .column:not(.row), -.ui[class*="very relaxed"].grid > .row > .column, -.ui.grid > [class*="very relaxed"].row > .column { - padding-left: (@veryRelaxedGutterWidth / 2); - padding-right: (@veryRelaxedGutterWidth / 2); -} - -/* Coupling with UI Divider */ -.ui.relaxed.grid .row + .ui.divider, -.ui.grid .relaxed.row + .ui.divider { - margin-left: (@relaxedGutterWidth / 2); - margin-right: (@relaxedGutterWidth / 2); -} -.ui[class*="very relaxed"].grid .row + .ui.divider, -.ui.grid [class*="very relaxed"].row + .ui.divider { - margin-left: (@veryRelaxedGutterWidth / 2); - margin-right: (@veryRelaxedGutterWidth / 2); -} - - -/*---------------------- - Padded ------------------------*/ - -.ui.padded.grid:not(.vertically):not(.horizontally) { - margin: 0em !important; -} -[class*="horizontally padded"].ui.grid { - margin-left: 0em !important; - margin-right: 0em !important; -} -[class*="vertically padded"].ui.grid { - margin-top: 0em !important; - margin-bottom: 0em !important; -} - -/*---------------------- - "Floated" ------------------------*/ - -.ui.grid [class*="left floated"].column { - float: left; -} -.ui.grid [class*="right floated"].column { - float: right; -} - - -/*---------------------- - Divided ------------------------*/ - -.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row), -.ui.divided.grid:not([class*="vertically divided"]) > .row > .column { - box-shadow: @dividedBorder; -} - -/* Swap from padding to margin on columns to have dividers align */ -.ui[class*="vertically divided"].grid > .column:not(.row), -.ui[class*="vertically divided"].grid > .row > .column { - margin-top: (@rowSpacing / 2); - margin-bottom: (@rowSpacing / 2); - padding-top: 0rem; - padding-bottom: 0rem; -} -.ui[class*="vertically divided"].grid > .row { - margin-top: 0em; - margin-bottom: 0em; - padding-top: 0em; - padding-bottom: 0em; -} - -/* No divider on first column on row */ -.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child, -.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - box-shadow: none; -} - -/* Divided Row */ -.ui.grid > .divided.row > .column { - box-shadow: @dividedBorder; -} -.ui.grid > .divided.row > .column:first-child { - box-shadow: none; -} - -/* Vertically Divided */ -.ui[class*="vertically divided"].grid > .row { - position: relative; -} -.ui[class*="vertically divided"].grid > .row:before { - position: absolute; - content: ""; - top: 0em; - left: 0px; - - width: ~"calc(100% - "@gutterWidth~")"; - height: 1px; - - margin: 0% (@gutterWidth / 2); - box-shadow: @verticallyDividedBorder; -} - -/* Padded Horizontally Divided */ -[class*="horizontally padded"].ui.divided.grid, -.ui.padded.divided.grid:not(.vertically):not(.horizontally) { - width: 100%; -} - -/* First Row Vertically Divided */ -.ui[class*="vertically divided"].grid > .row:first-child:before { - box-shadow: none; -} - -/* Inverted Divided */ -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column, -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column { - box-shadow: @dividedInvertedBorder; -} -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:first-child, -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - box-shadow: none; -} -.ui.inverted[class*="vertically divided"].grid > .row { - box-shadow: @verticallyDividedInvertedBorder; -} - -/* Relaxed */ -.ui.relaxed[class*="vertically divided"].grid > .row:before { - margin-left: (@relaxedGutterWidth / 2); - margin-right: (@relaxedGutterWidth / 2); - width: ~"calc(100% - "@relaxedGutterWidth~")"; -} -.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before { - margin-left: @veryRelaxedGutterWidth; - margin-right: @veryRelaxedGutterWidth; - width: ~"calc(100% - "@veryRelaxedGutterWidth~")"; -} - -/*---------------------- - Celled ------------------------*/ - -.ui.celled.grid { - display: table; - table-layout: fixed; - width: 100%; - margin: @celledMargin; - box-shadow: 0px 0px 0px @celledWidth @celledBorderColor; -} -.ui.celled.grid > .row, -.ui.celled.grid > .column.row, -.ui.celled.grid > .column.row:first-child { - display: table; - table-layout: fixed; - width: 100% !important; - margin: 0em; - padding: 0em; - box-shadow: 0px (-@celledWidth) 0px 0px @celledBorderColor; -} -.ui.celled.grid > .column:not(.row), -.ui.celled.grid > .row > .column { - display: table-cell; - box-shadow: (-@celledWidth) 0px 0px 0px @celledBorderColor; -} -.ui.celled.grid > .column:first-child, -.ui.celled.grid > .row > .column:first-child { - box-shadow: none; -} -.ui.celled.page.grid { - box-shadow: none; -} - -.ui.celled.grid > .column:not(.row), -.ui.celled.grid > .row > .column { - padding: @celledPadding; -} -.ui.relaxed.celled.grid > .column:not(.row), -.ui.relaxed.celled.grid > .row > .column { - padding: @celledRelaxedPadding; -} -.ui[class*="very relaxed"].celled.grid > .column:not(.row), -.ui[class*="very relaxed"].celled.grid > .row > .column { - padding: @celledVeryRelaxedPadding; -} - -/* Internally Celled */ -.ui[class*="internally celled"].grid { - box-shadow: none; -} -.ui[class*="internally celled"].grid > .row:first-child { - box-shadow: none; -} -.ui[class*="internally celled"].grid > .row > .column:first-child { - box-shadow: none; -} - -/*---------------------- - Horizontally Centered ------------------------*/ - -/* Left Aligned */ -.ui[class*="left aligned"].grid, -.ui[class*="left aligned"].grid > .row > .column, -.ui[class*="left aligned"].grid > .column, -.ui.grid [class*="left aligned"].column, -.ui.grid > [class*="left aligned"].aligned.row > .column { - text-align: left; -} -.ui.grid [class*="left aligned"].column{ - text-align: left !important; -} - -/* Center Aligned */ -.ui[class*="center aligned"].grid, -.ui[class*="center aligned"].grid > .row > .column, -.ui[class*="center aligned"].grid > .column, -.ui.grid > [class*="center aligned"].aligned.row > .column { - text-align: center; -} -.ui.grid [class*="center aligned"].column{ - text-align: center !important; -} - -/* Right Aligned */ -.ui[class*="right aligned"].grid, -.ui[class*="right aligned"].grid > .row > .column, -.ui[class*="right aligned"].grid > .column, -.ui.grid > [class*="right aligned"].aligned.row > .column { - text-align: right; -} -.ui.grid [class*="right aligned"].column{ - text-align: right !important; -} - -/* Justified */ -.ui.justified.grid, -.ui.justified.grid > .row > .column, -.ui.justified.grid > .column, -.ui.grid .justified.column, -.ui.grid > .justified.row > .column { - text-align: justify; - hyphens: auto; -} -.ui.grid .justified.column { - text-align: justify !important; - hyphens: auto !important; -} - -/*---------------------- - Vertically Aligned ------------------------*/ - -/* Top Aligned */ -.ui[class*="top aligned"].grid, -.ui[class*="top aligned"].grid > .row > .column, -.ui[class*="top aligned"].grid > .column, -.ui.grid [class*="top aligned"].column, -.ui.grid > [class*="top aligned"].aligned.row > .column { - vertical-align: top; -} -.ui.grid [class*="top aligned"].column{ - vertical-align: top !important; -} - -/* Middle Aligned */ -.ui[class*="center aligned"].grid, -.ui[class*="middle aligned"].grid > .row > .column, -.ui[class*="middle aligned"].grid > .column, -.ui.grid > [class*="middle aligned"].aligned.row > .column { - vertical-align: middle; -} -.ui.grid [class*="middle aligned"].column{ - vertical-align: middle !important; -} - -/* Bottom Aligned */ -.ui[class*="bottom aligned"].grid, -.ui[class*="bottom aligned"].grid > .row > .column, -.ui[class*="bottom aligned"].grid > .column, -.ui.grid > [class*="bottom aligned"].aligned.row > .column { - vertical-align: bottom; -} -.ui.grid [class*="bottom aligned"].column{ - vertical-align: bottom !important; -} - -/*---------------------- - Colored ------------------------*/ - -.ui.grid > .white.row, -.ui.grid .white.column { - background-color: @white !important; - color: @textColor; -} -.ui.grid > .row > .white.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .black.row, -.ui.grid .black.column { - background-color: @black !important; - color: @white; -} -.ui.grid > .row > .black.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .blue.row, -.ui.grid .blue.column { - background-color: @blue !important; - color: @white; -} -.ui.grid > .row > .blue.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .green.row, -.ui.grid .green.column { - background-color: @green !important; - color: @white; -} -.ui.grid > .row > .green.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .orange.row, -.ui.grid .orange.column { - background-color: @orange !important; - color: @white; -} -.ui.grid > .row > .orange.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .pink.row, -.ui.grid .pink.column { - background-color: @pink !important; - color: @white; -} -.ui.grid > .row > .pink.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .purple.row, -.ui.grid .purple.column { - background-color: @purple !important; - color: @white; -} -.ui.grid > .row > .purple.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .red.row, -.ui.grid .red.column { - background-color: @red !important; - color: @white; -} -.ui.grid > .row > .red.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .teal.row, -.ui.grid .teal.column { - background-color: @teal !important; - color: @white; -} -.ui.grid > .row > .teal.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - -.ui.grid > .yellow.row, -.ui.grid .yellow.column { - background-color: @yellow !important; - color: @white; -} -.ui.grid > .row > .yellow.column { - margin-top: -(@rowSpacing / 2); - margin-bottom: -(@rowSpacing / 2); - padding-top: (@rowSpacing / 2); - padding-bottom: (@rowSpacing / 2); -} - - - - -/*---------------------- - Equal Height Columns ------------------------*/ -.ui[class*="equal height"].grid { - display: table; - table-layout: fixed; - width: @tableWidth; -} -.ui[class*="equal height"].relaxed.grid { - width: @relaxedTableWidth; -} -.ui[class*="equal height"][class*="very relaxed"].grid { - width: @veryRelaxedTableWidth; -} - -.ui[class*="equal height"].grid > .row, -.ui[class*="equal height"].row { - display: table; - table-layout: fixed; - width: 100% !important; -} -.ui[class*="equal height"].grid > .column, -.ui[class*="equal height"].grid > .row > .column, -.ui.grid > [class*="equal height"].row > .column { - display: table-cell; -} - - -/*------------------- - Doubling ---------------------*/ - - -/* Mobily Only */ -@media only screen and (max-width: @largestMobileScreen) { - .ui.doubling.grid { - width: 100% !important; - } - .ui.grid > .doubling.row, - .ui.doubling.grid > .row { - display: block !important; - margin: 0em !important; - padding: 0em !important; - } - .ui.grid > .doubling.row > .column, - .ui.doubling.grid > .row > .column { - display: inline-block !important; - padding-top: (@rowSpacing / 2) !important; - padding-bottom: (@rowSpacing / 2) !important; - margin: 0em !important; - } - .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="two column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="two column"].doubling:not(.stackable).row > .column { - width: @oneColumn !important; - } - .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="three column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="three column"].doubling:not(.stackable).row > .column { - width: @twoColumn !important; - } - .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="four column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="four column"].doubling:not(.stackable).row > .column { - width: @twoColumn !important; - } - .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="five column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="five column"].doubling:not(.stackable).row > .column { - width: @twoColumn !important; - } - .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="six column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="six column"].doubling:not(.stackable).row > .column { - width: @twoColumn !important; - } - .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="seven column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="seven column"].doubling:not(.stackable).row > .column { - width: @threeColumn !important; - } - .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="eight column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="eight column"].doubling:not(.stackable).row > .column { - width: @threeColumn !important; - } - .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="nine column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="nine column"].doubling:not(.stackable).row > .column { - width: @threeColumn !important; - } - .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="ten column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="ten column"].doubling:not(.stackable).row > .column { - width: @threeColumn !important; - } - .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="twelve column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="twelve column"].doubling:not(.stackable).row > .column { - width: @fourColumn !important; - } - .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row > .column { - width: @fourColumn !important; - } - .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column, - .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column, - .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row > .column { - width: @fourColumn !important; - } -} - -/* Tablet Only */ -@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) { - .ui.doubling.grid { - width: 100% !important; - } - .ui.grid > .doubling.row, - .ui.doubling.grid > .row { - margin: 0em !important; - padding: 0em !important; - } - .ui.grid > .doubling.row > .column, - .ui.doubling.grid > .row > .column { - display: inline-block !important; - padding-top: (@rowSpacing / 2) !important; - padding-bottom: (@rowSpacing / 2) !important; - margin: 0em; - } - .ui[class*="two column"].doubling.grid > .row > .column, - .ui[class*="two column"].doubling.grid > .column, - .ui.grid > [class*="two column"].doubling.row > .column { - width: @oneColumn !important; - } - .ui[class*="three column"].doubling.grid > .row > .column, - .ui[class*="three column"].doubling.grid > .column, - .ui.grid > [class*="three column"].doubling.row > .column { - width: @twoColumn !important; - } - .ui[class*="four column"].doubling.grid > .row > .column, - .ui[class*="four column"].doubling.grid > .column, - .ui.grid > [class*="four column"].doubling.row > .column { - width: @twoColumn !important; - } - .ui[class*="five column"].doubling.grid > .row > .column, - .ui[class*="five column"].doubling.grid > .column, - .ui.grid > [class*="five column"].doubling.row > .column { - width: @threeColumn !important; - } - .ui[class*="six column"].doubling.grid > .row > .column, - .ui[class*="six column"].doubling.grid > .column, - .ui.grid > [class*="six column"].doubling.row > .column { - width: @threeColumn !important; - } - .ui[class*="eight column"].doubling.grid > .row > .column, - .ui[class*="eight column"].doubling.grid > .column, - .ui.grid > [class*="eight column"].doubling.row > .column { - width: @threeColumn !important; - } - .ui[class*="eight column"].doubling.grid > .row > .column, - .ui[class*="eight column"].doubling.grid > .column, - .ui.grid > [class*="eight column"].doubling.row > .column { - width: @fourColumn !important; - } - .ui[class*="nine column"].doubling.grid > .row > .column, - .ui[class*="nine column"].doubling.grid > .column, - .ui.grid > [class*="nine column"].doubling.row > .column { - width: @fourColumn !important; - } - .ui[class*="ten column"].doubling.grid > .row > .column, - .ui[class*="ten column"].doubling.grid > .column, - .ui.grid > [class*="ten column"].doubling.row > .column { - width: @fiveColumn !important; - } - .ui[class*="twelve column"].doubling.grid > .row > .column, - .ui[class*="twelve column"].doubling.grid > .column, - .ui.grid > [class*="twelve column"].doubling.row > .column { - width: @sixColumn !important; - } - .ui[class*="fourteen column"].doubling.grid > .row > .column, - .ui[class*="fourteen column"].doubling.grid > .column, - .ui.grid > [class*="fourteen column"].doubling.row > .column { - width: @sevenColumn !important; - } - .ui[class*="sixteen column"].doubling.grid > .row > .column, - .ui[class*="sixteen column"].doubling.grid > .column, - .ui.grid > [class*="sixteen column"].doubling.row > .column { - width: @eightColumn !important; - } -} - -/*------------------- - Stackable ---------------------*/ - -@media only screen and (max-width: @largestMobileScreen) { - .ui.stackable.grid { - display: block !important; - width: auto; - padding: 0em; - margin-top: 0em; - margin-bottom: 0em; - } - :not(.column) > .ui.stackable.grid { - margin: 0em; - } - .ui.stackable.grid > .row > .wide.column, - .ui.stackable.grid > .wide.column, - .ui.stackable.grid > .column.grid > .column, - .ui.stackable.grid > .column.row > .column, - .ui.stackable.grid > .row > .column, - .ui.stackable.grid > .column { - display: block !important; - width: auto !important; - - margin: (@stackableRowSpacing / 4) 0em !important; - padding: (@stackableRowSpacing / 4) (@stackableGutter / 2) 0em !important; - - box-shadow: none !important; - } - - .ui.stackable.celled.grid > .column, - .ui.stackable.celled.grid > .row > .column, - .ui.stackable.divided.grid > .column, - .ui.stackable.divided.grid > .row > .column { - border-top: @stackableMobileBorder; - box-shadow: none !important; - margin: (@stackableRowSpacing) 0em !important; - padding: (@stackableRowSpacing) (@stackableGutter / 2) 0em !important; - } - .ui.inverted.stackable.celled.grid > .column, - .ui.inverted.stackable.celled.grid > .row > .column, - .ui.inverted.stackable.divided.grid > .column, - .ui.inverted.stackable.divided.grid > .row > .column { - border-top: @stackableInvertedMobileBorder; - } - .ui.stackable.grid > .row:first-child > .column:first-child, - .ui.stackable.grid > .column:first-child { - margin-top: 0em !important; - padding-top: 0em !important; - } - .ui.stackable.divided.grid > .row:first-child > .column:first-child, - .ui.stackable.celled.grid > .row:first-child > .column:first-child, - .ui.stackable.divided.grid > .column:first-child, - .ui.stackable.celled.grid > .column:first-child { - border-top: none !important; - } - - .ui[class*="equal height"].stackable.page.grid { - display: block !important; - width: 100% !important; - } - - /* Remove pointers from vertical menus */ - .ui.stackable.grid .vertical.pointing.menu .item:after { - display: none; - } - -} - -/*---------------------- - Only (Device) ------------------------*/ - - -/* These include arbitrary class repetitions for forced specificity */ - -/* Mobile Only Hide */ -@media only screen and ( max-width: @largestMobileScreen ) { - .ui.tablet:not(.mobile).only.grid.grid.grid, - .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile), - .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile), - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile) { - display: none !important; - } - .ui[class*="computer only"].grid.grid.grid:not(.mobile), - .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile), - .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile), - .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile) { - display: none !important; - } -} -/* Tablet Only Hide */ -@media only screen and (min-width: @tabletBreakpoint ) and (max-width: @largestTabletScreen) { - .ui[class*="mobile only"].grid.grid.grid:not(.tablet), - .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet), - .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet), - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet) { - display: none !important; - } - .ui[class*="computer only"].grid.grid.grid:not(.tablet), - .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet), - .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet), - .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet) { - display: none !important; - } -} - -/* Computer Only Hide */ -@media only screen and ( min-width: (@computerBreakpoint) ) { - .ui[class*="mobile only"].grid.grid.grid:not(.computer), - .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), - .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) { - display: none !important; - } - .ui[class*="tablet only"].grid.grid.grid:not(.computer), - .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), - .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) { - display: none !important; - } -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/collections/menu.less b/definitions/collections/menu.less deleted file mode 100644 index 0f8eeff9d6..0000000000 --- a/definitions/collections/menu.less +++ /dev/null @@ -1,1613 +0,0 @@ -/* - * # Semantic - Menu - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'menu'; - -@import '../../semantic.config'; - -/******************************* - Standard -*******************************/ - -/*-------------- - Menu ----------------*/ - -.ui.menu { - margin: @margin; - background: @background; - font-size: 0px; - font-weight: @fontWeight; - box-shadow: @boxShadow; - border-radius: @borderRadius; -} - -.ui.menu:after { - content: ''; - display: block; - height: 0px; - clear: both; - visibility: hidden; -} - -.ui.menu:first-child { - margin-top: 0rem; -} -.ui.menu:last-child { - margin-bottom: 0rem; -} - -/*-------------- - Colors ----------------*/ - -/* Text Color */ -.ui.menu .item { - color: @menuTextColor; -} -.ui.menu .item .item { - color: @subMenuTextColor; -} - -/* Hover */ -.ui.menu .item .menu a.item:hover, -.ui.menu .item .menu .link.item:hover { - color: @darkTextColor; -} - - -/*-------------- - Items ----------------*/ - -.ui.menu .item { - position: relative; - display: inline-block; - padding: @verticalPadding @horizontalPadding; - border-top: @borderSize solid transparent; - - background: @itemBackground; - vertical-align: middle; - line-height: 1; - text-decoration: none; - box-sizing: border-box; - - -webkit-tap-highlight-color: transparent; - user-select: none; - transition: @transition; -} - -.ui.menu .menu { - margin: 0em; -} - -/* Floated Content */ -.ui.menu > .item:first-child { - border-radius: @borderRadius 0px 0px @borderRadius; -} -.ui.menu:not(.vertical) .item.left, -.ui.menu:not(.vertical) .menu.left { - float: left; -} -.ui.menu:not(.vertical) .item.right, -.ui.menu:not(.vertical) .menu.right { - float: right; -} - - -/*-------------- - Borders ----------------*/ - -.ui.menu .item:before { - position: absolute; - content: ''; - top: 0%; - right: 0px; - width: @dividerSize; - height: 100%; - background: @dividerBackground; -} -.ui.menu > .right.menu:first-child { - display: none; -} -.ui.menu .menu.right .item:before, -.ui.menu .item.right:before { - right: auto; - left: 0px; -} - -/*-------------- - Text Content ----------------*/ - -.ui.menu .text.item > *, -.ui.menu .item > a:not(.ui), -.ui.menu .item > p:only-child { - user-select: text; - line-height: @textLineHeight; - color: @textColor; -} -.ui.menu .item > p:first-child { - margin-top: 0; -} -.ui.menu .item > p:last-child { - margin-bottom: 0; -} - -/*-------------- - Icons ----------------*/ - -.ui.menu .item > i.icon { - opacity: @iconOpacity; - float: @iconFloat; - margin: @iconMargin; -} - -.ui.menu .item > i.dropdown.icon { - float: @dropdownIconFloat; - margin-left: @dropdownIconDistance; -} - -/*-------------- - Button ----------------*/ - -.ui.menu:not(.vertical) .item > .button { - position: relative; - top: @buttonOffset; - margin: -@buttonVerticalPadding 0; - padding-bottom: @buttonVerticalPadding; - padding-top: @buttonVerticalPadding; - font-size: @buttonSize; -} - - -/*-------------- - Inputs ----------------*/ - -.ui.menu .item > .input { - width: 100%; -} -.ui.menu:not(.vertical) .item > .input { - position: relative; - top: @inputOffset; - margin: @inputVerticalMargin 0em; -} -.ui.menu .item > .input input { - font-size: @inputSize; - padding-top: @inputVerticalPadding; - padding-bottom: @inputVerticalPadding; -} - -/* Action Input */ -.ui.menu:not(.vertical) .item .action.input > .button { - font-size: @buttonSize; - padding: @buttonVerticalPadding @actionButtonHorizontalPadding; -} - -/* Resizes */ -.ui.small.menu .item > .input input { - top: @smallInputOffset; - padding-top: @smallInputVerticalPadding; - padding-bottom: @smallInputVerticalPadding; -} -.ui.large.menu .item > .input input { - top: @largeInputOffset; - padding-bottom: @largeInputVerticalPadding; - padding-top: @largeInputVerticalPadding; -} - -.ui.large.menu .item .action.input > .button { - padding: 0.9em; -} -.ui.large.menu .item .action.input > .button > .icon { - padding-top: 0.8em; -} - -/*-------------- - Header ----------------*/ - -.ui.menu .header.item, -.ui.vertical.menu .header.item { - background: @headerBackground; - margin: 0em; - text-transform: @headerTextTransform; - font-weight: @headerWeight; -} - - -/*-------------- - Dropdowns ----------------*/ - -/* Dropdown */ -.ui.menu .ui.dropdown.visible { - background: @subtleTransparentBlack; - border-bottom-right-radius: 0em; - border-bottom-left-radius: 0em; -} -.ui.menu .ui.dropdown.active { - box-shadow: none; -} - -/* Menu Position */ -.ui.menu .dropdown.item .menu { - background: @dropdownBackground; - left: 0px; - margin: @dropdownMenuOffset 0px 0px; - min-width: ~"calc(100% - 1px)"; - box-shadow: @dropdownBoxShadow; -} -.ui.menu:not(.secondary) .pointing.dropdown.item .menu { - margin-top: @dropdownPointingDistance; - border-top-left-radius: 0em; - border-top-right-radius: 0em; -} -.ui.menu .simple.dropdown.item .menu { - margin: 0px !important; -} - - -/* Secondary Menu Dropdown */ -.ui.secondary.menu > .menu > .active.dropdown.item { - background-color: transparent; -} -.ui.secondary.menu .dropdown.item .menu { - left: 0px; - min-width: 100%; -} - -/* Even Width Menu Dropdown */ -.ui.item.menu .dropdown .menu .item { - width: 100%; -} - -/*-------------- - Labels ----------------*/ - -.ui.menu .item > .label { - background: @labelBackground; - color: @labelTextColor; - margin: @labelOffset 0em @labelOffset @labelTextMargin; - padding: @labelVerticalPadding @labelHorizontalPadding; - vertical-align: baseline; -} -.ui.menu .item > .floating.label { - padding: @labelVerticalPadding @labelHorizontalPadding; -} - -/*-------------- - Images ----------------*/ - -.ui.menu .item > img:only-child { - display: block; - max-width: 100%; - margin: 0em auto; -} - - -/******************************* - States -*******************************/ - -/*-------------- - Hover ----------------*/ - -.ui.link.menu > .item:hover, -.ui.menu > .link.item:hover, -.ui.menu > a.item:hover, -.ui.link.menu .menu > .item:hover, -.ui.menu .menu > .link.item:hover, -.ui.menu .menu > a.item:hover { - cursor: pointer; - background: @hoverBackground; - color: @hoverColor; -} - - -/*-------------- - Pressed ----------------*/ - -.ui.link.menu .item:active, -.ui.menu .link.item:active, -.ui.menu a.item:active { - background: @pressedBackground; - color: @pressedColor; -} - -/*-------------- - Active ----------------*/ - -.ui.menu .active.item { - background: @activeBackground; - color: @selectedTextColor; - font-weight: @activeFontWeight; - box-shadow: 0em @activeBorderSize 0em inset; -} -.ui.menu .active.item > i.icon { - opacity: @activeIconOpacity; -} - -/* Vertical */ -.ui.vertical.menu .active.item { - background: @activeBackground; - border-radius: 0em; - box-shadow: @activeBorderSize 0em 0em inset; -} -.ui.vertical.menu > .active.item:first-child { - border-radius: 0em @borderRadius 0em 0em; -} -.ui.vertical.menu > .active.item:last-child { - border-radius: 0em 0em @borderRadius 0em; -} -.ui.vertical.menu > .active.item:only-child { - border-radius: 0em @borderRadius @borderRadius 0em; -} -.ui.vertical.menu .active.item .menu .active.item { - border-left: none; -} -.ui.vertical.menu .item .menu .active.item { - background-color: @subMenuActiveBackground; - box-shadow: none; -} - - -/*-------------- - Active Hover ----------------*/ - -.ui.vertical.menu .active.item:hover, -.ui.menu .active.item:hover { - background-color: @activeHoverBackground; -} - -/*-------------- - Disabled ----------------*/ - -.ui.menu .item.disabled, -.ui.menu .item.disabled:hover { - cursor: default; - color: @disabledTextColor; - background-color: transparent !important; -} - - -/*-------------------- - Loading ----------------------*/ - -/* On Form */ -.ui.menu.loading { - position: relative; -} -.ui.menu.loading:after { - position: absolute; - top: 0%; - left: 0%; - content: ''; - width: 100%; - height: 100%; - background: @loadingBackgroundColor url("@{loadingImage}") no-repeat @loadingPosition; - visibility: visible; -} - - -/******************************* - Types -*******************************/ - -/*-------------- - Vertical ----------------*/ - -.ui.vertical.menu { - background: @verticalBackground; -} - -/*--- Item ---*/ -.ui.vertical.menu .item { - background: @verticalItemBackground; - display: block; - height: auto !important; - border-top: none; - border-left: @borderSize solid transparent; - border-right: none; -} -.ui.vertical.menu > .item:first-child { - border-radius: @borderRadius @borderRadius 0px 0px; -} -.ui.vertical.menu > .item:last-child { - border-radius: 0px 0px @borderRadius @borderRadius; -} - -/*--- Label ---*/ -.ui.vertical.menu .item > .label { - float: right; - text-align: center; -} - -/*--- Icon ---*/ -.ui.vertical.menu .item > i.icon { - width: @iconWidth; - float: @verticalIconFloat; - margin: @verticalIconMargin; -} -.ui.vertical.menu .item > .label + i.icon { - float: @labelAndIconFloat; - margin: @labelAndIconMargin; -} - - -/*--- Border ---*/ -.ui.vertical.menu .item:before { - position: absolute; - content: ''; - top: 0%; - left: 0px; - width: 100%; - height: @dividerSize; - background: @verticalDividerBackground; - height: 1px; -} - -.ui.vertical.menu .item:first-child:before { - background: none !important; -} - -/*--- Dropdown ---*/ -.ui.vertical.menu .dropdown.item > .icon { - float: right; - content: "\f0da"; - margin-left: 1em; -} -.ui.vertical.menu .dropdown.item .menu { - top: 0% !important; - left: 100%; - margin: @dropdownMenuOffset 0px 0px @dropdownMenuOffset; - box-shadow: @dropdownVerticalBoxShadow; -} -.ui.vertical.menu .dropdown.item.active { - border-top-right-radius: 0em; - border-bottom-right-radius: 0em; -} -.ui.vertical.menu .dropdown.item .menu .item { - font-size: 1rem; -} -.ui.vertical.menu .dropdown.item .menu .item i.icon { - margin-right: 0em; -} -.ui.vertical.menu .dropdown.item.active { - box-shadow: none; -} - -/*--- Sub Menu ---*/ -.ui.vertical.menu .item:not(.dropdown) > .menu { - margin: @subMenuMargin -@horizontalPadding 0em; -} -.ui.vertical.menu .item:not(.dropdown) > .menu > .item { - background: none; - padding: @subMenuHorizontalPadding @subMenuVerticalPadding; - font-size: @subMenuFontSize; -} -.ui.vertical.menu .item > .menu > .item:before { - display: none; -} - - -/*-------------- - Tiered ----------------*/ - -.ui.tiered.menu > .menu > .item:hover { - color: @tieredSubMenuActiveColor; -} -.ui.tiered.menu .active.item { - background: @tieredActiveItemBackground; -} -.ui.tiered.menu > .menu .item.active:after { - position: absolute; - content: ''; - margin-top: -@dividerSize; - top: 100%; - left: 0px; - - width: 100%; - height: 2px; - background-color: @tieredActiveMenuBackground; -} - -/* Sub Menu */ -.ui.tiered.menu .sub.menu { - background-color: @tieredActiveMenuBackground; - border-radius: 0em; - border-top: 1px solid @borderColor; - box-shadow: none; -} -.ui.tiered.menu > .sub.menu > .item { - color: @tieredSubMenuColor; - font-weight: @tieredSubMenuFontWeight; - text-transform: @tieredSubMenuTextTransform; - font-size: @subMenuFontSize; -} - -/* Sub Menu Divider */ -.ui.tiered.menu .sub.menu .item:before { - background: none; -} - -/* Sub Menu Hover */ -.ui.tiered.menu .sub.menu .item:hover { - background: @tieredSubMenuHoverBackground; - color: @tieredSubMenuHoverColor; -} - -/* Sub Menu Active */ -.ui.tiered.menu .sub.menu .active.item { - padding-top: @verticalPadding; - background: @tieredSubMenuActiveBackground; - border-radius: 0; - border-top: medium none; - box-shadow: none; - color: @tieredSubMenuActiveColor !important; -} -.ui.tiered.menu .sub.menu .active.item:after { - display: none; -} - -/* Inverted Tiered Menu */ -.ui.inverted.tiered.menu > .menu > .item { - color: @invertedUnselectedTextColor; -} -.ui.inverted.tiered.menu .sub.menu { - background-color: @tieredInvertedSubMenuBackground; -} -.ui.inverted.tiered.menu .sub.menu .item { - color: @invertedLightTextColor; -} -.ui.inverted.tiered.menu > .menu > .item:hover { - color: @invertedHoveredTextColor; -} -.ui.inverted.tiered.menu .active.item:after { - display: none; -} -.ui.inverted.tiered.menu > .sub.menu > .active.item, -.ui.inverted.tiered.menu > .menu > .active.item { - color: @invertedSelectedTextColor !important; - box-shadow: none; -} - -/* Tiered Pointing */ -.ui.pointing.tiered.menu > .menu > .item:after { - display: none; -} -.ui.pointing.tiered.menu > .sub.menu > .item:after { - display: block; -} - - -/*-------------- - Tabular ----------------*/ - -.ui.tabular.menu { - background-color: transparent; - border-bottom: @tabularBorderWidth solid @tabularBorderColor; - - border-radius: 0em; - box-shadow: none !important; -} -.ui.tabular.menu .item { - background-color: transparent; - - border-left: @tabularBorderWidth solid transparent; - border-right: @tabularBorderWidth solid transparent; - border-top: @tabularBorderWidth solid transparent; - - padding-left: @tabularHorizontalPadding; - padding-right: @tabularHorizontalPadding; - color: @tabularMenuTextColor; -} -.ui.tabular.menu .item:before { - display: none; -} - -/* Hover */ -.ui.tabular.menu .item:hover { - background-color: transparent; - color: @hoveredTextColor; -} - -/* Active */ -.ui.tabular.menu .active.item { - position: relative; - - background-color: @tabularMenuActiveBackground; - color: @tabularActiveColor; - - border-color: @tabularBorderColor; - font-weight: @tabularActiveWeight; - - margin-bottom: -@tabularBorderWidth; - border-bottom: @tabularBorderWidth solid @tabularBackgroundColor; - - box-shadow: none; - border-radius: @tabularBorderRadius @tabularBorderRadius 0px 0px; -} - -/* Coupling with segment for attachment */ -.ui.attached.tabular.menu { - position: relative; - z-index: 2; -} -.ui.tabular.menu ~ .bottom.attached.segment { - margin: -1px 0px 0px; -} - - - -/*-------------- - Pagination ----------------*/ - -.ui.pagination.menu { - margin: 0em; - display: inline-block; - vertical-align: middle; -} - -.ui.pagination.menu .item { - min-width: @paginationMinWidth; - text-align: center; -} -.ui.pagination.menu .icon.item i.icon { - vertical-align: top; -} -.ui.pagination.menu.floated { - display: block; -} - -/* Active */ -.ui.pagination.menu .active.item { - border-top: none; - padding-top: @verticalPadding; - background-color: @paginationActiveBackground; - box-shadow: none; -} - -/*-------------- - Secondary ----------------*/ - -.ui.secondary.menu { - background: @secondaryBackground; - border-radius: 0em; - box-shadow: none; -} -.ui.secondary.menu > .menu > .item, -.ui.secondary.menu > .item { - box-shadow: none; - - border: none; - height: auto !important; - background: @secondaryItemBackground; - - margin: 0em @secondaryMargin; - padding: @secondaryVerticalPadding @secondaryHorizontalPadding; - - border-radius: @secondaryBorderRadius; -} -.ui.secondary.menu > .menu > .item:before, -.ui.secondary.menu > .item:before { - display: none !important; -} - -.ui.secondary.menu .item > .input input { - background-color: transparent; - border: none; -} - -.ui.secondary.menu .link.item, -.ui.secondary.menu a.item { - opacity: @secondaryLinkOpacity; - transition: none; -} -.ui.secondary.menu .header.item { - border-right: @secondaryHeaderBorder; - background: @secondaryHeaderBackground; - border-radius: 0em; -} - -/* Hover */ -.ui.secondary.menu .link.item:hover, -.ui.secondary.menu a.item:hover { - opacity: 1; -} - -/* Active */ -.ui.secondary.menu > .menu > .active.item, -.ui.secondary.menu > .active.item { - background: @secondaryActiveBackground; - opacity: 1; - box-shadow: none; -} -.ui.secondary.vertical.menu > .active.item { - border-radius: @secondaryBorderRadius; -} - -/* Inverted */ -.ui.secondary.inverted.menu .link.item, -.ui.secondary.inverted.menu a.item { - color: @secondaryInvertedColor; -} -.ui.secondary.inverted.menu .link.item:hover, -.ui.secondary.inverted.menu a.item:hover { - color: @secondaryInvertedHoverColor; -} -.ui.secondary.inverted.menu .active.item { - background-color: @secondaryInvertedActiveBackground; -} - - -/* Disable variations */ -.ui.secondary.item.menu > .item { - margin: 0em; -} -.ui.secondary.attached.menu { - box-shadow: none; -} - - -/*--------------------- - Secondary Vertical ------------------------*/ - -.ui.secondary.vertical.menu > .item { - border: none; - margin: 0em 0em @secondaryVerticalMargin; - border-radius: @borderRadius; -} -.ui.secondary.vertical.menu > .header.item { - border-radius: 0em; -} - -/* Inverted */ -.ui.secondary.inverted.menu { - background-color: transparent; -} - -.ui.secondary.inverted.pointing.menu { - border-bottom: @secondaryPointingBorderWidth solid rgba(255, 255, 255, 0.1); -} -.ui.secondary.inverted.pointing.menu > .item { - color: rgba(255, 255, 255, 0.7); -} -.ui.secondary.inverted.pointing.menu > .header.item { - color: #FFFFFF !important; -} - -/* Hover */ -.ui.secondary.inverted.pointing.menu > .menu > .item:hover, -.ui.secondary.inverted.pointing.menu > .item:hover { - color: rgba(255, 255, 255, 0.85); -} - -/* Pressed */ -.ui.secondary.inverted.pointing.menu > .menu > .item:active, -.ui.secondary.inverted.pointing.menu > .item:active { - border-color: rgba(255, 255, 255, 0.4); -} - -/* Active */ -.ui.secondary.inverted.pointing.menu > .menu > .item.active, -.ui.secondary.inverted.pointing.menu > .item.active { - border-color: rgba(255, 255, 255, 0.8); - color: rgba(255, 255, 255, 1); -} - - -/*--------------------- - Secondary Pointing ------------------------*/ - -.ui.secondary.pointing.menu { - border-bottom: @secondaryPointingBorderWidth solid rgba(0, 0, 0, 0.1); -} - -.ui.secondary.pointing.menu > .menu > .item, -.ui.secondary.pointing.menu > .item { - margin: 0em 0em -@secondaryPointingBorderWidth; - padding: @secondaryPointingVerticalPadding @secondaryPointingHorizontalPadding; - border-bottom: @secondaryPointingBorderWidth solid transparent; - border-radius: 0em; - transition: @secondaryTransition; -} - -/* Item Types */ -.ui.secondary.pointing.menu .header.item { - margin-bottom: -@secondaryPointingBorderWidth; - background-color: transparent !important; - border-right-width: 0px !important; - font-weight: bold !important; - color: @secondaryPointingHeaderColor !important; -} -.ui.secondary.pointing.menu .text.item { - box-shadow: none !important; -} -.ui.secondary.pointing.menu > .menu > .item:after, -.ui.secondary.pointing.menu > .item:after { - display: none; -} - -/* Hover */ -.ui.secondary.pointing.menu > .menu > .link.item:hover, -.ui.secondary.pointing.menu > .link.item:hover, -.ui.secondary.pointing.menu > .menu > a.item:hover, -.ui.secondary.pointing.menu > a.item:hover { - background-color: transparent; - color: @secondaryPointingHoverTextColor; -} - -/* Pressed */ -.ui.secondary.pointing.menu > .menu > .link.item:active, -.ui.secondary.pointing.menu > .link.item:active, -.ui.secondary.pointing.menu > .menu > a.item:active, -.ui.secondary.pointing.menu > a.item:active { - background-color: transparent; - border-color: @secondaryPointingBorderColor; -} - -/* Active */ -.ui.secondary.pointing.menu > .menu > .item.active, -.ui.secondary.pointing.menu > .item.active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.4); - box-shadow: none; - color: @secondaryPointingActiveTextColor; -} - -/* Secondary Vertical Pointing */ -.ui.secondary.vertical.pointing.menu { - border: none; - border-right: @secondaryPointingBorderWidth solid rgba(0, 0, 0, 0.1); -} -.ui.secondary.vertical.pointing.menu > .item { - margin: 0em -@secondaryPointingBorderWidth 0em 0em; - border-bottom: none; - border-right: @secondaryPointingBorderWidth solid transparent; - border-radius: 0em; -} - -/* Hover */ -.ui.secondary.vertical.pointing.menu > .item:hover { - background-color: transparent; - color: rgba(0, 0, 0, 0.7); -} - -/* Pressed */ -.ui.secondary.vertical.pointing.menu > .item:active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.2); -} - -/* Active */ -.ui.secondary.vertical.pointing.menu > .item.active { - background-color: transparent; - border-color: rgba(0, 0, 0, 0.4); - color: rgba(0, 0, 0, 0.85); -} - -/* Inverted Vertical Pointing Secondary */ -.ui.secondary.inverted.vertical.pointing.menu { - border-right: @secondaryPointingBorderWidth solid rgba(255, 255, 255, 0.1); - border-bottom: none; -} - - -/*-------------- - Text Menu ----------------*/ - -.ui.text.menu { - background: none transparent; - - margin: 1rem -1rem; - border-radius: 0px; - - box-shadow: none; -} -.ui.text.menu > .item { - opacity: 0.8; - - margin: 0em 1em; - padding: 0em; - height: auto !important; - - border-radius: 0px; - - box-shadow: none; - transition: @textMenuTransition; -} -.ui.text.menu > .item:before { - display: none !important; -} -.ui.text.menu .header.item { - background-color: transparent; - - opacity: 1; - color: rgba(50, 50, 50, 0.8); - font-size: 0.875rem; - padding: 0em; - text-transform: uppercase; - font-weight: bold; -} -.ui.text.menu .text.item { - opacity: 1; - color: rgba(50, 50, 50, 0.8); - font-weight: bold; -} - -/*--- fluid text ---*/ -.ui.text.item.menu .item { - margin: 0em; -} - -/*--- vertical text ---*/ -.ui.vertical.text.menu { - margin: 1rem 0em; -} -.ui.vertical.text.menu:first-child { - margin-top: 0rem; -} -.ui.vertical.text.menu:last-child { - margin-bottom: 0rem; -} -.ui.vertical.text.menu .item { - float: left; - clear: left; - margin: 0.5em 0em; -} -.ui.vertical.text.menu .item > i.icon { - float: none; - margin: 0em @verticalPadding 0em 0em; -} -.ui.vertical.text.menu .header.item { - margin: 0.8em 0em; -} - -/*--- hover ---*/ -.ui.text.menu .item:hover { - opacity: 1; - background-color: transparent; -} - -/*--- active ---*/ -.ui.text.menu .active.item { - background-color: transparent; - padding: 0em; - border: none; - opacity: 1; - font-weight: bold; - box-shadow: none; -} - -/* disable variations */ -.ui.text.pointing.menu .active.item:after { - box-shadow: none; -} -.ui.text.attached.menu { - box-shadow: none; -} - -.ui.inverted.text.menu, -.ui.inverted.text.menu .item, -.ui.inverted.text.menu .item:hover, -.ui.inverted.text.menu .item.active { - background-color: transparent; -} - -/*-------------- - Icon Only ----------------*/ - -.ui.icon.menu, -.ui.vertical.icon.menu { - width: auto; - display: inline-block; - height: auto; -} -.ui.icon.menu > .item { - height: auto; - text-align: center; - color: rgba(60, 60, 60, 0.7); -} -.ui.icon.menu > .item > .icon { - display: block; - float: none !important; - opacity: 1; - margin: 0em auto !important; -} -.ui.icon.menu .icon:before { - opacity: 1; -} - -/* Item Icon Only */ -.ui.menu .icon.item .icon { - margin: 0em; -} - -.ui.vertical.icon.menu { - float: none; -} - -/*--- inverted ---*/ -.ui.inverted.icon.menu .item { - color: rgba(255, 255, 255, 0.8); -} -.ui.inverted.icon.menu .icon { - color: rgba(255, 255, 255, 1); -} - -/*-------------- - Labeled Icon ----------------*/ - -.ui.labeled.icon.menu { - text-align: center; -} -.ui.labeled.icon.menu > .item { - min-width: @labeledIconMinWidth; -} -.ui.labeled.icon.menu > .item > .icon { - display: block; - font-size: @labeledIconSize !important; - margin: 0em auto @labeledIconTextMargin !important; -} - - - -/******************************* - Variations -*******************************/ - -/*-------------- - Colors ----------------*/ - -/*--- Light Colors ---*/ -.ui.menu .blue.active.item, -.ui.blue.menu .active.item { - border-color: @blue !important; - color: @blue !important; -} -.ui.menu .green.active.item, -.ui.green.menu .active.item { - border-color: @green !important; - color: @green !important; -} -.ui.menu .orange.active.item, -.ui.orange.menu .active.item { - border-color: @orange !important; - color: @orange !important; -} -.ui.menu .pink.active.item, -.ui.pink.menu .active.item { - border-color: @pink !important; - color: @pink !important; -} -.ui.menu .purple.active.item, -.ui.purple.menu .active.item { - border-color: @purple !important; - color: @purple !important; -} -.ui.menu .red.active.item, -.ui.red.menu .active.item { - border-color: @red !important; - color: @red !important; -} -.ui.menu .teal.active.item, -.ui.teal.menu .active.item { - border-color: @teal !important; - color: @teal !important; -} -.ui.menu .yellow.active.item, -.ui.yellow.menu .active.item { - border-color: @yellow !important; - color: @yellow !important; -} - - - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.menu { - background: @invertedBackground; - box-shadow: @invertedBoxShadow; -} -.ui.inverted.menu .header.item { - margin: 0em; - background: @invertedHeaderBackground; - box-shadow: none; -} - -.ui.inverted.menu .item, -.ui.inverted.menu .item > a:not(.ui) { - color: @invertedTextColor; -} - -.ui.inverted.menu .item:not(.dropdown).menu { - background: @invertedSubMenuBackground; -} - -.ui.inverted.menu .item .item, -.ui.inverted.menu .item .item > a:not(.ui) { - color: @invertedSubMenuColor; -} -.ui.inverted.menu .dropdown .menu .item { - color: @dropdownTextColor !important; -} -.ui.inverted.menu .item.disabled, -.ui.inverted.menu .item.disabled:hover { - color: @invertedDisabledTextColor; -} - - - -/*--- Border ---*/ -.ui.inverted.menu .item:before { - background: @invertedDividerBackground; -} -.ui.vertical.inverted.menu .item:before { - background: @invertedVerticalDividerBackground; -} - -/*--- Hover ---*/ -.ui.link.inverted.menu .item:hover, -.ui.inverted.menu .link.item:hover, -.ui.inverted.menu a.item:hover, -.ui.inverted.menu .dropdown.item:hover { - background: @invertedHoverBackground; - color: @invertedHoverColor; -} -.ui.inverted.menu .item .menu a.item:hover, -.ui.inverted.menu .item .menu .link.item:hover { - background: @invertedSubMenuBackground; - color: @invertedSubMenuHoverColor; -} - -/*--- Pressed ---*/ -.ui.inverted.menu a.item:active, -.ui.inverted.menu .dropdown.item:active, -.ui.inverted.menu .link.item:active, -.ui.inverted.menu a.item:active { - background: @invertedMenuPressedBackground; - color: @invertedMenuPressedColor; -} - -/*--- Active ---*/ -.ui.inverted.menu .active.item { - box-shadow: none !important; - background: @invertedActiveBackground; - color: @invertedActiveColor !important; -} -.ui.inverted.vertical.menu .item .menu .active.item { - background: @invertedSubMenuActiveBackground; - color: @invertedSubMenuActiveColor; -} - -/*--- Pointers ---*/ -.ui.inverted.pointing.menu .active.item:after { - background: #5B5B5B; - box-shadow: none; -} -.ui.inverted.pointing.menu .active.item:hover:after { - background: #4A4A4A; -} - - -/*-------------- - Selection ----------------*/ - -.ui.selection.menu > .item { - color: rgba(0, 0, 0, 0.4); -} -.ui.selection.menu > .item:hover { - color: rgba(0, 0, 0, 0.6); -} -.ui.selection.menu > .item.active { - color: rgba(0, 0, 0, 0.85); -} - -.ui.inverted.selection.menu > .item { - color: rgba(255, 255, 255, 0.4); -} -.ui.inverted.selection.menu > .item:hover { - color: rgba(255, 255, 255, 0.9); -} -.ui.inverted.selection.menu > .item.active { - color: #FFFFFF; -} - - -/*-------------- - Floated ----------------*/ - -.ui.floated.menu { - float: left; - margin: 0rem 0.5rem 0rem 0rem; -} -.ui.right.floated.menu { - float: right; - margin: 0rem 0rem 0rem 0.5rem; -} - - -/*-------------- - Inverted Colors ----------------*/ - -/*--- Light Colors ---*/ -.ui.grey.menu { - background-color: @offWhite; -} - -/*--- Inverted Colors ---*/ - -/* Blue */ -.ui.inverted.blue.menu { - background-color: @blue; -} -.ui.inverted.blue.pointing.menu .active.item:after { - background-color: @blue; -} -/* Green */ -.ui.inverted.green.menu { - background-color: @green; -} -.ui.inverted.green.pointing.menu .active.item:after { - background-color: @green; -} -/* Orange */ -.ui.inverted.orange.menu { - background-color: @orange; -} -.ui.inverted.orange.pointing.menu .active.item:after { - background-color: @orange; -} -/* Pink */ -.ui.inverted.pink.menu { - background-color: @pink; -} -.ui.inverted.pink.pointing.menu .active.item:after { - background-color: @pink; -} -/* Purple */ -.ui.inverted.purple.menu { - background-color: @purple; -} -.ui.inverted.purple.pointing.menu .active.item:after { - background-color: @purple; -} -/* Red */ -.ui.inverted.red.menu { - background-color: @red; -} -.ui.inverted.red.pointing.menu .active.item:after { - background-color: @red; -} -/* Teal */ -.ui.inverted.teal.menu { - background-color: @teal; -} -.ui.inverted.teal.pointing.menu .active.item:after { - background-color: @teal; -} -/* Yellow */ -.ui.inverted.yellow.menu { - background-color: @yellow; -} -.ui.inverted.yellow.pointing.menu .active.item:after { - background-color: @yellow; -} - - -/*-------------- - Fitted ----------------*/ - -.ui.fitted.menu .item, -.ui.fitted.menu .item .menu .item, -.ui.menu .fitted.item { - padding: 0em; -} -.ui.horizontally.fitted.menu .item, -.ui.horizontally.fitted.menu .item .menu .item, -.ui.menu .horizontally.fitted.item { - padding-top: @verticalPadding; - padding-bottom: @verticalPadding; -} -.ui.vertically.fitted.menu .item, -.ui.vertically.fitted.menu .item .menu .item, -.ui.menu .vertically.fitted.item { - padding-left: @horizontalPadding; - padding-right: @horizontalPadding; -} - -/*-------------- - Borderless ----------------*/ - -.ui.borderless.menu .item:before, -.ui.borderless.menu .item .menu .item:before, -.ui.menu .borderless.item:before { - background: none; -} - -/*------------------- - Compact ---------------------*/ - -.ui.compact.menu { - display: inline-block; - margin: 0em; - vertical-align: middle; -} -.ui.compact.vertical.menu { - width: auto !important; -} -.ui.compact.vertical.menu .item:last-child::before { - display: block; -} - -/*------------------- - Fluid ---------------------*/ - -.ui.menu.fluid, -.ui.vertical.menu.fluid { - display: block; - width: 100% !important; -} - - -/*------------------- - Evenly Sized ---------------------*/ - -.ui.item.menu, -.ui.item.menu .item { - width: 100%; - padding-left: 0px !important; - padding-right: 0px !important; - text-align: center; -} -.ui.item.menu > .item:last-child { - border-radius: 0px @borderRadius @borderRadius 0px; -} -.ui.menu.two.item .item { - width: 50%; -} -.ui.menu.three.item .item { - width: 33.333%; -} -.ui.menu.four.item .item { - width: 25%; -} -.ui.menu.five.item .item { - width: 20%; -} -.ui.menu.six.item .item { - width: 16.666%; -} -.ui.menu.seven.item .item { - width: 14.285%; -} -.ui.menu.eight.item .item { - width: 12.500%; -} -.ui.menu.nine.item .item { - width: 11.11%; -} -.ui.menu.ten.item .item { - width: 10.0%; -} -.ui.menu.eleven.item .item { - width: 9.09%; -} -.ui.menu.twelve.item .item { - width: 8.333%; -} - - -/*-------------- - Fixed ----------------*/ - -.ui.menu.fixed { - position: fixed; - z-index: 999; - margin: 0em; - border: none; - width: 100%; -} -.ui.menu.fixed, -.ui.menu.fixed .item:first-child, -.ui.menu.fixed .item:last-child { - border-radius: 0px !important; -} - -.ui.menu.fixed.top { - top: 0px; - left: 0px; - right: auto; - bottom: auto; -} -.ui.menu.fixed.right { - top: 0px; - right: 0px; - left: auto; - bottom: auto; - width: auto; - height: 100%; -} -.ui.menu.fixed.bottom { - bottom: 0px; - left: 0px; - top: auto; - right: auto; -} -.ui.menu.fixed.left { - top: 0px; - left: 0px; - right: auto; - bottom: auto; - width: auto; - height: 100%; -} - -/* Coupling with Grid */ -.ui.fixed.menu + .ui.grid { - padding-top: @fixedGridMargin; -} - - -/*------------------- - Pointing ---------------------*/ - -.ui.pointing.menu .active.item:after { - position: absolute; - bottom: @arrowOffset; - left: 50%; - content: ''; - - margin-left: @arrowOffset; - width: @arrowSize; - height: @arrowSize; - - border: none; - border-bottom: @arrowBorder; - border-right: @arrowBorder; - - background: none; - transform: rotate(45deg); - z-index: 2; - - transition: - background 0.2s ease - ; -} - -/* Don't double up pointers */ -.ui.pointing.menu .active.item .menu .active.item:after { - display: none; -} - -.ui.vertical.pointing.menu .active.item:after { - position: absolute; - top: 50%; - margin-top: @arrowOffset; - right: @arrowOffset; - bottom: auto; - left: auto; - - border: none; - border-top: @arrowBorder; - border-right: @arrowBorder; -} - -/* Colors */ -.ui.pointing.menu .active.item:hover:after { - background-color: @arrowHoverColor; -} -.ui.pointing.menu .active.item:after { - background-color: @arrowActiveColor; -} - -.ui.vertical.pointing.menu .item:hover:after { - background-color: @arrowVerticalHoverColor; -} -.ui.vertical.pointing.menu .active.item:after { - background-color: @arrowVerticalActiveColor; -} - - - -/*-------------- - Attached ----------------*/ - -.ui.menu.attached { - margin: 0rem; - border-radius: 0px; - /* avoid rgba multiplying */ - box-shadow: @attachedBoxShadow; -} -.ui.top.attached.menu { - border-radius: @borderRadius @borderRadius 0em 0em; -} -.ui.menu.bottom.attached { - border-radius: 0em 0em @borderRadius @borderRadius; -} - -/*-------------- - Sizes ----------------*/ - -/* Small */ -.ui.small.menu .item { - font-size: @small; -} -.ui.small.vertical.menu { - width: @smallWidth; -} - -/* Medium */ -.ui.menu .item { - font-size: @medium; -} -.ui.vertical.menu { - width: @mediumWidth; -} - -/* Large */ -.ui.large.menu .item { - font-size: @large; -} -.ui.large.menu .item .item { - font-size: @largeSubMenu; -} -.ui.large.menu .dropdown .item { - font-size: @largeDropdown; -} -.ui.large.vertical.menu { - width: @largeWidth; -} - -.loadUIOverrides(); diff --git a/definitions/collections/message.less b/definitions/collections/message.less deleted file mode 100644 index 51b114e057..0000000000 --- a/definitions/collections/message.less +++ /dev/null @@ -1,431 +0,0 @@ -/* - * # Semantic - Message - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'message'; - -@import '../../semantic.config'; - - -/******************************* - Message -*******************************/ - -.ui.message { - position: relative; - min-height: 1em; - margin: @verticalMargin 0em; - background: @background; - padding: @verticalPadding @horizontalPadding; - line-height: @lineHeight; - color: @textColor; - transition: @transition; - border-radius: @borderRadius; - box-shadow: @boxShadow; -} - -.ui.message:first-child { - margin-top: 0em; -} -.ui.message:last-child { - margin-bottom: 0em; -} - - -/*-------------- - Content ----------------*/ - -/* Header */ -.ui.message .header { - display: @headerDisplay; - font-family: @headerFont; - font-weight: @headerFontWeight; - margin: 0em 0em 0em @headerDistance; -} - -/* Default font size */ -.ui.message .header:not(.ui) { - font-size: @headerFontSize; -} - -/* Paragraph */ -.ui.message p { - opacity: @messageTextOpacity; - margin: @messageParagraphMargin 0em; -} -.ui.message p:first-child { - margin-top: 0em; -} -.ui.message p:last-child { - margin-bottom: 0em; -} -.ui.message .header + p { - margin-top: @headerParagraphDistance; -} - -/* List */ -.ui.message ul.list { - opacity: @listOpacity; - list-style-position: @listStylePosition; - margin: @listMargin 0em 0em; - padding: 0em; -} -.ui.message ul.list:first-child { - margin-top: 0em; -} -.ui.message ul.list:last-child { - margin-bottom: 0em; -} -.ui.message ul.list li { - position: relative; - list-style-type: none; - margin: 0em 0em @listItemMargin @listItemIndent; - padding: 0em; -} -.ui.message ul.list li:before { - position: absolute; - content: '•'; - left: -1em; - height: 100%; - vertical-align: baseline; -} -.ui.message ul.list li:last-child { - margin-bottom: 0em; -} - - -/* Icon */ -.ui.message > .icon { - margin-right: @iconDistance; -} - -/* Close Icon */ -.ui.message > .close.icon { - cursor: pointer; - position: absolute; - margin: 0em; - top: @closeTopDistance; - right: @closeRightDistance; - opacity: @closeOpacity; - transition: - opacity 0.1s linear - ; -} -.ui.message > .close.icon:hover { - opacity: 1; -} - -/* First / Last Element */ -.ui.message > :first-child { - margin-top: 0em; -} -.ui.message > :last-child { - margin-bottom: 0em; -} - - -/******************************* - States -*******************************/ - -.ui.message.visible, -.ui.header.visible { - display: block !important; -} -.ui.message.hidden, -.ui.header.hidden { - display: none; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Compact ----------------*/ - -.ui.compact.message { - display: inline-block; -} - - -/*-------------- - Attached ----------------*/ - -.ui.attached.message { - margin-bottom: @attachedYOffset; - border-radius: @borderRadius @borderRadius 0em 0em; - box-shadow: @attachedBoxShadow; - margin-left: @attachedXOffset; - margin-right: @attachedXOffset; -} -.ui.attached + .ui.attached.message:not(.top):not(.bottom) { - margin-top: @attachedYOffset; - border-radius: 0em; -} -.ui.bottom.attached.message { - margin-top: @attachedYOffset; - border-radius: 0em 0em @borderRadius @borderRadius; - box-shadow: @attachedBottomBoxShadow; -} -.ui.bottom.attached.message:not(:last-child) { - margin-bottom: @verticalMargin; -} -.ui.attached.icon.message { - display: block; - width: auto; -} - - -/*-------------- - Icon ----------------*/ - -.ui.icon.message { - display: table; - width: 100%; -} -.ui.icon.message > .icon:not(.close) { - display: table-cell; - width: auto; - vertical-align: @iconVerticalAlign; - font-size: @iconSize; - opacity: @iconOpacity; -} -.ui.icon.message > .content { - display: table-cell; - width: 100%; - vertical-align: @iconVerticalAlign; -} - - -.ui.icon.message .icon:not(.close) + .content { - padding-left: @iconContentDistance; -} -.ui.icon.message .circular.icon { - width: 1em; -} -.ui.icon.message .circular.icon + .content { - width: auto; - padding-left: @circularIconContentDistance; -} - -/*-------------- - Floating ----------------*/ - -.ui.floating.message { - box-shadow: @floatingBoxShadow; -} - - -/*-------------- - Colors ----------------*/ - -.ui.black.message { - background-color: @black; - color: @invertedTextColor; -} - -/*-------------- - Types ----------------*/ - -/* Positive */ -.ui.positive.message { - background-color: @positiveBackgroundColor; - color: @positiveTextColor; -} -.ui.positive.message, -.ui.attached.positive.message { - box-shadow: - 0px 0px 0px 1px @positiveBorderColor inset, - @subtleShadow - ; -} -.ui.positive.message .header { - color: @positiveHeaderColor; -} - -/* Negative */ -.ui.negative.message { - background-color: @negativeBackgroundColor; - color: @negativeTextColor; -} -.ui.negative.message, -.ui.attached.negative.message { - box-shadow: - 0px 0px 0px 1px @negativeBorderColor inset, - @subtleShadow - ; -} -.ui.negative.message .header { - color: @negativeHeaderColor; -} - -/* Info */ -.ui.info.message { - background-color: @infoBackgroundColor; - color: @infoTextColor; -} -.ui.info.message, -.ui.attached.info.message { - box-shadow: - 0px 0px 0px 1px @infoBorderColor inset, - @subtleShadow - ; -} -.ui.info.message .header { - color: @infoHeaderColor; -} - -/* Warning */ -.ui.warning.message { - background-color: @warningBackgroundColor; - color: @warningTextColor; -} -.ui.warning.message, -.ui.attached.warning.message { - box-shadow: - 0px 0px 0px 1px @warningBorderColor inset, - @subtleShadow - ; -} -.ui.warning.message .header { - color: @warningHeaderColor; -} - -/* Error */ -.ui.error.message { - background-color: @errorBackgroundColor; - color: @errorTextColor; -} -.ui.error.message, -.ui.attached.error.message { - box-shadow: - 0px 0px 0px 1px @errorBorderColor inset, - @subtleShadow - ; -} -.ui.error.message .header { - color: @errorHeaderColor; -} - -/* Success */ -.ui.success.message { - background-color: @successBackgroundColor; - color: @successTextColor; -} -.ui.success.message, -.ui.attached.success.message { - box-shadow: - 0px 0px 0px 1px @successBorderColor inset, - @subtleShadow - ; -} -.ui.success.message .header { - color: @successHeaderColor; -} - - -/* Colors */ -.ui.inverted.message, -.ui.black.message { - background-color: @black; - color: @invertedTextColor; -} - -.ui.blue.message { - background-color: @blueBackground; - color: @blueTextColor; -} -.ui.blue.message .header { - color: @blueHeaderColor; -} -.ui.green.message { - background-color: @greenBackground; - color: @greenTextColor; -} -.ui.green.message .header { - color: @greenHeaderColor; -} -.ui.orange.message { - background-color: @orangeBackground; - color: @orangeTextColor; -} -.ui.orange.message .header { - color: @orangeHeaderColor; -} -.ui.pink.message { - background-color: @pinkBackground; - color: @pinkTextColor; -} -.ui.pink.message .header { - color: @pinkHeaderColor; -} -.ui.purple.message { - background-color: @purpleBackground; - color: @purpleTextColor; -} -.ui.purple.message .header { - color: @purpleHeaderColor; -} -.ui.red.message { - background-color: @redBackground; - color: @redTextColor; -} -.ui.red.message .header { - color: @redHeaderColor; -} -.ui.teal.message { - background-color: @tealBackground; - color: @tealTextColor; -} -.ui.teal.message .header { - color: @tealHeaderColor; -} -.ui.yellow.message { - background-color: @yellowBackground; - color: @yellowTextColor; -} -.ui.yellow.message .header { - color: @yellowHeaderColor; -} - - -/*-------------- - Sizes ----------------*/ - -.ui.small.message { - font-size: @small; -} -.ui.message { - font-size: @medium; -} -.ui.large.message { - font-size: @large; -} -.ui.huge.message { - font-size: @huge; -} -.ui.massive.message { - font-size: @massive; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/collections/table.less b/definitions/collections/table.less deleted file mode 100644 index 26be7ee4f2..0000000000 --- a/definitions/collections/table.less +++ /dev/null @@ -1,873 +0,0 @@ -/* - * # Semantic - Table - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'collection'; -@element : 'table'; - -@import '../../semantic.config'; - - -/******************************* - Table -*******************************/ - -/* Prototype */ -.ui.table { - width: 100%; - background: @background; - margin: @margin; - border: @border; - box-shadow: @boxShadow; - border-radius: @borderRadius; - color: @color; - border-collapse: @borderCollapse; - border-spacing: @borderSpacing; -} - -.ui.table:first-child { - margin-top: 0em; -} -.ui.table:last-child { - margin-bottom: 0em; -} - -/******************************* - Parts -*******************************/ - -/* Table Content */ -.ui.table th, -.ui.table td { - transition: @transition; -} - -/* Headers */ -.ui.table thead { - box-shadow: @headerBoxShadow; -} -.ui.table thead th { - cursor: auto; - background: @headerBackground; - text-align: @headerAlign; - color: @headerColor; - padding: @headerVerticalPadding @headerHorizontalPadding; - vertical-align: @headerVerticalAlign; - font-style: @headerFontStyle; - font-weight: @headerFontWeight; - text-transform: @headerTextTransform; - border-bottom: @headerBorder; - border-left: @headerDivider; -} -.ui.table thead th:first-child { - border-radius: @borderRadius 0em 0em 0em; - border-left: none; -} -.ui.table thead th:last-child { - border-radius: 0em @borderRadius 0em 0em; -} -.ui.table thead th:only-child { - border-radius: @borderRadius @borderRadius 0em 0em; -} - -/* Footer */ -.ui.table tfoot { - box-shadow: @footerBoxShadow; -} -.ui.table tfoot th { - cursor: auto; - border-top: @footerBorder; - background: @footerBackground; - text-align: @footerAlign; - color: @footerColor; - padding: @footerVerticalPadding @footerHorizontalPadding; - vertical-align: @footerVerticalAlign; - font-style: @footerFontStyle; - font-weight: @footerFontWeight; - text-transform: @footerTextTransform; -} -.ui.table tfoot th:first-child { - border-radius: 0em 0em 0em @borderRadius; -} -.ui.table tfoot th:last-child { - border-radius: 0em 0em @borderRadius 0em; -} -.ui.table tfoot th:only-child { - border-radius: 0em 0em @borderRadius @borderRadius; -} - -/* Table Row */ -.ui.table tr td { - border-top: @rowBorder; -} -.ui.table tr:first-child td { - border-top: none; -} - -/* Table Cells */ -.ui.table td { - padding: @cellVerticalPadding @cellHorizontalPadding; - vertical-align: @cellVerticalAlign; -} - -/* Icons */ -.ui.table > .icon { - vertical-align: @iconVerticalAlign; -} -.ui.table > .icon:only-child { - margin: 0em; -} - -/* Table Segment */ -.ui.table.segment { - padding: 0em; -} -.ui.table.segment:after { - display: none; -} -.ui.table.segment.stacked:after { - display: block; -} - - -/* Responsive */ -@media only screen and (max-width : 768px) { - .ui.table { - display: block; - padding: 0em; - } - .ui.table thead { - display: @responsiveHeaderDisplay; - } - .ui.table tfoot { - display: @responsiveFooterDisplay; - } - .ui.table tbody { - display: block; - } - .ui.table tr { - display: block; - } - - .ui.table tr > th, - .ui.table tr > td { - background: none; - width: 100% !important; - display: block; - border: none !important; - padding: @responsiveCellVerticalPadding @responsiveCellHorizontalPadding; - box-shadow: @responsiveCellBoxShadow; - } - .ui.table th:first-child, - .ui.table td:first-child { - font-weight: bold; - padding-top: @responsiveRowVerticalPadding; - } - .ui.table th:last-child, - .ui.table td:last-child { - box-shadow: @responsiveRowBoxShadow; - padding-bottom: @responsiveRowVerticalPadding; - } - - /* Clear BG Colors */ - .ui.table tr > td.warning, - .ui.table tr > td.error, - .ui.table tr > td.active, - .ui.table tr > td.positive, - .ui.table tr > td.negative { - background-color: @responsiveStatusColor !important; - } -} - - -/******************************* - Types -*******************************/ - -/*-------------- - Definition ----------------*/ - -.ui.definition.table thead:not(.full-width) th:first-child { - pointer-events: none; - background: @definitionHeaderBackground; - font-weight: @definitionHeaderFontWeight; - color: @definitionHeaderColor; - box-shadow: -@borderWidth -@borderWidth 0px @borderWidth @definitionPageBackground; -} - -.ui.definition.table tfoot:not(.full-width) th:first-child { - pointer-events: none; - background: @definitionFooterBackground; - font-weight: @definitionFooterColor; - color: @definitionFooterFontWeight; - box-shadow: @borderWidth @borderWidth 0px @borderWidth @definitionPageBackground; -} - -/* Remove Border */ -.ui.celled.definition.table thead:not(.full-width) th:first-child { - box-shadow: 0px -@borderWidth 0px @borderWidth @definitionPageBackground; -} -.ui.celled.definition.table tfoot:not(.full-width) th:first-child { - box-shadow: 0px @borderWidth 0px @borderWidth @definitionPageBackground; -} - -/* Highlight Defining Column */ -.ui.definition.table tr td:first-child { - background: @definitionColumnBackground; - font-weight: @definitionColumnFontWeight; - color: @definitionColumnColor; -} - -/* Fix 2nd Column */ -.ui.definition.table thead:not(.full-width) th:nth-child(2) { - border-left: @borderWidth solid @borderColor; -} -.ui.definition.table tfoot:not(.full-width) th:nth-child(2) { - border-left: @borderWidth solid @borderColor; -} -.ui.definition.table td:nth-child(2) { - border-left: @borderWidth solid @borderColor; -} - - -/******************************* - States -*******************************/ - -/*-------------- - Positive ----------------*/ - -.ui.table tr.positive, -.ui.table td.positive { - box-shadow: @positiveBoxShadow; -} -.ui.table tr.positive td, -.ui.table td.positive { - background: @positiveBackgroundColor !important; - color: @positiveColor !important; -} -.ui.celled.table tr.positive:hover td, -.ui.celled.table tr:hover td.positive, -.ui.table tr.positive:hover td, -.ui.table td:hover.positive, -.ui.table th:hover.positive { - background: @positiveBackgroundHover !important; - color: @positiveColorHover !important; -} - -/*-------------- - Negative ----------------*/ - -.ui.table tr.negative, -.ui.table td.negative { - box-shadow: @negativeBoxShadow; -} -.ui.table tr.negative td, -.ui.table td.negative { - background: @negativeBackgroundColor !important; - color: @negativeColor !important; -} -.ui.celled.table tr.negative:hover td, -.ui.celled.table tr:hover td.negative { - background: @negativeBackgroundHover !important; - color: @negativeColorHover !important; -} - -/*-------------- - Error ----------------*/ - -.ui.table tr.error, -.ui.table td.error { - box-shadow: @errorBoxShadow; -} -.ui.table tr.error td, -.ui.table td.error { - background: @errorBackgroundColor !important; - color: @errorColor !important; -} -.ui.celled.table tr.error:hover td, -.ui.celled.table tr:hover td.error { - background: @errorBackgroundHover !important; - color: @errorColorHover !important; -} - -/*-------------- - Warning ----------------*/ - -.ui.table tr.warning, -.ui.table td.warning { - box-shadow: @warningBoxShadow; -} -.ui.table tr.warning td, -.ui.table td.warning { - background: @warningBackgroundColor !important; - color: @warningColor !important; -} -.ui.celled.table tr.warning:hover td, -.ui.celled.table tr:hover td.warning { - background: @warningBackgroundHover !important; - color: @warningColorHover !important; -} - -/*-------------- - Active ----------------*/ - -.ui.table tr.active, -.ui.table td.active { - box-shadow: @activeBoxShadow; -} -.ui.table tr.active td, -.ui.table td.active { - background: @activeBackgroundColor !important; - color: @activeColor !important; -} -.ui.celled.table tr.active:hover td, -.ui.celled.table tr:hover td.active { - background: @activeBackgroundColor !important; - color: @activeColor !important; -} - - -/*-------------- - Disabled ----------------*/ - -.ui.table tr.disabled td, -.ui.table tr td.disabled, -.ui.table tr.disabled:hover td, -.ui.table tr:hover td.disabled { - pointer-events: none; - color: @disabledTextColor; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Aligned ----------------*/ - -.ui.table[class*="left aligned"], -.ui.table [class*="left aligned"] { - text-align: left; -} -.ui.table[class*="center aligned"], -.ui.table [class*="center aligned"] { - text-align: center; -} -.ui.table[class*="right aligned"], -.ui.table [class*="right aligned"] { - text-align: right; -} - -/*-------------- - Collapsing ----------------*/ - -.ui.table th.collapsing, -.ui.table td.collapsing { - width: 1px; - white-space: nowrap; -} - - -/*-------------- - Attached ----------------*/ - - -/* All */ -.ui.attached.table { - width: @attachedTableWidth; - margin: 0em @attachedHorizontalOffset; - border-radius: 0px; - box-shadow: @attachedBoxShadow; -} - -/* Top */ -.ui[class*="top attached"].table { - margin-top: @margin; - border-radius: @borderRadius @borderRadius 0em 0em; -} -.ui.table[class*="top attached"]:first-child { - margin-top: 0em; -} - -/* Bottom */ -.ui.table[class*="bottom attached"] { - margin-top: 0em; - margin-bottom: @margin; - border-radius: 0em 0em @borderRadius @borderRadius; -} -.ui.table[class*="bottom attached"]:last-child { - margin-bottom: 0em; -} - -/*-------------- - Striped ----------------*/ - -/* Table Striping */ -.ui.striped.table > tr:nth-child(2n), -.ui.striped.table tbody tr:nth-child(2n) { - background-color: @stripedBackground; -} - -/* Stripes */ -.ui.inverted.striped.table > tr:nth-child(2n), -.ui.inverted.striped.table tbody tr:nth-child(2n) { - background-color: @invertedStripedBackground; -} - - -/*------------------- - Colors ---------------------*/ - -.ui.black.table { - border-top: @coloredBorderSize solid @black; -} -.ui.blue.table { - border-top: @coloredBorderSize solid @blue; -} -.ui.green.table { - border-top: @coloredBorderSize solid @green; -} -.ui.orange.table { - border-top: @coloredBorderSize solid @orange; -} -.ui.pink.table { - border-top: @coloredBorderSize solid @pink; -} -.ui.purple.table { - border-top: @coloredBorderSize solid @purple; -} -.ui.red.table { - border-top: @coloredBorderSize solid @red; -} -.ui.teal.table { - border-top: @coloredBorderSize solid @teal; -} -.ui.yellow.table { - border-top: @coloredBorderSize solid @yellow; -} - -/*------------------- - Inverted Colors ---------------------*/ - -.ui.inverted.table, -.ui.inverted.black.table { - background-color: @black !important; - color: @white !important; -} -.ui.inverted.blue.table { - background-color: @blue !important; - color: @white !important; -} -.ui.inverted.green.table { - background-color: @green !important; - color: @white !important; -} -.ui.inverted.orange.table { - background-color: @orange !important; - color: @white !important; -} -.ui.inverted.pink.table { - background-color: @pink !important; - color: @white !important; -} -.ui.inverted.purple.table { - background-color: @purple !important; - color: @white !important; -} -.ui.inverted.red.table { - background-color: @red !important; - color: @white !important; -} -.ui.inverted.teal.table { - background-color: @teal !important; - color: @white !important; -} -.ui.inverted.yellow.table { - background-color: @yellow !important; - color: @white !important; -} - - -/*-------------- - Column Count ----------------*/ - -/* Grid Based */ -.ui.one.column.table td { - width: @oneColumn; -} -.ui.two.column.table td { - width: @twoColumn; -} -.ui.three.column.table td { - width: @threeColumn; -} -.ui.four.column.table td { - width: @fourColumn; -} -.ui.five.column.table td { - width: @fiveColumn; -} -.ui.six.column.table td { - width: @sixColumn; -} -.ui.seven.column.table td { - width: @sevenColumn; -} -.ui.eight.column.table td { - width: @eightColumn; -} -.ui.nine.column.table td { - width: @nineColumn; -} -.ui.ten.column.table td { - width: @tenColumn; -} -.ui.eleven.column.table td { - width: @elevenColumn; -} -.ui.twelve.column.table td { - width: @twelveColumn; -} -.ui.thirteen.column.table td { - width: @thirteenColumn; -} -.ui.fourteen.column.table td { - width: @fourteenColumn; -} -.ui.fifteen.column.table td { - width: @fifteenColumn; -} -.ui.sixteen.column.table td { - width: @sixteenColumn; -} - -/* Column Width */ -.ui.table th.one.wide, -.ui.table td.one.wide { - width: @oneWide; -} -.ui.table th.two.wide, -.ui.table td.two.wide { - width: @twoWide; -} -.ui.table th.three.wide, -.ui.table td.three.wide { - width: @threeWide; -} -.ui.table th.four.wide, -.ui.table td.four.wide { - width: @fourWide; -} -.ui.table th.five.wide, -.ui.table td.five.wide { - width: @fiveWide; -} -.ui.table th.six.wide, -.ui.table td.six.wide { - width: @sixWide; -} -.ui.table th.seven.wide, -.ui.table td.seven.wide { - width: @sevenWide; -} -.ui.table th.eight.wide, -.ui.table td.eight.wide { - width: @eightWide; -} -.ui.table th.nine.wide, -.ui.table td.nine.wide { - width: @nineWide; -} -.ui.table th.ten.wide, -.ui.table td.ten.wide { - width: @tenWide; -} -.ui.table th.eleven.wide, -.ui.table td.eleven.wide { - width: @elevenWide; -} -.ui.table th.twelve.wide, -.ui.table td.twelve.wide { - width: @twelveWide; -} -.ui.table th.thirteen.wide, -.ui.table td.thirteen.wide { - width: @thirteenWide; -} -.ui.table th.fourteen.wide, -.ui.table td.fourteen.wide { - width: @fourteenWide; -} -.ui.table th.fifteen.wide, -.ui.table td.fifteen.wide { - width: @fifteenWide; -} -.ui.table th.sixteen.wide, -.ui.table td.sixteen.wide { - width: @sixteenWide; -} - -/*-------------- - Sortable ----------------*/ - -.ui.sortable.table thead th { - cursor: pointer; - white-space: nowrap; - border-left: @sortableBorder; - color: @sortableColor; -} -.ui.sortable.table thead th:first-child { - border-left: none; -} -.ui.sortable.table thead th.sorted, -.ui.sortable.table thead th.sorted:hover { - user-select: none; -} - -.ui.sortable.table thead th:after { - display: inline-block; - content: ''; - width: @sortableIconWidth; - height: 1em; - opacity: @sortableIconOpacity; - - margin: 0em 0em 0em @sortableIconDistance; - - font-family: @sortableIconFont; - font-style: normal; - font-weight: normal; - text-decoration: inherit; -} -.ui.sortable.table thead th.ascending:after { - content: @sortableIconAscending; -} -.ui.sortable.table thead th.descending:after { - content: @sortableIconDescending; -} - -/* Hover */ -.ui.sortable.table th.disabled:hover { - cursor: auto; - color: @sortableDisabledColor; -} -.ui.sortable.table thead th:hover { - background: @sortableHoverBackground; - color: @sortableHoverColor; -} - -/* Sorted */ -.ui.sortable.table thead th.sorted { - background: @sortableActiveBackground; - color: @sortableActiveColor; -} - -/* Sorted Hover */ -.ui.sortable.table thead th.sorted:hover { - background: @sortableActiveHoverBackground; - color: @sortableActiveHoverColor; -} - -/* Inverted */ -.ui.inverted.sortable.table thead th.sorted { - background: @sortableInvertedActiveBackground; - color: @sortableInvertedActiveColor; -} -.ui.inverted.sortable.table thead th:hover { - background: @sortableInvertedHoverBackground; - color: @sortableInvertedHoverColor; -} -.ui.inverted.sortable.table thead th { - border-left-color: @sortableInvertedBorderColor; -} - - -/*-------------- - Inverted ----------------*/ - -/* Text Color */ -.ui.inverted.table { - background: @invertedBackground; - color: @invertedCellColor; - border: @invertedBorder; -} -.ui.inverted.table th { - background-color: @invertedHeaderBackground; - border-color: @invertedCellBorderColor !important; - color: @invertedHeaderColor; -} -.ui.inverted.table tr td { - border-color: @invertedCellBorderColor !important; -} - -.ui.inverted.table tr.disabled td, -.ui.inverted.table tr td.disabled, -.ui.inverted.table tr.disabled:hover td, -.ui.inverted.table tr:hover td.disabled { - pointer-events: none; - color: @invertedDisabledTextColor; -} - -/* Definition */ -.ui.inverted.definition.table tfoot:not(.full-width) th:first-child, -.ui.inverted.definition.table thead:not(.full-width) th:first-child { - background: @definitionPageBackground; -} -.ui.inverted.definition.table tr td:first-child { - background: @invertedDefinitionColumnBackground; - color: @invertedDefinitionColumnColor; -} - -/*-------------- - Collapsing ----------------*/ - -.ui.collapsing.table { - width: auto; -} - -/*-------------- - Basic ----------------*/ - -.ui.basic.table { - background: @basicTableBackground; - border: @basicTableBorder; - box-shadow: @basicBoxShadow; -} -.ui.basic.table thead, -.ui.basic.table tfoot { - box-shadow: none; -} -.ui.basic.table th { - background: @basicTableHeaderBackground; - border-left: @basicTableHeaderDivider; -} -.ui.basic.table tbody tr { - border-bottom: @basicTableCellBorder; -} -.ui.basic.table td { - background: @basicTableCellBackground; -} -.ui.basic.striped.table tbody tr:nth-child(2n) { - background-color: @basicTableStripedBackground !important; -} - -/* Very Basic */ -.ui[class*="very basic"].table { - border: none; -} -.ui[class*="very basic"].table:not(.sortable):not(.striped) th, -.ui[class*="very basic"].table:not(.sortable):not(.striped) td { - padding: @basicTableCellVerticalPadding @basicTableCellHorizontalPadding; -} -.ui[class*="very basic"].table:not(.sortable):not(.striped) thead th { - padding-top: 0em; -} -.ui[class*="very basic"].table:not(.sortable):not(.striped) tbody tr:last-child td { - padding-bottom: 0em; -} - -/*-------------- - Celled ----------------*/ - -.ui.celled.table th, -.ui.celled.table td { - border-left: @cellBorder; -} -.ui.celled.table th:first-child, -.ui.celled.table td:first-child { - border-left: none; -} - -/*-------------- - Padded ----------------*/ - -.ui.padded.table th { - padding-left: @paddedHorizontalPadding; - padding-right: @paddedHorizontalPadding; -} -.ui.padded.table th, -.ui.padded.table td { - padding: @paddedVerticalPadding @paddedHorizontalPadding; -} - -/* Very */ -.ui[class*="very padded"].table th { - padding-left: @veryPaddedHorizontalPadding; - padding-right: @veryPaddedHorizontalPadding; -} -.ui[class*="very padded"].table td { - padding: @veryPaddedVerticalPadding @veryPaddedHorizontalPadding; -} - -/*-------------- - Compact ----------------*/ - -.ui.compact.table th { - padding-left: @compactHorizontalPadding; - padding-right: @compactHorizontalPadding; -} -.ui.compact.table td { - padding: @compactVerticalPadding @compactHorizontalPadding; -} - -/* Very */ -.ui[class*="very compact"].table th { - padding-left: @veryCompactHorizontalPadding; - padding-right: @veryCompactHorizontalPadding; -} -.ui[class*="very compact"].table td { - padding: @veryCompactVerticalPadding @veryCompactHorizontalPadding; -} - -/*-------------- - Sizes ----------------*/ - -/* Small */ -.ui.small.table { - font-size: @small; -} - -/* Standard */ -.ui.table { - font-size: @medium; -} - -/* Large */ -.ui.large.table { - font-size: @large; -} - -.loadUIOverrides(); diff --git a/definitions/elements/button.less b/definitions/elements/button.less deleted file mode 100644 index ac133b2e5a..0000000000 --- a/definitions/elements/button.less +++ /dev/null @@ -1,2383 +0,0 @@ - /* - * # Semantic - Button - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'button'; - -@import '../../semantic.config'; - -/******************************* - Button -*******************************/ - -/* Prototype */ -.ui.button { - cursor: pointer; - display: inline-block; - - min-height: 1em; - - outline: none; - border: none; - vertical-align: @verticalAlign; - background-color: @backgroundColor; - color: @textColor; - - margin: 0em @horizontalMargin @verticalMargin 0em; - padding: @verticalPadding @horizontalPadding (@verticalPadding + @shadowOffset); - - font-family: @pageFont; - text-transform: @textTransform; - text-shadow: @textShadow; - font-weight: @fontWeight; - line-height: 1; - font-style: normal; - text-align: center; - text-decoration: none; - - background-image: @backgroundImage; - border-radius: @borderRadius; - box-shadow: @boxShadow; - - user-select: none; - transition: @transition; - - -webkit-tap-highlight-color: @tapColor; -} - - -/******************************* - States -*******************************/ - -/*-------------- - Hover ----------------*/ - -.ui.button:hover { - background-color: @hoverBackgroundColor; - background-image: @hoverBackgroundImage; - box-shadow: @hoverBoxShadow; - color: @hoverColor; -} - -.ui.button:hover .icon { - opacity: @iconHoverOpacity; -} - -/*-------------- - Focus ----------------*/ - -.ui.button:focus { - background-color: @focusBackgroundColor; - background-image: @focusBackgroundImage; - box-shadow: @focusBoxShadow; - color: @focusColor; -} - -.ui.button:focus .icon { - opacity: @iconFocusOpacity; -} - -/*-------------- - Down ----------------*/ - -.ui.button:active, -.ui.active.button:active { - background-color: @downBackgroundColor; - background-image: @downBackgroundImage; - color: @downColor; - box-shadow: @downBoxShadow; -} - -/*-------------- - Active ----------------*/ - -.ui.active.button { - background-color: @activeBackgroundColor; - background-image: @activeBackgroundImage; - box-shadow: @activeBoxShadow; - color: @activeColor; -} -.ui.button.active:hover { - background-color: @activeHoverBackgroundColor; - background-image: @activeHoverBackgroundImage; - color: @activeHoverColor; -} -.ui.button.active:active { - background-color: @activeBackgroundColor; - background-image: @activeBackgroundImage; -} - - -/*-------------- - Loading ----------------*/ - -/* Specificity hack */ -.ui.loading.loading.loading.loading.loading.loading.button { - position: relative; - cursor: default; - point-events: none; - text-shadow: none !important; - color: transparent !important; - transition: all 0s linear; -} -.ui.loading.button:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - - margin: @loaderMargin; - width: @loaderSize; - height: @loaderSize; - - border-radius: @circularRadius; - border: @loaderLineWidth solid @loaderFillColor; -} -.ui.loading.button:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - - margin: @loaderMargin; - width: @loaderSize; - height: @loaderSize; - - animation: button-spin @loaderSpeed linear; - animation-iteration-count: infinite; - - border-radius: @circularRadius; - - border-color: @loaderLineColor transparent transparent; - border-style: solid; - border-width: @loaderLineWidth; - - box-shadow: 0px 0px 0px 1px transparent; -} -.ui.labeled.icon.loading.button .icon { - background-color: transparent; - box-shadow: none; -} - -@keyframes button-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -.ui.basic.loading.button:not(.inverted):after { - border-color: @invertedLoaderLineColor transparent transparent; -} - -/*------------------- - Disabled ---------------------*/ - -.ui.buttons .disabled.button, -.ui.disabled.button, -.ui.disabled.button:hover, -.ui.disabled.button.active { - cursor: default; - background-color: @lightGrey !important; - color: @lightTextColor !important; - opacity: @disabledOpacity !important; - background-image: none !important; - box-shadow: none !important; - pointer-events: none; -} - -/******************************* - Types -*******************************/ - -/*------------------- - Animated ---------------------*/ - -.ui.animated.button { - position: relative; - overflow: hidden; - padding-right: 0em !important; -} - -.ui.animated.button .content { - will-change: transform, opacity; -} -.ui.animated.button .visible.content { - position: relative; - margin-right: @horizontalPadding; -} -.ui.animated.button .hidden.content { - position: absolute; - width: 100%; -} - -/* Horizontal */ -.ui.animated.button .visible.content, -.ui.animated.button .hidden.content { - transition: right @animationDuration @animationEasing 0s; -} -.ui.animated.button .visible.content { - left: auto; - right: 0%; -} -.ui.animated.button .hidden.content { - top: 50%; - left: auto; - right: -100%; - margin-top: -0.5em; -} -.ui.animated.button:hover .visible.content { - left: auto; - right: 200%; -} -.ui.animated.button:hover .hidden.content { - left: auto; - right: 0%; -} - -/* Vertical */ -.ui.vertical.animated.button .visible.content, -.ui.vertical.animated.button .hidden.content { - transition: top @animationDuration @animationEasing, transform @animationDuration @animationEasing; -} -.ui.vertical.animated.button .visible.content { - transform: translateY(0%); - right: auto; -} -.ui.vertical.animated.button .hidden.content { - top: -50%; - left: 0%; - right: auto; -} -.ui.vertical.animated.button:hover .visible.content { - transform: translateY(200%); - right: auto; -} -.ui.vertical.animated.button:hover .hidden.content { - top: 50%; - right: auto; -} - -/* Fade */ -.ui.fade.animated.button .visible.content, -.ui.fade.animated.button .hidden.content { - transition: opacity @animationDuration @animationEasing, transform @animationDuration @animationEasing; -} -.ui.fade.animated.button .visible.content { - left: auto; - right: auto; - opacity: 1; - transform: scale(1); -} -.ui.fade.animated.button .hidden.content { - opacity: 0; - left: 0%; - right: auto; - transform: scale(@fadeScaleHigh); -} -.ui.fade.animated.button:hover .visible.content { - left: auto; - right: auto; - opacity: 0; - transform: scale(@fadeScaleLow); -} -.ui.fade.animated.button:hover .hidden.content { - left: 0%; - right: auto; - opacity: 1; - transform: scale(1); -} - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.button { - box-shadow: 0px 0px 0px @invertedBorderSize @white inset !important; - background: transparent none; - color: @white; - text-shadow: none !important; -} - -.ui.inverted.buttons .button { - margin: @invertedGroupButtonOffset; -} -.ui.inverted.buttons .button:first-child { - margin-left: 0em; -} -.ui.inverted.vertical.buttons .button { - margin: @invertedVerticalGroupButtonOffset; -} -.ui.inverted.vertical.buttons .button:first-child { - margin-top: 0em; -} -.ui.inverted.buttons .button:hover { - position: relative; -} -.ui.inverted.button:hover { - background: @white; - box-shadow: 0px 0px 0px @invertedBorderSize @white inset !important; - color: @hoverColor; -} - - -/*------------------- - Social ---------------------*/ - -/* Facebook */ -.ui.facebook.button { - background-color: @facebookColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.facebook.button:hover { - background-color: @facebookHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.facebook.button:active { - background-color: @facebookDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Twitter */ -.ui.twitter.button { - background-color: @twitterColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.twitter.button:hover { - background-color: @twitterHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.twitter.button:active { - background-color: @twitterDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Google Plus */ -.ui.google.plus.button { - background-color: @googlePlusColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.google.plus.button:hover { - background-color: @googlePlusHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.google.plus.button:active { - background-color: @googlePlusDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Linked In */ -.ui.linkedin.button { - background-color: @linkedInColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.linkedin.button:hover { - background-color: @linkedInHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.linkedin.button:active { - background-color: @linkedInDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* YouTube */ -.ui.youtube.button { - background-color: @youtubeColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.youtube.button:hover { - background-color: @youtubeHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.youtube.button:active { - background-color: @youtubeDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Instagram */ -.ui.instagram.button { - background-color: @instagramColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.instagram.button:hover { - background-color: @instagramHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.instagram.button:active { - background-color: @instagramDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Pinterest */ -.ui.pinterest.button { - background-color: @pinterestColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.pinterest.button:hover { - background-color: @pinterestHoverColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.pinterest.button:active { - background-color: @pinterestDownColor; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* VK */ -.ui.vk.button { - background-color: #4D7198; - color: @white; - background-image: @coloredBackgroundImage; - box-shadow: @coloredBoxShadow; -} -.ui.vk.button:hover { - background-color: @vkHoverColor; - color: @white; -} -.ui.vk.button:active { - background-color: @vkDownColor; - color: @white; -} - -/*-------------- - Icon ----------------*/ - -.ui.button > .icon { - opacity: @iconOpacity; - margin: @iconMargin; - transition: @iconTransition; - vertical-align: @iconVerticalAlign; -} -.ui.button > .right.icon { - margin: @rightIconMargin; -} - -/******************************* - Variations -*******************************/ - - -/*------------------- - Floated ---------------------*/ - -.ui[class*="left floated"].buttons, -.ui[class*="left floated"].button { - float: left; - margin-left: 0em; - margin-right: @floatedMargin; -} -.ui[class*="right floated"].buttons, -.ui[class*="right floated"].button { - float: right; - margin-right: 0em; - margin-left: @floatedMargin; -} - -/*------------------- - Compact ---------------------*/ - -.ui.compact.buttons .button, -.ui.compact.button { - padding: @compactVerticalPadding @compactHorizontalPadding ( @compactVerticalPadding + @shadowOffset ); -} -.ui.compact.icon.buttons .button, -.ui.compact.icon.button { - padding: @compactVerticalPadding @compactVerticalPadding ( @compactVerticalPadding + @shadowOffset ); -} -.ui.compact.labeled.icon.buttons .button, -.ui.compact.labeled.icon.button { - padding: @compactVerticalPadding (@compactHorizontalPadding + @labeledIconWidth) ( @compactVerticalPadding + @shadowOffset ); -} - -/*------------------- - Sizes ---------------------*/ - -.ui.mini.buttons .button, -.ui.mini.buttons .or, -.ui.mini.button { - font-size: @mini; -} -.ui.tiny.buttons .button, -.ui.tiny.buttons .or, -.ui.tiny.button { - font-size: @tiny; -} -.ui.small.buttons .button, -.ui.small.buttons .or, -.ui.small.button { - font-size: @small; -} -.ui.buttons .button, -.ui.buttons .or, -.ui.button { - font-size: @medium; -} -.ui.large.buttons .button, -.ui.large.buttons .or, -.ui.large.button { - font-size: @large; -} -.ui.big.buttons .button, -.ui.big.buttons .or, -.ui.big.button { - font-size: @big; -} -.ui.huge.buttons .button, -.ui.huge.buttons .or, -.ui.huge.button { - font-size: @huge; -} -.ui.massive.buttons .button, -.ui.massive.buttons .or, -.ui.massive.button { - font-size: @massive; -} - -/*-------------- - Icon Only ----------------*/ - -.ui.icon.buttons .button, -.ui.icon.button { - padding: @verticalPadding @verticalPadding ( @verticalPadding + @shadowOffset ); -} -.ui.icon.buttons .button > .icon, -.ui.icon.button > .icon { - opacity: @iconButtonOpacity; - margin: 0em; - vertical-align: top; -} - - -/*------------------- - Basic ---------------------*/ - -.ui.basic.buttons .button, -.ui.basic.button { - background: @basicBackground !important; - background-image: none; - color: @textColor !important; - font-weight: @basicFontWeight; - border-radius: @basicBorderRadius; - text-transform: @basicTextTransform; - text-shadow: none !important; - box-shadow: @basicBoxShadow; -} -.ui.basic.buttons { - box-shadow: @basicGroupBoxShadow; - border-radius: @borderRadius; -} -.ui.basic.buttons .button { - border-radius: 0em; -} - -.ui.basic.buttons .button:hover, -.ui.basic.button:hover { - background: @basicHoverBackground !important; - color: @hoveredTextColor !important; - box-shadow: @basicHoverBoxShadow; -} -.ui.basic.buttons .button:active, -.ui.basic.button:active { - background: @basicDownBackground !important; - color: @pressedTextColor !important; - box-shadow: @basicDownBoxShadow; -} -.ui.basic.buttons .button.active, -.ui.basic.button.active { - background: @basicActiveBackground !important; - box-shadow: @basicActiveBoxShadow !important; - color: @basicActiveColor; - box-shadow: @selectedBorderColor; -} -.ui.basic.buttons .button.active:hover, -.ui.basic.button.active:hover { - background-color: @transparentBlack; -} - -/* Vertical */ -.ui.basic.buttons .button:hover { - box-shadow: @basicHoverBoxShadow inset; -} -.ui.basic.buttons .button:active { - box-shadow: @basicDownBoxShadow inset; -} -.ui.basic.buttons .button.active { - box-shadow: @selectedBorderColor inset; -} - -/* Standard Basic Inverted */ -.ui.basic.inverted.buttons .button, -.ui.basic.inverted.button { - background-color: transparent !important; - color: @offWhite !important; - box-shadow: @basicInvertedBoxShadow !important; -} -.ui.basic.inverted.buttons .button:hover, -.ui.basic.inverted.button:hover { - color: @white !important; - box-shadow: @basicInvertedHoverBoxShadow !important; -} -.ui.basic.inverted.buttons .button:active, -.ui.basic.inverted.button:active { - background-color: @transparentWhite !important; - color: @white !important; - box-shadow: @basicInvertedDownBoxShadow !important; -} -.ui.basic.inverted.buttons .button.active, -.ui.basic.inverted.button.active { - background-color: @transparentWhite; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - box-shadow: @basicInvertedActiveBoxShadow; -} -.ui.basic.inverted.buttons .button.active:hover, -.ui.basic.inverted.button.active:hover { - background-color: @strongTransparentWhite; - box-shadow: @basicInvertedHoverBoxShadow !important; -} - - -/* Basic Group */ -.ui.basic.buttons .button { - border-left: @basicGroupBorder; - box-shadow: none; -} -.ui.basic.vertical.buttons .button { - border-left: none; -} - - -/*-------------- - Labeled Icon ----------------*/ - -.ui.labeled.icon.buttons .button, -.ui.labeled.icon.button { - position: relative; - padding-left: @labeledIconPadding !important; - padding-right: @horizontalPadding !important; -} - -/* Left Labeled */ -.ui.labeled.icon.buttons > .button > .icon, -.ui.labeled.icon.button > .icon { - position: absolute; - width: @labeledIconWidth; - height: 100%; - - background-color: @labeledIconBackgroundColor; - text-align: center; - color: @labeledIconColor; - - border-radius: @borderRadius 0px 0px @borderRadius; - line-height: 1; - box-shadow: @labeledIconLeftShadow; -} - -/* Left Labeled */ -.ui.labeled.icon.buttons > .button > .icon, -.ui.labeled.icon.button > .icon { - top: 0em; - left: 0em; -} - -/* Right Labeled */ -.ui[class*="right labeled"].icon.button { - padding-right: @labeledIconPadding !important; - padding-left: @horizontalPadding !important; -} -.ui[class*="right labeled"].icon.button > .icon { - left: auto; - right: 0em; - border-radius: 0em @borderRadius @borderRadius 0em; - box-shadow: @labeledIconRightShadow; -} - - -.ui.labeled.icon.buttons > .button > .icon:before, -.ui.labeled.icon.button > .icon:before, -.ui.labeled.icon.buttons > .button > .icon:after, -.ui.labeled.icon.button > .icon:after { - display: block; - position: absolute; - width: 100%; - top: 50%; - text-align: center; - margin-top: -0.5em; -} - -.ui.labeled.icon.buttons .button > .icon { - border-radius: 0em; -} -.ui.labeled.icon.buttons .button:first-child > .icon { - border-top-left-radius: @borderRadius; - border-bottom-left-radius: @borderRadius; -} -.ui.labeled.icon.buttons .button:last-child > .icon { - border-top-right-radius: @borderRadius; - border-bottom-right-radius: @borderRadius; -} -.ui.vertical.labeled.icon.buttons .button:first-child > .icon { - border-radius: 0em; - border-top-left-radius: @borderRadius; -} -.ui.vertical.labeled.icon.buttons .button:last-child > .icon { - border-radius: 0em; - border-bottom-left-radius: @borderRadius; -} - -/* Fluid Labeled */ -.ui.fluid[class*="left labeled"].icon.button, -.ui.fluid[class*="right labeled"].icon.button { - padding-left: @horizontalPadding !important; - padding-right: @horizontalPadding !important; -} - - - - -/*-------------- - Toggle ----------------*/ - -/* Toggle (Modifies active state to give affordances) */ -.ui.toggle.buttons .active.button, -.ui.buttons .button.toggle.active, -.ui.button.toggle.active { - background-color: @positiveColor !important; - box-shadow: none !important; - text-shadow: @invertedTextShadow; - color: @invertedTextColor !important; -} -.ui.button.toggle.active:hover { - background-color: @positiveColorHover !important; - text-shadow: @invertedTextShadow; - color: @invertedTextColor !important; -} - -/*-------------- - Circular ----------------*/ - -.ui.circular.button { - border-radius: 10em; -} -.ui.circular.button > .icon { - width: 1em; - vertical-align: baseline; -} - - -/*-------------- - Attached ----------------*/ - -.ui.attached.button { - display: block; - margin: 0em; - box-shadow: @attachedBoxShadow !important; - border-radius: 0em; -} -.ui.attached.top.button { - border-radius: @borderRadius @borderRadius 0em 0em; -} -.ui.attached.bottom.button { - border-radius: 0em 0em @borderRadius @borderRadius; -} -.ui.attached.left.button { - display: inline-block; - border-left: none; - - padding-right: @attachedHorizontalPadding; - text-align: right; - border-radius: @borderRadius 0em 0em @borderRadius; -} -.ui.attached.right.button { - display: inline-block; - padding-left: @attachedHorizontalPadding; - text-align: left; - border-radius: 0em @borderRadius @borderRadius 0em; -} - - - -/*------------------- - Or Buttons ---------------------*/ - -.ui.buttons .or { - position: relative; - float: left; - width: @orGap; - height: @orHeight; - z-index: 3; -} -.ui.buttons .or:before { - position: absolute; - top: 50%; - left: 50%; - content: 'or'; - background-color: @orBackgroundColor; - text-shadow: @orTextShadow; - - margin-top: @orVerticalOffset; - margin-left: @orHorizontalOffset; - - width: @orCircleSize; - height: @orCircleSize; - - line-height: @orLineHeight; - color: @orTextColor; - - font-style: @orTextStyle; - font-weight: @orTextWeight; - text-align: center; - - border-radius: 500em; - box-shadow: @orBoxShadow; -} - -/* Fluid Or */ -.ui.fluid.buttons .or { - width: 0em !important; -} -.ui.fluid.buttons .or:after { - display: none; -} - - -/*------------------- - Attached ---------------------*/ - -/* Plural Attached */ -.attached.ui.buttons { - margin: 0px; - border-radius: 0em 0em 0em 0em; -} -.attached.ui.buttons .button { - margin: 0em; -} -.attached.ui.buttons .button:first-child { - border-radius: 0em 0em 0em 0em; -} -.attached.ui.buttons .button:last-child { - border-radius: 0em 0em 0em 0em; -} - -/* Top Side */ -[class*="top attached"].ui.buttons { - margin-bottom: @attachedOffset; - border-radius: @borderRadius @borderRadius 0em 0em; -} -[class*="top attached"].ui.buttons .button:first-child { - border-radius: @borderRadius 0em 0em 0em; -} -[class*="top attached"].ui.buttons .button:last-child { - border-radius: 0em @borderRadius 0em 0em; -} - -/* Bottom Side */ -[class*="bottom attached"].ui.buttons { - margin-top: @attachedOffset; - border-radius: 0em 0em @borderRadius @borderRadius; -} -[class*="bottom attached"].ui.buttons .button:first-child { - border-radius: 0em 0em 0em @borderRadius; -} -[class*="bottom attached"].ui.buttons .button:last-child { - border-radius: 0em 0em @borderRadius 0em; -} - -/* Left Side */ -[class*="left attached"].ui.buttons { - margin-left: @attachedOffset; - border-radius: 0em @borderRadius @borderRadius 0em; -} -[class*="left attached"].ui.buttons .button:first-child { - margin-left: @attachedOffset; - border-radius: 0em @borderRadius 0em 0em; -} -[class*="left attached"].ui.buttons .button:last-child { - margin-left: @attachedOffset; - border-radius: 0em 0em @borderRadius 0em; -} -/* Right Side */ -[class*="right attached"].ui.buttons, -[class*="right attached"].ui.buttons .button { - margin-right: @attachedOffset; - border-radius: @borderRadius 0em 0em @borderRadius; -} -[class*="right attached"].ui.buttons .button:first-child { - margin-left: @attachedOffset; - border-radius: @borderRadius 0em 0em 0em; -} -[class*="right attached"].ui.buttons .button:last-child { - margin-left: @attachedOffset; - border-radius: 0em 0em 0em @borderRadius; -} - - - -/* Fluid */ -.ui.fluid.buttons, -.ui.button.fluid, -.ui.fluid.buttons > .button { - display: block; - width: 100%; -} - -.ui.\32.buttons, -.ui.two.buttons { - width: 100%; -} -.ui.\32.buttons > .button, -.ui.two.buttons > .button { - width: 50%; -} - -.ui.\33.buttons, -.ui.three.buttons { - width: 100%; -} -.ui.\33.buttons > .button, -.ui.three.buttons > .button { - width: 33.333%; -} - -.ui.\34.buttons, -.ui.four.buttons { - width: 100%; -} -.ui.\34.buttons > .button, -.ui.four.buttons > .button { - width: 25%; -} - -.ui.\35.buttons, -.ui.five.buttons { - width: 100%; -} -.ui.\35.buttons > .button, -.ui.five.buttons > .button { - width: 20%; -} - -.ui.\36.buttons, -.ui.six.buttons { - width: 100%; -} -.ui.\36.buttons > .button, -.ui.six.buttons > .button { - width: 16.666%; -} - -.ui.\37.buttons, -.ui.seven.buttons { - width: 100%; -} -.ui.\37.buttons > .button, -.ui.seven.buttons > .button { - width: 14.285%; -} - -.ui.\38.buttons, -.ui.eight.buttons { - width: 100%; -} -.ui.\38.buttons > .button, -.ui.eight.buttons > .button { - width: 12.500%; -} - -.ui.\39.buttons, -.ui.nine.buttons { - width: 100%; -} -.ui.\39.buttons > .button, -.ui.nine.buttons > .button { - width: 11.11%; -} - -.ui.\31\30.buttons, -.ui.ten.buttons { - width: 100%; -} -.ui.\31\30.buttons > .button, -.ui.ten.buttons > .button { - width: 10%; -} - -.ui.\31\31.buttons, -.ui.eleven.buttons { - width: 100%; -} -.ui.\31\31.buttons > .button, -.ui.eleven.buttons > .button { - width: 9.09%; -} - -.ui.\31\32.buttons, -.ui.twelve.buttons { - width: 100%; -} -.ui.\31\32.buttons > .button, -.ui.twelve.buttons > .button { - width: 8.3333%; -} - -/* Fluid Vertical Buttons */ -.ui.fluid.vertical.buttons, -.ui.fluid.vertical.buttons > .button { - display: block; - width: auto; -} - -.ui.\32.vertical.buttons > .button, -.ui.two.vertical.buttons > .button { - height: 50%; -} -.ui.\33.vertical.buttons > .button, -.ui.three.vertical.buttons > .button { - height: 33.333%; -} -.ui.\34.vertical.buttons > .button, -.ui.four.vertical.buttons > .button { - height: 25%; -} -.ui.\35.vertical.buttons > .button, -.ui.five.vertical.buttons > .button { - height: 20%; -} -.ui.\36.vertical.buttons > .button, -.ui.six.vertical.buttons > .button { - height: 16.666%; -} -.ui.\37.vertical.buttons > .button, -.ui.seven.vertical.buttons > .button { - height: 14.285%; -} -.ui.\38.vertical.buttons > .button, -.ui.eight.vertical.buttons > .button { - height: 12.500%; -} -.ui.\39.vertical.buttons > .button, -.ui.nine.vertical.buttons > .button { - height: 11.11%; -} -.ui.\31\30.vertical.buttons > .button, -.ui.ten.vertical.buttons > .button { - height: 10%; -} -.ui.\31\31.vertical.buttons > .button, -.ui.eleven.vertical.buttons > .button { - height: 9.09%; -} -.ui.\31\32.vertical.buttons > .button, -.ui.twelve.vertical.buttons > .button { - height: 8.3333%; -} - - -/*------------------- - Colors ---------------------*/ - -/*--- Black ---*/ -.ui.black.buttons .button, -.ui.black.button { - background-color: @black; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.black.button { - box-shadow: @coloredBoxShadow; -} -.ui.black.buttons .button:hover, -.ui.black.button:hover { - background-color: @blackHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.black.buttons .button:active, -.ui.black.button:active { - background-color: @blackDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.black.buttons .button.active, -.ui.black.buttons .button.active:active, -.ui.black.button.active, -.ui.black.button .button.active:active { - background-color: @blackActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.black.buttons .button, -.ui.basic.black.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.black.buttons .button:hover, -.ui.basic.black.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @blackHover inset !important; - color: @blackHover !important; -} -.ui.basic.black.buttons .button:active, -.ui.basic.black.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @blackDown inset !important; - color: @blackDown !important; -} -.ui.basic.black.buttons .button.active, -.ui.basic.black.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @blackDown inset !important; - color: @blackDown !important; -} -.ui.buttons > .basic.black.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.black.buttons .button, -.ui.inverted.black.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @solidBorderColor inset !important; - color: @invertedTextColor; -} -.ui.inverted.black.buttons .button:hover, -.ui.inverted.black.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlack inset !important; - background-color: @lightBlack; - color: @white; -} -.ui.inverted.black.buttons .button.active, -.ui.inverted.black.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlack inset !important; - background-color: @lightBlack; - color: @white; -} -.ui.inverted.black.buttons .button:active, -.ui.inverted.black.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackDown inset !important; - background-color: @lightBlackDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.black.basic.buttons .button, -.ui.inverted.black.buttons .basic.button, -.ui.inverted.black.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.black.basic.buttons .button:hover, -.ui.inverted.black.buttons .basic.button:hover, -.ui.inverted.black.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlack inset !important; - color: @white !important; -} -.ui.inverted.black.basic.buttons .button.active, -.ui.inverted.black.buttons .basic.button.active, -.ui.inverted.black.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlack inset !important; - color: @white !important; -} -.ui.inverted.black.basic.buttons .button:active, -.ui.inverted.black.buttons .basic.button:active, -.ui.inverted.black.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlackDown inset !important; - color: @white !important; -} - - - -/*--- Blue ---*/ -.ui.blue.buttons .button, -.ui.blue.button { - background-color: @blue; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.blue.button { - box-shadow: @coloredBoxShadow; -} -.ui.blue.buttons .button:hover, -.ui.blue.button:hover { - background-color: @blueHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.blue.buttons .button:active, -.ui.blue.button:active { - background-color: @blueDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.blue.buttons .button.active, -.ui.blue.buttons .button.active:active, -.ui.blue.button.active, -.ui.blue.button .button.active:active { - background-color: @blueActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - - -/* Basic */ -.ui.basic.blue.buttons .button, -.ui.basic.blue.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.blue.buttons .button:hover, -.ui.basic.blue.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @blueHover inset !important; - color: @blueHover !important; -} -.ui.basic.blue.buttons .button:active, -.ui.basic.blue.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @blueDown inset !important; - color: @blueDown !important; -} -.ui.basic.blue.buttons .button.active, -.ui.basic.blue.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @blueDown inset !important; - color: @blueDown !important; -} -.ui.buttons > .basic.blue.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.blue.buttons .button, -.ui.inverted.blue.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important; - color: @lightBlue; -} -.ui.inverted.blue.buttons .button:hover, -.ui.inverted.blue.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important; - background-color: @lightBlue; - color: @white; -} -.ui.inverted.blue.buttons .button.active, -.ui.inverted.blue.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important; - background-color: @lightBlue; - color: @white; -} -.ui.inverted.blue.buttons .button:active, -.ui.inverted.blue.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueDown inset !important; - background-color: @lightBlueDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.blue.basic.buttons .button, -.ui.inverted.blue.buttons .basic.button, -.ui.inverted.blue.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.blue.basic.buttons .button:hover, -.ui.inverted.blue.buttons .basic.button:hover, -.ui.inverted.blue.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important; - color: @lightBlue !important; -} -.ui.inverted.blue.basic.buttons .button.active, -.ui.inverted.blue.buttons .basic.button.active, -.ui.inverted.blue.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlue inset !important; - color: @lightBlue !important; -} -.ui.inverted.blue.basic.buttons .button:active, -.ui.inverted.blue.buttons .basic.button:active, -.ui.inverted.blue.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightBlueDown inset !important; - color: @lightBlue !important; -} - -/*--- Green ---*/ -.ui.green.buttons .button, -.ui.green.button { - background-color: @green; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.green.button { - box-shadow: @coloredBoxShadow; -} -.ui.green.buttons .button:hover, -.ui.green.button:hover { - background-color: @greenHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.green.buttons .button:active, -.ui.green.button:active { - background-color: @greenDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.green.buttons .button.active, -.ui.green.buttons .button.active:active, -.ui.green.button.active, -.ui.green.button .button.active:active { - background-color: @greenActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - - -/* Basic */ -.ui.basic.green.buttons .button, -.ui.basic.green.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.green.buttons .button:hover, -.ui.basic.green.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @greenHover inset !important; - color: @greenHover !important; -} -.ui.basic.green.buttons .button:active, -.ui.basic.green.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @greenDown inset !important; - color: @greenDown !important; -} -.ui.basic.green.buttons .button.active, -.ui.basic.green.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @greenDown inset !important; - color: @greenDown !important; -} -.ui.buttons > .basic.green.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.green.buttons .button, -.ui.inverted.green.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important; - color: @lightGreen; -} -.ui.inverted.green.buttons .button:hover, -.ui.inverted.green.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important; - background-color: @lightGreen; - color: @white; -} -.ui.inverted.green.buttons .button.active, -.ui.inverted.green.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important; - background-color: @lightGreen; - color: @white; -} -.ui.inverted.green.buttons .button:active, -.ui.inverted.green.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenDown inset !important; - background-color: @lightGreenDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.green.basic.buttons .button, -.ui.inverted.green.buttons .basic.button, -.ui.inverted.green.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.green.basic.buttons .button:hover, -.ui.inverted.green.buttons .basic.button:hover, -.ui.inverted.green.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important; - color: @lightGreen !important; -} -.ui.inverted.green.basic.buttons .button.active, -.ui.inverted.green.buttons .basic.button.active, -.ui.inverted.green.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreen inset !important; - color: @lightGreen !important; -} -.ui.inverted.green.basic.buttons .button:active, -.ui.inverted.green.buttons .basic.button:active, -.ui.inverted.green.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightGreenDown inset !important; - color: @lightGreen !important; -} - -/*--- Orange ---*/ -.ui.orange.buttons .button, -.ui.orange.button { - background-color: @orange; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.orange.button { - box-shadow: @coloredBoxShadow; -} -.ui.orange.buttons .button:hover, -.ui.orange.button:hover { - background-color: @orangeHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.orange.buttons .button:active, -.ui.orange.button:active { - background-color: @orangeDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.orange.buttons .button.active, -.ui.orange.buttons .button.active:active, -.ui.orange.button.active, -.ui.orange.button .button.active:active { - background-color: @blackActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.orange.buttons .button, -.ui.basic.orange.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.orange.buttons .button:hover, -.ui.basic.orange.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeHover inset !important; - color: @orangeHover !important; -} -.ui.basic.orange.buttons .button:active, -.ui.basic.orange.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeDown inset !important; - color: @orangeDown !important; -} -.ui.basic.orange.buttons .button.active, -.ui.basic.orange.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @orangeDown inset !important; - color: @orangeDown !important; -} -.ui.buttons > .basic.orange.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.orange.buttons .button, -.ui.inverted.orange.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important; - color: @lightOrange; -} -.ui.inverted.orange.buttons .button:hover, -.ui.inverted.orange.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important; - background-color: @lightOrange; - color: @white; -} -.ui.inverted.orange.buttons .button.active, -.ui.inverted.orange.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important; - background-color: @lightOrange; - color: @white; -} -.ui.inverted.orange.buttons .button:active, -.ui.inverted.orange.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeDown inset !important; - background-color: @lightOrangeDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.orange.basic.buttons .button, -.ui.inverted.orange.buttons .basic.button, -.ui.inverted.orange.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.orange.basic.buttons .button:hover, -.ui.inverted.orange.buttons .basic.button:hover, -.ui.inverted.orange.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important; - color: @lightOrange !important; -} -.ui.inverted.orange.basic.buttons .button.active, -.ui.inverted.orange.buttons .basic.button.active, -.ui.inverted.orange.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrange inset !important; - color: @lightOrange !important; -} -.ui.inverted.orange.basic.buttons .button:active, -.ui.inverted.orange.buttons .basic.button:active, -.ui.inverted.orange.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightOrangeDown inset !important; - color: @lightOrange !important; -} - -/*--- Pink ---*/ -.ui.pink.buttons .button, -.ui.pink.button { - background-color: @pink; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.pink.button { - box-shadow: @coloredBoxShadow; -} -.ui.pink.buttons .button:hover, -.ui.pink.button:hover { - background-color: @pinkHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.pink.buttons .button:active, -.ui.pink.button:active { - background-color: @pinkDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.pink.buttons .button.active, -.ui.pink.buttons .button.active:active, -.ui.pink.button.active, -.ui.pink.button .button.active:active { - background-color: @pinkActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.pink.buttons .button, -.ui.basic.pink.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.pink.buttons .button:hover, -.ui.basic.pink.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkHover inset !important; - color: @pinkHover !important; -} -.ui.basic.pink.buttons .button:active, -.ui.basic.pink.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkDown inset !important; - color: @pinkDown !important; -} -.ui.basic.pink.buttons .button.active, -.ui.basic.pink.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @pinkDown inset !important; - color: @pinkDown !important; -} -.ui.buttons > .basic.pink.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.pink.buttons .button, -.ui.inverted.pink.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important; - color: @lightPink; -} -.ui.inverted.pink.buttons .button:hover, -.ui.inverted.pink.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important; - background-color: @lightPink; - color: @white; -} -.ui.inverted.pink.buttons .button.active, -.ui.inverted.pink.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important; - background-color: @lightPink; - color: @white; -} -.ui.inverted.pink.buttons .button:active, -.ui.inverted.pink.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkDown inset !important; - background-color: @lightPinkDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.pink.basic.buttons .button, -.ui.inverted.pink.buttons .basic.button, -.ui.inverted.pink.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.pink.basic.buttons .button:hover, -.ui.inverted.pink.buttons .basic.button:hover, -.ui.inverted.pink.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important; - color: @lightPink !important; -} -.ui.inverted.pink.basic.buttons .button.active, -.ui.inverted.pink.buttons .basic.button.active, -.ui.inverted.pink.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPink inset !important; - color: @lightPink !important; -} -.ui.inverted.pink.basic.buttons .button:active, -.ui.inverted.pink.buttons .basic.button:active, -.ui.inverted.pink.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPinkDown inset !important; - color: @lightPink !important; -} - -/*--- Purple ---*/ -.ui.purple.buttons .button, -.ui.purple.button { - background-color: @purple; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.purple.button { - box-shadow: @coloredBoxShadow; -} -.ui.purple.buttons .button:hover, -.ui.purple.button:hover { - background-color: @purpleHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.purple.buttons .button:active, -.ui.purple.button:active { - background-color: @purpleDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.purple.buttons .button.active, -.ui.purple.buttons .button.active:active, -.ui.purple.button.active, -.ui.purple.button .button.active:active { - background-color: @purpleActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.purple.buttons .button, -.ui.basic.purple.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.purple.buttons .button:hover, -.ui.basic.purple.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleHover inset !important; - color: @purpleHover !important; -} -.ui.basic.purple.buttons .button:active, -.ui.basic.purple.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleDown inset !important; - color: @purpleDown !important; -} -.ui.basic.purple.buttons .button.active, -.ui.basic.purple.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @purpleDown inset !important; - color: @purpleDown !important; -} -.ui.buttons > .basic.purple.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.purple.buttons .button, -.ui.inverted.purple.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important; - color: @lightPurple; -} -.ui.inverted.purple.buttons .button:hover, -.ui.inverted.purple.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important; - background-color: @lightPurple; - color: @black; -} -.ui.inverted.purple.buttons .button.active, -.ui.inverted.purple.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important; - background-color: @lightPurple; - color: @black; -} -.ui.inverted.purple.buttons .button:active, -.ui.inverted.purple.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleDown inset !important; - background-color: @lightPurpleDown; - color: @black; -} - -/* Inverted Basic */ -.ui.inverted.purple.basic.buttons .button, -.ui.inverted.purple.buttons .basic.button, -.ui.inverted.purple.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.purple.basic.buttons .button:hover, -.ui.inverted.purple.buttons .basic.button:hover, -.ui.inverted.purple.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important; - color: @lightPurple !important; -} -.ui.inverted.purple.basic.buttons .button.active, -.ui.inverted.purple.buttons .basic.button.active, -.ui.inverted.purple.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurple inset !important; - color: @lightPurple !important; -} -.ui.inverted.purple.basic.buttons .button:active, -.ui.inverted.purple.buttons .basic.button:active, -.ui.inverted.purple.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightPurpleDown inset !important; - color: @lightPurple !important; -} - -/*--- Red ---*/ -.ui.red.buttons .button, -.ui.red.button { - background-color: @red; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.red.button { - box-shadow: @coloredBoxShadow; -} -.ui.red.buttons .button:hover, -.ui.red.button:hover { - background-color: @redHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.red.buttons .button:active, -.ui.red.button:active { - background-color: @redDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.red.buttons .button.active, -.ui.red.buttons .button.active:active, -.ui.red.button.active, -.ui.red.button .button.active:active { - background-color: @redActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.red.buttons .button, -.ui.basic.red.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.red.buttons .button:hover, -.ui.basic.red.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @redHover inset !important; - color: @redHover !important; -} -.ui.basic.red.buttons .button:active, -.ui.basic.red.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @redDown inset !important; - color: @redDown !important; -} -.ui.basic.red.buttons .button.active, -.ui.basic.red.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @redDown inset !important; - color: @redDown !important; -} -.ui.buttons > .basic.red.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.red.buttons .button, -.ui.inverted.red.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important; - color: @lightRed; -} -.ui.inverted.red.buttons .button:hover, -.ui.inverted.red.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important; - background-color: @lightRed; - color: @white; -} -.ui.inverted.red.buttons .button.active, -.ui.inverted.red.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important; - background-color: @lightRed; - color: @white; -} -.ui.inverted.red.buttons .button:active, -.ui.inverted.red.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRedDown inset !important; - background-color: @lightRedDown; - color: @white; -} - -/* Inverted Basic */ -.ui.inverted.red.basic.buttons .button, -.ui.inverted.red.buttons .basic.button, -.ui.inverted.red.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.red.basic.buttons .button:hover, -.ui.inverted.red.buttons .basic.button:hover, -.ui.inverted.red.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important; - color: @lightRed !important; -} -.ui.inverted.red.basic.buttons .button.active, -.ui.inverted.red.buttons .basic.button.active, -.ui.inverted.red.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRed inset !important; - color: @lightRed !important; -} -.ui.inverted.red.basic.buttons .button:active, -.ui.inverted.red.buttons .basic.button:active, -.ui.inverted.red.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightRedDown inset !important; - color: @lightRed !important; -} - - -/*--- Teal ---*/ -.ui.teal.buttons .button, -.ui.teal.button { - background-color: @teal; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.teal.button { - box-shadow: @coloredBoxShadow; -} -.ui.teal.buttons .button:hover, -.ui.teal.button:hover { - background-color: @tealHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.teal.buttons .button:active, -.ui.teal.button:active { - background-color: @tealDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.teal.buttons .button.active, -.ui.teal.buttons .button.active:active, -.ui.teal.button.active, -.ui.teal.button .button.active:active { - background-color: @tealActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.teal.buttons .button, -.ui.basic.teal.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.teal.buttons .button:hover, -.ui.basic.teal.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @tealHover inset !important; - color: @tealHover !important; -} -.ui.basic.teal.buttons .button:active, -.ui.basic.teal.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @tealDown inset !important; - color: @tealDown !important; -} -.ui.basic.teal.buttons .button.active, -.ui.basic.teal.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @tealDown inset !important; - color: @tealDown !important; -} -.ui.buttons > .basic.teal.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.teal.buttons .button, -.ui.inverted.teal.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important; - color: @lightTeal; -} -.ui.inverted.teal.buttons .button:hover, -.ui.inverted.teal.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important; - background-color: @lightTeal; - color: @black; -} -.ui.inverted.teal.buttons .button.active, -.ui.inverted.teal.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important; - background-color: @lightTeal; - color: @black; -} -.ui.inverted.teal.buttons .button:active, -.ui.inverted.teal.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTealDown inset !important; - background-color: @lightTealDown; - color: @black; -} - -/* Inverted Basic */ -.ui.inverted.teal.basic.buttons .button, -.ui.inverted.teal.buttons .basic.button, -.ui.inverted.teal.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.teal.basic.buttons .button:hover, -.ui.inverted.teal.buttons .basic.button:hover, -.ui.inverted.teal.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important; - color: @lightTeal !important; -} -.ui.inverted.teal.basic.buttons .button.active, -.ui.inverted.teal.buttons .basic.button.active, -.ui.inverted.teal.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTeal inset !important; - color: @lightTeal !important; -} -.ui.inverted.teal.basic.buttons .button:active, -.ui.inverted.teal.buttons .basic.button:active, -.ui.inverted.teal.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightTealDown inset !important; - color: @lightTeal !important; -} - - -/*--- Yellow ---*/ -.ui.yellow.buttons .button, -.ui.yellow.button { - background-color: @yellow; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.yellow.button { - box-shadow: @coloredBoxShadow; -} -.ui.yellow.buttons .button:hover, -.ui.yellow.button:hover { - background-color: @yellowHover; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.yellow.buttons .button:active, -.ui.yellow.button:active { - background-color: @yellowDown; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.yellow.buttons .button.active, -.ui.yellow.buttons .button.active:active, -.ui.yellow.button.active, -.ui.yellow.button .button.active:active { - background-color: @yellowActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/* Basic */ -.ui.basic.yellow.buttons .button, -.ui.basic.yellow.button { - box-shadow: 0px 0px 0px @basicColoredBorderSize @borderColor inset !important; - color: @textColor !important; -} -.ui.basic.yellow.buttons .button:hover, -.ui.basic.yellow.button:hover { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowHover inset !important; - color: @yellowHover !important; -} -.ui.basic.yellow.buttons .button:active, -.ui.basic.yellow.button:active { - box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowDown inset !important; - color: @yellowDown !important; -} -.ui.basic.yellow.buttons .button.active, -.ui.basic.yellow.button.active { - background: transparent !important; - box-shadow: 0px 0px 0px @basicColoredBorderSize @yellowDown inset !important; - color: @yellowDown !important; -} -.ui.buttons > .basic.yellow.button:not(:first-child) { - margin-left: -@basicColoredBorderSize; -} - -/* Inverted */ -.ui.inverted.yellow.buttons .button, -.ui.inverted.yellow.button { - background-color: transparent; - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important; - color: @lightYellow; -} -.ui.inverted.yellow.buttons .button:hover, -.ui.inverted.yellow.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important; - background-color: @lightYellow; - color: @black; -} -.ui.inverted.yellow.buttons .button.active, -.ui.inverted.yellow.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important; - background-color: @lightYellow; - color: @black; -} -.ui.inverted.yellow.buttons .button:active, -.ui.inverted.yellow.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowDown inset !important; - background-color: @lightYellowDown; - color: @black; -} - -/* Inverted Basic */ -.ui.inverted.yellow.basic.buttons .button, -.ui.inverted.yellow.buttons .basic.button, -.ui.inverted.yellow.basic.button { - background-color: transparent; - box-shadow: @basicInvertedBoxShadow !important; - color: @white !important; -} -.ui.inverted.yellow.basic.buttons .button:hover, -.ui.inverted.yellow.buttons .basic.button:hover, -.ui.inverted.yellow.basic.button:hover { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important; - color: @lightYellow !important; -} -.ui.inverted.yellow.basic.buttons .button.active, -.ui.inverted.yellow.buttons .basic.button.active, -.ui.inverted.yellow.basic.button.active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellow inset !important; - color: @lightYellow !important; -} -.ui.inverted.yellow.basic.buttons .button:active, -.ui.inverted.yellow.buttons .basic.button:active, -.ui.inverted.yellow.basic.button:active { - box-shadow: 0px 0px 0px @invertedBorderSize @lightYellowDown inset !important; - color: @lightYellow !important; -} - - -/*------------------- - Primary ---------------------*/ - -.ui.primary.buttons .button, -.ui.primary.button { - background-color: @primaryColor; - color: @primaryTextColor; - text-shadow: @primaryTextShadow; - background-image: @primaryBackgroundImage; -} -.ui.primary.button { - box-shadow: @primaryBoxShadow; -} -.ui.primary.buttons .button:hover, -.ui.primary.button:hover { - background-color: @primaryColorHover; - color: @primaryTextColor; - text-shadow: @primaryTextShadow; -} -.ui.primary.buttons .button:active, -.ui.primary.button:active { - background-color: @primaryColorDown; - color: @primaryTextColor; - text-shadow: @primaryTextShadow; -} -.ui.primary.buttons .active.button, -.ui.primary.button.active { - background-color: @primaryColorActive; - color: @primaryTextColor; - text-shadow: @primaryTextShadow; -} - -/*------------------- - Secondary ---------------------*/ - -.ui.secondary.buttons .button, -.ui.secondary.button { - background-color: @secondaryColor; - color: @secondaryTextColor; - text-shadow: @secondaryTextShadow; - background-image: @secondaryBackgroundImage; -} -.ui.secondary.button { - box-shadow: @secondaryBoxShadow; -} -.ui.secondary.buttons .button:hover, -.ui.secondary.button:hover { - background-color: @secondaryColorHover; - color: @secondaryTextColor; - text-shadow: @secondaryTextShadow; -} -.ui.secondary.buttons .button:active, -.ui.secondary.button:active { - background-color: @secondaryColorDown; - color: @secondaryTextColor; - text-shadow: @secondaryTextShadow; -} -.ui.secondary.buttons .active.button, -.ui.secondary.button.active { - background-color: @secondaryColorActive; - color: @secondaryTextColor; - text-shadow: @secondaryTextShadow; -} - -/*--------------- - Positive -----------------*/ - -.ui.positive.buttons .button, -.ui.positive.button { - background-color: @positiveColor !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.positive.button { - box-shadow: @coloredBoxShadow; -} -.ui.positive.buttons .button:hover, -.ui.positive.button:hover, -.ui.positive.buttons .active.button, -.ui.positive.button.active { - background-color: @positiveColorHover !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.positive.buttons .button:active, -.ui.positive.button:active { - background-color: @positiveColorDown !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.positive.buttons .button.active, -.ui.positive.buttons .button.active:active, -.ui.positive.button.active, -.ui.positive.button .button.active:active { - background-color: @positiveColorActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - - -/*--------------- - Negative -----------------*/ - -.ui.negative.buttons .button, -.ui.negative.button { - background-color: @negativeColor !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; - background-image: @coloredBackgroundImage; -} -.ui.negative.button { - box-shadow: @coloredBoxShadow; -} -.ui.negative.buttons .button:hover, -.ui.negative.button:hover, -.ui.negative.buttons .active.button, -.ui.negative.button.active { - background-color: @negativeColorHover !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.negative.buttons .button:active, -.ui.negative.button:active { - background-color: @negativeColorDown !important; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} -.ui.negative.buttons .button.active, -.ui.negative.buttons .button.active:active, -.ui.negative.button.active, -.ui.negative.button .button.active:active { - background-color: @negativeColorActive; - color: @invertedTextColor; - text-shadow: @invertedTextShadow; -} - -/******************************* - Groups -*******************************/ - -.ui.buttons { - display: inline-block; - vertical-align: middle; - margin: @verticalMargin @horizontalMargin 0em 0em; -} -.ui.buttons > .button:hover, -.ui.buttons > .button.active { - position: relative; -} -.ui.buttons:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.ui.buttons .button:first-child { - border-left: none; -} - -.ui.buttons:not(.basic):not(.inverted) { - box-shadow: @groupBoxShadow; -} -.ui.buttons > .ui.button:not(.basic):not(.inverted), -.ui.buttons:not(.basic):not(.inverted) > .button { - box-shadow: @groupButtonBoxShadow; -} - - -.ui.buttons .button { - margin: 0em; - float: left; - border-radius: 0em; - margin: @groupButtonOffset; -} - -.ui.buttons .button:first-child { - margin-left: 0em; - border-top-left-radius: @borderRadius; - border-bottom-left-radius: @borderRadius; -} -.ui.buttons .button:last-child { - border-top-right-radius: @borderRadius; - border-bottom-right-radius: @borderRadius; -} - - -/* Vertical Style */ -.ui.vertical.buttons { - display: inline-block; -} -.ui.vertical.buttons .button { - display: block; - float: none; - margin: @verticalGroupOffset; - box-shadow: @verticalBoxShadow; -} -.ui.vertical.buttons .button:first-child, -.ui.vertical.buttons .mini.button:first-child, -.ui.vertical.buttons .tiny.button:first-child, -.ui.vertical.buttons .small.button:first-child, -.ui.vertical.buttons .massive.button:first-child, -.ui.vertical.buttons .huge.button:first-child { - border-radius: @borderRadius @borderRadius 0px 0px; -} -.ui.vertical.buttons .button:last-child, -.ui.vertical.buttons .mini.button:last-child, -.ui.vertical.buttons .tiny.button:last-child, -.ui.vertical.buttons .small.button:last-child, -.ui.vertical.buttons .massive.button:last-child, -.ui.vertical.buttons .huge.button:last-child, -.ui.vertical.buttons .gigantic.button:last-child { - margin-bottom: 0px; - border-radius: 0px 0px @borderRadius @borderRadius; -} - -.loadUIOverrides(); diff --git a/definitions/elements/divider.less b/definitions/elements/divider.less deleted file mode 100644 index 556172a11a..0000000000 --- a/definitions/elements/divider.less +++ /dev/null @@ -1,255 +0,0 @@ -/* - * # Semantic - Divider - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'divider'; - -@import '../../semantic.config'; - - -/******************************* - Divider -*******************************/ - -.ui.divider { - margin: @margin; - - line-height: 1; - height: 0em; - - font-weight: @fontWeight; - text-transform: @textTransform; - color: @color; - - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -/*-------------- - Basic ----------------*/ - -.ui.divider:not(.vertical):not(.horizontal) { - border-top: @shadowWidth solid @shadowColor; - border-bottom: @highlightWidth solid @highlightColor; -} - -/*-------------- - Coupling ----------------*/ - -.ui.grid > .ui.divider { - font-size: 1rem; -} - - -/*-------------- - Horizontal ----------------*/ - -.ui.horizontal.divider { - position: relative; - - height: auto; - margin: @horizontalMargin; - overflow: hidden; - line-height: 1; - text-align: center; -} - -.ui.horizontal.divider:before, -.ui.horizontal.divider:after { - position: absolute; - top: 50%; - content: ''; - z-index: 3; - - width: 50%; - top: 50%; - height: 0px; - - border-top: @shadowWidth solid @shadowColor; - border-bottom: @highlightWidth solid @highlightColor; -} - -.ui.horizontal.divider:before { - margin-left: -(50% + @horizontalDividerMargin); -} -.ui.horizontal.divider:after { - margin-left: @horizontalDividerMargin; -} - -/*-------------- - Vertical ----------------*/ - -.ui.vertical.divider { - position: absolute; - z-index: 2; - top: 50%; - left: 50%; - - margin: 0rem; - padding: 0em; - width: auto; - height: 50%; - - line-height: 0em; - text-align: center; - transform: translateX(-50%); -} - -.ui.vertical.divider:before, -.ui.vertical.divider:after { - position: absolute; - left: 50%; - content: ''; - z-index: 3; - - border-left: @shadowWidth solid @shadowColor; - border-right: @highlightWidth solid @highlightColor; - - width: 0%; - height: @verticalDividerHeight; -} - -.ui.vertical.divider:before { - top: -100%; -} -.ui.vertical.divider:after { - top: auto; - bottom: 0px; -} - -/* Inside grid */ -@media only screen and (max-width : (@tabletBreakpoint - 1px)) { - .ui.stackable.grid .ui.vertical.divider, - .ui.grid .stackable.row .ui.vertical.divider { - position: relative; - margin: @margin; - left: 50%; - height: auto; - overflow: hidden; - line-height: 1; - text-align: center; - } - - .ui.stackable.grid .ui.vertical.divider:before, - .ui.grid .stackable.row .ui.vertical.divider:before, - .ui.stackable.grid .ui.vertical.divider:after, - .ui.grid .stackable.row .ui.vertical.divider:after { - position: absolute; - top: 50%; - left: auto; - content: ''; - z-index: 3; - - width: 50%; - top: 50%; - height: 0px; - - border-top: @shadowWidth solid @shadowColor; - border-bottom: @highlightWidth solid @highlightColor; - } - - .ui.stackable.grid .ui.vertical.divider:before, - .ui.grid .stackable.row .ui.vertical.divider:before { - margin-left: -(50% + @horizontalDividerMargin); - } - .ui.stackable.grid .ui.vertical.divider:after, - .ui.grid .stackable.row .ui.vertical.divider:after { - margin-left: @horizontalDividerMargin; - } -} - -/*-------------- - Icon ----------------*/ - -.ui.divider > .icon { - margin: @dividerIconMargin; - font-size: @dividerIconSize; - height: 1em; - vertical-align: middle; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Hidden ----------------*/ - -.ui.hidden.divider { - border-color: transparent !important; -} - -/*-------------- - Inverted ----------------*/ - -.ui.divider.inverted { - color: @invertedTextColor; -} -.ui.vertical.inverted.divider, -.ui.horizontal.inverted.divider { - color: @invertedTextColor; -} -.ui.divider.inverted, -.ui.divider.inverted:after, -.ui.divider.inverted:before { - border-top-color: @invertedShadowColor !important; - border-bottom-color: @invertedHighlightColor !important; - - border-left-color: @invertedShadowColor !important; - border-right-color: @invertedHighlightColor !important; -} - -/*-------------- - Fitted ----------------*/ - -.ui.fitted.divider { - margin: 0em; -} - -/*-------------- - Clearing ----------------*/ - -.ui.clearing.divider { - clear: both; -} - -/*-------------- - Section ----------------*/ - -.ui.section.divider { - margin-top: @sectionMargin; - margin-bottom: @sectionMargin; -} - -/*-------------- - Sizes ----------------*/ - -.ui.divider { - font-size: @medium; -} - - -.loadUIOverrides(); diff --git a/definitions/elements/flag.less b/definitions/elements/flag.less deleted file mode 100644 index 7a181caab5..0000000000 --- a/definitions/elements/flag.less +++ /dev/null @@ -1,46 +0,0 @@ - /* - * # Semantic - Flag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'flag'; - -@import '../../semantic.config'; - -i.flag:not(.icon) { - display: inline-block; - - width: @width; - height: @height; - - line-height: @height; - vertical-align: @verticalAlign; - margin: 0em @margin 0em 0em; - - text-decoration: inherit; - - speak: none; - font-smoothing: antialiased; - backface-visibility: hidden; -} - -i.flag:not(.icon):before { - display: inline-block; - content: ''; - background: url(@spritePath) no-repeat 0px 0px; - width: @width; - height: @height; -} - -.loadUIOverrides(); diff --git a/definitions/elements/header.less b/definitions/elements/header.less deleted file mode 100644 index 4e0104e0d9..0000000000 --- a/definitions/elements/header.less +++ /dev/null @@ -1,538 +0,0 @@ -/* - * # Semantic - Header - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'header'; - -@import '../../semantic.config'; - -/******************************* - Header -*******************************/ - -/* Standard */ -.ui.header { - border: none; - font-family: @headerFont; - margin: @topMargin 0em @bottomMargin; - padding: @verticalPadding @horizontalPadding; - font-weight: @fontWeight; - line-height: @lineHeight; - text-transform: @textTransform; - color: @textColor; -} - -.ui.header .sub.header { - font-size: @subHeaderFontSize; - font-weight: normal; - margin: 0em; - padding: 0em; - - line-height: @subHeaderLineHeight; - color: @subHeaderColor; -} - -/* Icon and Content Together */ -.ui.header > .icon { - display: table-cell; - opacity: @iconOpacity; - font-size: @iconSize; - padding-top: @iconOffset; - - vertical-align: @iconAlignment; - padding-right: (@iconMargin / 2); -} -.ui.header > .icon + .content { - padding-left: (@iconMargin / 2); - display: table-cell; -} - -/* Only One */ -.ui.header .icon:only-child { - display: inline-block; - padding: 0em; - margin-right: (@iconMargin / 2); - vertical-align: baseline; -} -.ui.header .content { - display: inline-block; - vertical-align: @contentAlignment; -} - -/* Positioning */ -.ui.header:first-child { - margin-top: @firstMargin; -} -.ui.header:last-child { - margin-bottom: @lastMargin; -} -.ui.header + p { - margin-top: @nextParagraphTopMargin; -} - - -/*-------------- - Page Heading ----------------*/ - -h1.ui.header { - min-height: 1rem; - font-size: @h1; -} -h2.ui.header { - font-size: @h2; -} -h3.ui.header { - font-size: @h3; -} -h4.ui.header { - font-size: @h4; -} -h5.ui.header { - font-size: @h5; -} - -/*-------------- - Content Heading ----------------*/ - -.ui.tiny.header { - font-size: @tiny; -} -.ui.small.header { - font-size: @small; -} -.ui.medium.header { - font-size: @medium; -} -.ui.large.header { - font-size: @large; -} -.ui.huge.header { - min-height: 1em; - font-size: @huge; -} - - -/*-------------- - Loose Coupling ----------------*/ - -.ui.header .ui.label { - margin: 0em 0em 0em @labelDistance; - vertical-align: @labelVerticalAlign; -} - - -/******************************* - Types -*******************************/ - -/*------------------- - Icon ---------------------*/ - -.ui.icon.header { - display: block; - text-align: center; - margin: @iconHeaderTopMargin 0em @iconHeaderBottomMargin; -} -.ui.icon.header:first-child { - margin-top: @iconHeaderFirstMargin; -} -.ui.icon.header .icon { - float: none; - display: block; - width: auto; - height: auto; - padding: 0em; - font-size: @iconHeaderSize; - margin: 0em auto @iconHeaderMargin; - opacity: @iconHeaderOpacity; -} -.ui.icon.header .content { - display: block; -} -.ui.icon.header .circular.icon { - font-size: @circularHeaderIconSize; -} -.ui.icon.header .square.icon { - font-size: @squareHeaderIconSize; -} -.ui.block.icon.header .icon { - margin-bottom: 0em; -} -.ui.icon.header.aligned { - margin-left: auto; - margin-right: auto; - display: block; -} - -/******************************* - States -*******************************/ - -.ui.disabled.header { - opacity: @disabledOpacity; -} - - -/******************************* - Variations -*******************************/ - - -/*------------------- - Colors ---------------------*/ - -.ui.black.header { - color: @black !important; -} -a.ui.black.header:hover { - color: @blackHover !important; -} - -.ui.blue.header { - color: @blue !important; -} -a.ui.blue.header:hover { - color: @blueHover !important; -} - -.ui.green.header { - color: @green !important; -} -a.ui.green.header:hover { - color: @greenHover !important; -} - -.ui.orange.header { - color: @orange !important; -} -a.ui.orange.header:hover { - color: @orangeHover !important; -} - -.ui.pink.header { - color: @pink !important; -} -a.ui.pink.header:hover { - color: @pinkHover !important; -} - -.ui.purple.header { - color: @purple !important; -} -a.ui.purple.header:hover { - color: @purpleHover !important; -} - -.ui.red.header { - color: @red !important; -} -a.ui.red.header:hover { - color: @redHover !important; -} - -.ui.teal.header { - color: @teal !important; -} -a.ui.teal.header:hover { - color: @tealHover !important; -} - -.ui.yellow.header { - color: @yellow !important; -} -a.ui.yellow.header:hover { - color: @yellowHover !important; -} - -.ui.black.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @blackDividedBorderColor; -} -.ui.blue.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @blueDividedBorderColor; -} -.ui.green.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @greenDividedBorderColor; -} -.ui.orange.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @orangeDividedBorderColor; -} -.ui.pink.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @pinkDividedBorderColor; -} -.ui.purple.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @purpleDividedBorderColor; -} -.ui.red.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @redDividedBorderColor; -} -.ui.teal.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @tealDividedBorderColor; -} -.ui.yellow.dividing.header { - border-bottom: @dividedColoredBorderWidth solid @yellowDividedBorderColor; -} - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.header { - color: @invertedColor; -} -.ui.inverted.header .sub.header { - color: @invertedSubHeaderColor; -} -.ui.inverted.attached.header { - background: @invertedAttachedBackground; - box-shadow: none; -} -.ui.inverted.block.header { - background: @invertedBlockBackground; - box-shadow: none; -} - - -/*------------------- - Inverted Colors ---------------------*/ - -.ui.inverted.black.header { - color: @darkGrey !important; -} -a.ui.inverted.black.header:hover { - color: @darkGreyHover !important; -} - -.ui.inverted.blue.header { - color: @lightBlue !important; -} -a.ui.inverted.blue.header:hover { - color: @lightBlueHover !important; -} - -.ui.inverted.green.header { - color: @lightGreen !important; -} -a.ui.inverted.green.header:hover { - color: @lightGreenHover !important; -} - -.ui.inverted.orange.header { - color: @lightOrange !important; -} -a.ui.inverted.orange.header:hover { - color: @lightOrangeHover !important; -} - -.ui.inverted.pink.header { - color: @lightPink !important; -} -a.ui.inverted.pink.header:hover { - color: @lightPinkHover !important; -} - -.ui.inverted.purple.header { - color: @lightPurple !important; -} -a.ui.inverted.purple.header:hover { - color: @lightPurpleHover !important; -} - -.ui.inverted.red.header { - color: @lightRed !important; -} -a.ui.inverted.red.header:hover { - color: @lightRedHover !important; -} - -.ui.inverted.teal.header { - color: @lightTeal !important; -} -a.ui.inverted.teal.header:hover { - color: @lightTealHover !important; -} - -.ui.inverted.yellow.header { - color: @lightYellow !important; -} -a.ui.inverted.yellow.header:hover { - color: @lightYellowHover !important; -} - -.ui.inverted.block.header { - border-bottom: none; -} - -/*------------------- - Aligned ---------------------*/ - -.ui.left.aligned.header { - text-align: left; -} -.ui.right.aligned.header { - text-align: right; -} -.ui.centered.header, -.ui.center.aligned.header { - text-align: center; -} -.ui.justified.header { - text-align: justify; -} -.ui.justified.header:after { - display: inline-block; - content: ''; - width: 100%; -} - -/*------------------- - Floated ---------------------*/ - -.ui.floated.header, -.ui.left.floated.header { - float: left; - margin-top: 0em; - margin-right: @floatedMargin; -} -.ui.right.floated.header { - float: right; - margin-top: 0em; - margin-left: @floatedMargin; -} - -/*------------------- - Fittted ---------------------*/ - -.ui.fitted.header { - padding: 0em; -} - - -/*------------------- - Dividing ---------------------*/ - -.ui.dividing.header { - padding-bottom: @dividedBorderPadding; - border-bottom: @dividedBorder; -} -.ui.dividing.header .sub.header { - padding-bottom: @dividedSubHeaderPadding; -} -.ui.dividing.header .icon { - margin-bottom: @dividedIconPadding; -} - -.ui.inverted.dividing.header { - border-bottom-color: @invertedDividedBorderColor; -} - - -/*------------------- - Block ---------------------*/ - -.ui.block.header { - background: @blockBackground; - padding: @blockVerticalPadding @blockHorizontalPadding; - box-shadow: @blockBoxShadow; - border: @blockBorder; - border-radius: @blockBorderRadius; -} - -.ui.tiny.block.header { - font-size: @tinyBlock; -} -.ui.small.block.header { - font-size: @smallBlock; -} -.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { - font-size: @mediumBlock; -} -.ui.large.block.header { - font-size: @largeBlock; -} -.ui.huge.block.header { - font-size: @hugeBlock; -} - -/*------------------- - Attached ---------------------*/ - -.ui.attached.header { - background: @attachedBackground; - padding: @attachedVerticalPadding @attachedHorizontalPadding; - margin-left: @attachedOffset; - margin-right: @attachedOffset; - box-shadow: @attachedBoxShadow; - border: @attachedBorder; -} -.ui.attached.block.header { - background: @blockBackground; -} - -.ui.attached:not(.top):not(.bottom).header { - margin-top: 0em; - margin-bottom: 0em; - border-top: none; - border-bottom: none; - border-radius: 0em; -} -.ui.top.attached.header { - margin-bottom: 0em; - border-bottom: none; - border-radius: @attachedBorderRadius @attachedBorderRadius 0em 0em; -} -.ui.bottom.attached.header { - margin-top: 0em; - border-top: none; - border-radius: 0em 0em @attachedBorderRadius @attachedBorderRadius; -} - -/* Attached Sizes */ -.ui.tiny.attached.header { - font-size: @tinyAttached; -} -.ui.small.attached.header { - font-size: @smallAttached; -} -.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { - font-size: @mediumAttached; -} -.ui.large.attached.header { - font-size: @largeAttached; -} -.ui.huge.attached.header { - font-size: @hugeAttached; -} - -/*------------------- - Sizing ---------------------*/ - -.ui.header { - font-size: @medium; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/elements/icon.less b/definitions/elements/icon.less deleted file mode 100644 index 40da4fc45d..0000000000 --- a/definitions/elements/icon.less +++ /dev/null @@ -1,357 +0,0 @@ -/* - * # Semantic - Icon - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/*! - * Font Awesome 3.2.1 - * the iconic font designed for Bootstrap - * ------------------------------------------------------------------------------ - * The full suite of pictographic icons, examples, and documentation can be - * found at http://fon.io. Stay up to date on Twitter at - * http://twitter.com/fon. - * - * License - * ------------------------------------------------------------------------------ - * - The Font Awesome font is licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'icon'; - -@import '../../semantic.config'; - -/******************************* - Icon -*******************************/ - -@font-face { - font-family: 'Icons'; - src: url("@{fontPath}/@{fontName}.eot"); - src: - url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'), - url("@{fontPath}/@{fontName}.svg#icons") format('svg'), - url("@{fontPath}/@{fontName}.woff") format('woff'), - url("@{fontPath}/@{fontName}.ttf") format('truetype') - ; - - font-style: normal; - font-weight: normal; - font-variant: normal; - text-decoration: inherit; - text-transform: none; -} - -i.icon { - display: inline-block; - opacity: @opacity; - - margin: 0em @distanceFromText 0em 0em; - - width: @width; - height: @height; - - font-family: 'Icons'; - font-style: normal; - line-height: 1; - font-weight: normal; - text-decoration: inherit; - text-align: center; - - speak: none; - font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - backface-visibility: hidden; -} - -i.icon:before { - background: none !important; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Loading ----------------*/ - -i.icon.loading { - height: 1em; - animation: icon-loading @loadingDuration linear infinite; -} -@keyframes icon-loading { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -/******************************* - States -*******************************/ - -i.icon.hover { - opacity: 1; -} - -i.icon.active { - opacity: 1; -} - -i.emphasized.icon { - opacity: 1; -} - -i.icon.disabled { - opacity: @disabledOpacity; -} - - -/******************************* - Variations -*******************************/ - - -/*------------------- - Link ---------------------*/ - -i.link.icon { - cursor: pointer; - opacity: @opacity; - transition: opacity @transitionDuration @transitionEasing; -} -i.link.icon:hover { - opacity: 1 !important; -} - -/*------------------- - Circular ---------------------*/ - -i.circular.icon { - border-radius: 500em !important; - - padding: @circularPadding !important; - - box-shadow: @circularShadow; - - line-height: 1 !important; - width: @circularSize !important; - height: @circularSize !important; -} -i.circular.inverted.icon { - border: none; - box-shadow: none; -} - -/*------------------- - Flipped ---------------------*/ - -i.flipped.icon, -i.horizontally.flipped.icon { - transform: scale(-1, 1); -} -i.vertically.flipped.icon { - transform: scale(1, -1); -} - -/*------------------- - Rotated ---------------------*/ - -i.rotated.icon, -i.right.rotated.icon, -i.clockwise.rotated.icon { - transform: rotate(90deg); -} - -i.left.rotated.icon, -i.counterclockwise.rotated.icon { - transform: rotate(-90deg); -} - -/*------------------- - Bordered ---------------------*/ - -i.bordered.icon { - width: @borderedSize; - height: @borderedSize; - - padding: @borderedVerticalPadding @borderedHorizontalPadding !important; - box-shadow: @borderedShadow; - - vertical-align: baseline; -} -i.bordered.inverted.icon { - border: none; - box-shadow: none; -} - -/*------------------- - Colors ---------------------*/ - -i.white.icon { - color: @white !important; -} -i.black.icon { - color: @black !important; -} -i.blue.icon { - color: @blue !important; -} -i.green.icon { - color: @green !important; -} -i.orange.icon { - color: @orange !important; -} -i.pink.icon { - color: @pink !important; -} -i.purple.icon { - color: @purple !important; -} -i.red.icon { - color: @red !important; -} -i.teal.icon { - color: @teal !important; -} -i.yellow.icon { - color: @yellow !important; -} - - -/*------------------- - Inverted ---------------------*/ - -i.inverted.icon { - color: @white; -} -i.inverted.black.icon { - color: @lightBlack !important; -} -i.inverted.blue.icon { - color: @lightBlue !important; -} -i.inverted.green.icon { - color: @lightGreen !important; -} -i.inverted.orange.icon { - color: @lightOrange !important; -} -i.inverted.pink.icon { - color: @lightPink !important; -} -i.inverted.purple.icon { - color: @lightPurple !important; -} -i.inverted.red.icon { - color: @lightRed !important; -} -i.inverted.teal.icon { - color: @lightTeal !important; -} -i.inverted.yellow.icon { - color: @lightYellow !important; -} - -/* Inverted Shapes */ -i.inverted.bordered.icon, -i.inverted.circular.icon { - background-color: #222222 !important; - color: #FFFFFF !important; -} -i.inverted.bordered.black.icon, -i.inverted.circular.black.icon { - background-color: @black !important; - color: #FFFFFF !important; -} -i.inverted.bordered.blue.icon, -i.inverted.circular.blue.icon { - background-color: @blue !important; - color: #FFFFFF !important; -} -i.inverted.bordered.green.icon, -i.inverted.circular.green.icon { - background-color: @green !important; - color: #FFFFFF !important; -} -i.inverted.bordered.orange.icon, -i.inverted.circular.orange.icon { - background-color: @orange !important; - color: #FFFFFF !important; -} -i.inverted.bordered.pink.icon, -i.inverted.circular.pink.icon { - background-color: @pink !important; - color: #FFFFFF !important; -} -i.inverted.bordered.purple.icon, -i.inverted.circular.purple.icon { - background-color: @purple !important; - color: #FFFFFF !important; -} -i.inverted.bordered.red.icon, -i.inverted.circular.red.icon { - background-color: @red !important; - color: #FFFFFF !important; -} -i.inverted.bordered.teal.icon, -i.inverted.circular.teal.icon { - background-color: @teal !important; - color: #FFFFFF !important; -} -i.inverted.bordered.yellow.icon, -i.inverted.circular.yellow.icon { - background-color: @yellow !important; - color: #FFFFFF !important; -} - - -/*------------------- - Sizes ---------------------*/ - -i.small.icon { - font-size: @small; -} -i.icon { - font-size: @medium; -} -i.large.icon { - font-size: @large; - vertical-align: middle; -} -i.big.icon { - font-size: @big; - vertical-align: middle; -} -i.huge.icon { - font-size: @huge; - vertical-align: middle; -} -i.massive.icon { - font-size: @massive; - vertical-align: middle; -} - -.loadUIOverrides(); diff --git a/definitions/elements/image.less b/definitions/elements/image.less deleted file mode 100644 index acb7d4dc65..0000000000 --- a/definitions/elements/image.less +++ /dev/null @@ -1,261 +0,0 @@ -/* - * # Semantic - Image - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'image'; - -@import '../../semantic.config'; - -/******************************* - Image -*******************************/ - -.ui.image { - position: relative; - display: inline-block; - vertical-align: middle; - max-width: 100%; - background-color: @placeholderColor; -} -img.ui.image { - display: block; - background: none; -} -.ui.image img { - display: block; - max-width: 100%; - height: auto; -} - -/******************************* - States -*******************************/ - - -.ui.disabled.image { - cursor: default; - opacity: @disabledOpacity; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Inline ----------------*/ - -.ui.inline.image, -.ui.inline.image img { - display: inline-block; -} - -/*------------------ - Vertical Aligned --------------------*/ - -.ui.top.aligned.images .image, -.ui.top.aligned.image, -.ui.top.aligned.image img { - display: inline-block; - vertical-align: top; -} -.ui.middle.aligned.images .image, -.ui.middle.aligned.image, -.ui.middle.aligned.image img { - display: inline-block; - vertical-align: middle; -} -.ui.bottom.aligned.images .image, -.ui.bottom.aligned.image, -.ui.bottom.aligned.image img { - display: inline-block; - vertical-align: bottom; -} - -/*-------------- - Rounded ----------------*/ - -.ui.rounded.images .image, -.ui.rounded.images img, -.ui.rounded.image img, -.ui.rounded.image { - border-radius: @roundedBorderRadius; -} - -/*-------------- - Bordered ----------------*/ - -.ui.bordered.images .image, -.ui.bordered.images img, -.ui.bordered.image img, -img.ui.bordered.image { - border: @imageBorder; -} - -/*-------------- - Circular ----------------*/ - -.ui.circular.images, -.ui.circular.image { - overflow: hidden; -} - -.ui.circular.images .image, -.ui.circular.images img, -.ui.circular.image img, -.ui.circular.image { - -webkit-border-radius: @circularRadius; - -moz-border-radius: @circularRadius; - border-radius: @circularRadius; -} - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.images, -.ui.fluid.image, -.ui.fluid.images img, -.ui.fluid.image img { - display: block; - width: 100%; -} - - -/*-------------- - Avatar ----------------*/ - -.ui.avatar.images .image, -.ui.avatar.images img, -.ui.avatar.image img, -.ui.avatar.image { - margin-right: @avatarMargin; - - display: inline-block; - width: @avatarSize; - height: @avatarSize; - - -webkit-border-radius: @circularRadius; - -moz-border-radius: @circularRadius; - border-radius: @circularRadius; -} - - -/*------------------- - Floated ---------------------*/ - -.ui.floated.image, -.ui.floated.images { - float: left; - margin-right: @floatedHorizontalMargin; - margin-bottom: @floatedVerticalMargin; -} -.ui.right.floated.images, -.ui.right.floated.image { - float: right; - margin-right: 0em; - margin-bottom: @floatedVerticalMargin; - margin-left: @floatedHorizontalMargin; -} - -.ui.floated.images:last-child, -.ui.floated.image:last-child { - margin-bottom: 0em; -} - - -.ui.centered.images, -.ui.centered.image { - margin-left: auto; - margin-right: auto; -} - -/*-------------- - Sizes ----------------*/ - -.ui.mini.images .image, -.ui.mini.images img, -.ui.mini.image { - width: @miniWidth; - font-size: @mini; -} -.ui.tiny.images .image, -.ui.tiny.images img, -.ui.tiny.image { - width: @tinyWidth; - font-size: @tiny; -} -.ui.small.images .image, -.ui.small.images img, -.ui.small.image { - width: @smallWidth; - font-size: @small; -} -.ui.medium.images .image, -.ui.medium.images img, -.ui.medium.image { - width: @mediumWidth; - font-size: @medium; -} -.ui.large.images .image, -.ui.large.images img, -.ui.large.image { - width: @largeWidth; - font-size: @large; -} -.ui.big.images .image, -.ui.big.images img, -.ui.big.image { - width: @bigWidth; - font-size: @big; -} -.ui.huge.images .image, -.ui.huge.images img, -.ui.huge.image { - width: @hugeWidth; - font-size: @huge; -} -.ui.massive.images .image, -.ui.massive.images img, -.ui.massive.image { - width: @massiveWidth; - font-size: @massive; -} - -/******************************* - Groups -*******************************/ - -.ui.images { - font-size: 0em; - margin: 0em -@imageHorizontalMargin 0rem; -} - -.ui.images .image, -.ui.images img { - display: inline-block; - margin: 0em @imageHorizontalMargin @imageVerticalMargin; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/elements/input.less b/definitions/elements/input.less deleted file mode 100644 index 630cb65e6b..0000000000 --- a/definitions/elements/input.less +++ /dev/null @@ -1,407 +0,0 @@ -/* - * # Semantic - Input - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'input'; - -@import '../../semantic.config'; - - -/******************************* - Standard -*******************************/ - - -/*-------------------- - Inputs ----------------------*/ - -.ui.input { - display: inline-block; - position: relative; - color: @inputColor; -} -.ui.input input { - margin: 0em; - width: 100%; - outline: none; - text-align: @textAlign; - line-height: @lineHeight; - - font-family: @pageFont; - padding: @padding; - - background: @background; - border: @border; - color: @inputColor; - border-radius: @borderRadius; - transition: @transition; - - box-shadow: @boxShadow; - box-sizing: border-box; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -} - - -/*-------------------- - Placeholder ----------------------*/ - -/* browsers require these rules separate */ -.ui.input input::-webkit-input-placeholder { - color: @placeholderColor; -} -.ui.input input::-moz-placeholder { - color: @placeholderColor; -} - - -/******************************* - States -*******************************/ - -/*-------------------- - Active ----------------------*/ - -.ui.input input:active, -.ui.input.down input { - border-color: @downBorderColor; - background: @downBackground; - color: @downColor; - box-shadow: @downBoxShadow; -} - -/*-------------------- - Loading ----------------------*/ - -.ui.loading.input > .icon { - background: url(@loadingImage) no-repeat 50% 50%; -} -.ui.loading.input > .icon:before, -.ui.loading.input > .icon:after { - display: none; -} - -/*-------------------- - Focus ----------------------*/ - -.ui.input.focus input, -.ui.input input:focus { - border-color: @focusBorderColor; - background: @focusBackground; - color: @focusColor; - box-shadow: @focusBoxShadow; -} -.ui.input.focus input input::-webkit-input-placeholder, -.ui.input input:focus input::-webkit-input-placeholder { - color: @placeholderFocusColor; -} -.ui.input.focus input input::-moz-placeholder, -.ui.input input:focus input::-moz-placeholder { - color: @placeholderFocusColor; -} - - -/*-------------------- - Error ----------------------*/ - -.ui.input.error input { - background-color: @errorBackground; - border-color: @errorBorder; - color: @errorColor; - box-shadow: @errorBoxShadow; -} - -/* Error Placeholder */ -.ui.input.error input ::-webkit-input-placeholder { - color: @placeholderErrorColor; -} -.ui.input.error input ::-moz-placeholder { - color: @placeholderErrorColor; -} - -/* Focused Error Placeholder */ -.ui.input.error input :focus::-webkit-input-placeholder { - color: @placeholderErrorFocusColor; -} -.ui.input.error input :focus::-moz-placeholder { - color: @placeholderErrorFocusColor; -} - -/******************************* - Variations -*******************************/ - -/*-------------------- - Transparent ----------------------*/ - -.ui.transparent.input input { - border-color: transparent; - background-color: transparent; - padding: 0em; -} - -/*-------------------- - Icon ----------------------*/ - -.ui.icon.input > .icon { - cursor: default; - position: absolute; - opacity: @iconOpacity; - top: 0px; - right: 0px; - - margin: 0em; - width: @iconWidth; - height: 100%; - - text-align: center; - - border-radius: 0em @borderRadius @borderRadius 0em; - box-sizing: border-box; - transition: @iconTransition; -} -.ui.icon.input > .icon:before, -.ui.icon.input > .icon:after { - left: 0; - position: absolute; - text-align: center; - top: 50%; - width: 100%; - margin-top: @iconOffset; -} -.ui.icon.input > .link.icon { - cursor: pointer; -} -.ui.icon.input input { - padding-right: @iconMargin !important; -} -.ui.icon.input > .circular.icon { - top: @circularIconVerticalOffset; - right: @circularIconHorizontalOffset; -} - -/* Left Icon Input */ -.ui[class*="left icon"].input > .icon { - right: auto; - left: @borderWidth; - border-radius: @borderRadius 0em 0em @borderRadius; -} -.ui[class*="left icon"].input > .circular.icon { - right: auto; - left: @circularIconHorizontalOffset; -} -.ui[class*="left icon"].input > input { - padding-left: @iconMargin !important; - padding-right: @horizontalPadding !important; -} - -/* Transparent Icon */ -.ui.transparent.icon.input > .icon { - width: @transparentIconWidth; -} -.ui.transparent.icon.input > input { - padding-left: 0em !important; - padding-right: @transparentIconMargin !important; -} -.ui.transparent[class*="left icon"].input > input { - padding-left: 0em !important; - padding-left: @transparentIconMargin !important; -} - -/* Focus */ -.ui.icon.input > input:focus ~ .icon { - opacity: 1; -} - -/*-------------------- - Labeled ----------------------*/ - - -/* Adjacent Label */ -.ui.labeled.input { - display: table; -} -.ui.labeled.input > input { - display: table-cell; - vertical-align: top; -} -.ui.labeled.input > .label { - display: table-cell; - vertical-align: middle; - white-space: nowrap; - font-size: 1em; -} -.ui.labeled.input > .label > .icon { - display: inline; - vertical-align: top; -} - -/* Fluid Labeled */ -.ui.fluid.labeled.input { - display: table; - width: 100%; -} -.ui.fluid.labeled.input > .label { - width: 0.01%; -} - -/* Label on Left */ -.ui.labeled.input:not([class*="corner labeled"]):not([class*="right labeled"]) > input { - border-left: none; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} -.ui.labeled.input:not([class*="corner labeled"]):not([class*="right labeled"]) > .label { - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; -} - -/* Label on Right */ -.ui[class*="right labeled"].input > input { - border-right: none; - border-top-right-radius: 0px !important; - border-bottom-right-radius: 0px !important; -} -.ui[class*="right labeled"].input > .label { - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} - - -/* Corner Label */ -.ui.labeled.input .corner.label { - top: @labelCornerTop; - right: @labelCornerRight; - font-size: @labelCornerSize; - border-radius: 0em @borderRadius 0em 0em; -} -.ui.labeled.input input { - padding-right: @labeledMargin !important; -} - -/* Spacing with corner label */ -.ui[class*="corner labeled"].input { - display: inline-block; -} -.ui[class*="corner labeled"].input > input { - display: block; -} -.ui[class*="corner labeled"].icon.input:not(.left) > input { - padding-right: @labeledIconInputMargin !important; -} -.ui[class*="corner labeled"].icon.input:not(.left) > .icon { - margin-right: @labeledIconMargin; -} - -/*-------------------- - Action ----------------------*/ - -.ui.action.input { - display: table; -} - -.ui.action.input > input { - display: table-cell; - vertical-align: top; -} -.ui.action.input > .button, -.ui.action.input > .buttons { - display: table-cell; - vertical-align: middle; - white-space: nowrap; -} -.ui.action.input > .button > .icon, -.ui.action.input > .buttons > .button > .icon { - display: inline; - vertical-align: top; -} - -.ui.fluid.action.input { - display: table; - width: 100%; -} -.ui.fluid.action.input > .button { - width: 0.01%; -} - -/* Button on Right */ -.ui.action.input:not([class*="left action"]) > input { - border-right: none; - border-top-right-radius: 0px !important; - border-bottom-right-radius: 0px !important; -} -.ui.action.input:not([class*="left action"]) > .button, -.ui.action.input:not([class*="left action"]) > .buttons { - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} - -/* Button on Left */ -.ui[class*="left action"].input > .button, -.ui[class*="left action"].input > .buttons { - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; -} -.ui[class*="left action"].input > input { - border-left: none; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; -} - -/*-------------------- - Fluid ----------------------*/ - -.ui.fluid.input { - display: block; -} - - -/*-------------------- - Size ----------------------*/ - -.ui.mini.input { - font-size: 0.8125em; -} -.ui.small.input { - font-size: 0.875em; -} -.ui.input { - font-size: 1em; -} -.ui.large.input { - font-size: 1.125em; -} -.ui.big.input { - font-size: 1.25em; -} -.ui.huge.input { - font-size: 1.375em; -} -.ui.massive.input { - font-size: 1.5rem; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/elements/label.less b/definitions/elements/label.less deleted file mode 100644 index 1a166c30b2..0000000000 --- a/definitions/elements/label.less +++ /dev/null @@ -1,964 +0,0 @@ -/* - * # Semantic - Label - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'label'; - -@import '../../semantic.config'; - - -/******************************* - Label -*******************************/ - -.ui.label { - display: inline-block; - vertical-align: @verticalAlign; - line-height: 1; - - margin: @verticalMargin @horizontalMargin; - - background-color: @backgroundColor; - border-color: @backgroundColor; - - background-image: @backgroundImage; - - padding: @verticalPadding @horizontalPadding; - color: @labelTextColor; - - text-transform: @textTransform; - font-weight: @fontWeight; - - border-radius: @borderRadius; - box-sizing: border-box; - transition: - background 0.1s linear - ; -} - -.ui.label:first-child { - margin-left: 0em; -} -.ui.label:last-child { - margin-right: 0em; -} - - -/* Link */ -a.ui.label { - cursor: pointer; -} - -/* Inside Link */ -.ui.label a { - cursor: pointer; - color: inherit; - opacity: @linkOpacity; - transition: @labelTransitionDuration opacity @labelTransitionEasing; -} -.ui.label a:hover { - opacity: 1; -} - -/* Icon */ -.ui.label .icon { - width: auto; - margin: 0em @iconDistance 0em 0em; -} -/* Detail */ -.ui.label .detail { - display: inline-block; - vertical-align: top; - font-weight: @detailFontWeight; - margin-left: @detailMargin; - opacity: @detailOpacity; -} -.ui.label .detail .icon { - margin: 0em @detailIconDistance 0em 0em; -} - - -/* Removable label */ -.ui.label .close.icon, -.ui.label .delete.icon { - cursor: pointer; - margin-right: 0em; - margin-left: @deleteMargin; - opacity: @linkOpacity; - transition: - background 0.1s linear - ; -} -.ui.label .delete.icon:hover { - opacity: 1; -} - -/*------------------- - Group ---------------------*/ - -.ui.labels .label { - margin: 0em @groupHorizontalMargin @groupVerticalMargin 0em; -} - - -/*------------------- - Coupling ---------------------*/ - -/* Padding on next content after a label */ -.ui.top.attached.label:first-child + :not(.attached) { - margin-top: @attachedSegmentPadding !important; -} -.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) { - margin-top: 0em; - margin-bottom: @attachedSegmentPadding !important; -} - - -/******************************* - Types -*******************************/ - -.ui.image.label { - width: auto !important; - margin-top: 0em; - margin-bottom: 0em; - max-width: 9999px; - vertical-align: baseline; - text-transform: none; - - background: @imageLabelBackground; - padding: @imageLabelPadding; - border-radius: @imageLabelBorderRadius; - box-shadow: @imageLabelBoxShadow; -} - -.ui.image.label img { - display: inline-block; - vertical-align: top; - - height: @imageLabelImageHeight; - margin: @imageLabelImageMargin; - border-radius: @imageLabelBorderRadius; -} - -.ui.image.label .detail { - background: @imageLabelDetailBackground; - margin: @imageLabelDetailMargin; - padding: @imageLabelDetailPadding; - border-radius: 0em @imageLabelBorderRadius @imageLabelBorderRadius 0em; -} - -/*------------------- - Tag ---------------------*/ - -.ui.tag.labels .label, -.ui.tag.label { - margin-left: 1em; - position: relative; - padding-left: @tagHorizontalPadding; - padding-right: @tagHorizontalPadding; - - border-radius: 0em @borderRadius @borderRadius 0em; -} -.ui.tag.labels .label:before, -.ui.tag.label:before { - position: absolute; - top: @tagTriangleTopOffset; - right: @tagTriangleRightOffset; - content: ''; - - background-color: @backgroundColor; - background-image: @backgroundImage; - - width: @tagTriangleSize; - height: @tagTriangleSize; - - transform: translateY(-50%) translateX(50%) rotate(-45deg); - transition: - background 0.1s linear - ; -} - - -.ui.tag.labels .label:after, -.ui.tag.label:after { - position: absolute; - content: ''; - top: 50%; - left: -(@tagCircleSize / 2); - - margin-top: -(@tagCircleSize / 2); - background-color: @tagCircleColor !important; - width: @tagCircleSize; - height: @tagCircleSize; - - box-shadow: @tagCircleBoxShadow; - border-radius: @circularRadius; -} - - -/*------------------- - Corner Label ---------------------*/ - -.ui.corner.label { - position: absolute; - top: 0em; - right: 0em; - z-index: 10; - margin: 0em; - - width: @cornerTriangleSize; - height: @cornerTriangleSize; - padding: 0em; - - text-align: center; - transition: color @labelTransitionDuration @labelTransitionEasing; -} - -/* Icon Label */ -.ui.corner.label{ - background-color: transparent !important; -} -.ui.corner.label:after { - position: absolute; - content: ""; - right: 0em; - top: 0em; - z-index: -1; - - width: 0em; - height: 0em; - background-color: transparent !important; - - border-top: 0em solid transparent; - border-right: @cornerTriangleSize solid transparent; - border-bottom: @cornerTriangleSize solid transparent; - border-left: 0em solid transparent; - - border-right-color: inherit; - transition: border-color @labelTransitionDuration @labelTransitionEasing; -} - -.ui.corner.label .icon { - position: relative; - top: @cornerIconTopOffset; - left: @cornerIconLeftOffset; - font-size: @cornerIconSize; - margin: 0em; -} - -/* Text Label -.ui.text.corner.label { - font-weight: @cornerTextWeight; - text-align: center; - padding: 0.25em 0; - top: 1.1em; - transform: rotate(45deg); - width: 4em; - height: auto; -} -.ui.left.text.corner.label { - transform: rotate(-45deg); -} -.ui.text.corner.label:before, -.ui.text.corner.label:after { - position: absolute; - content: ''; - top: 0em; - width: 0em; - height: 0em; -} -.ui.text.corner.label:before { - left: auto; - right: 100%; - border-top: 0em solid transparent; - border-right-width: @ribbonTriangleSize; - border-right-color: inherit; - border-right-style: solid; - border-bottom: @ribbonTriangleSize solid transparent; - border-left: 0em solid transparent; -} -.ui.text.corner.label:after { - left: 100%; - right: auto; - border-top: 0em solid transparent; - border-right-width: @ribbonTriangleSize; - border-right-color: inherit; - border-right-style: solid; - border-bottom: @ribbonTriangleSize solid transparent; - border-left: 0em solid transparent; -} -*/ - -/* Left Corner */ -.ui.left.corner.label, -.ui.left.corner.label:after { - right: auto; - left: 0em; -} -.ui.left.corner.label:after { - border-top: @cornerTriangleSize solid transparent; - border-right: @cornerTriangleSize solid transparent; - border-bottom: 0em solid transparent; - border-left: 0em solid transparent; - - border-top-color: inherit; -} -.ui.left.corner.label .icon { - left: -@cornerIconLeftOffset; -} - -/* Segment */ -.ui.segment > .ui.corner.label { - top: -1px; - right: -1px; -} -.ui.segment > .ui.left.corner.label { - right: auto; - left: -1px; -} - -/* Input */ -.ui.input > .ui.corner.label { - top: 1px; - right: 1px; -} -.ui.input > .ui.right.corner.label { - right: auto; - left: 1px; -} - - -/*------------------- - Ribbon ---------------------*/ - -.ui.ribbon.label { - position: relative; - margin: 0em; - left: -@ribbonDistance; - padding-left: @ribbonDistance; - - border-radius: 0em @borderRadius @borderRadius 0em; - - border-color: @ribbonShadowColor; -} - -.ui.ribbon.label:after { - position: absolute; - content: ""; - - top: 100%; - left: 0%; - background-color: transparent !important; - - border-top: 0em solid transparent; - border-right-width: @ribbonTriangleSize; - border-right-color: inherit; - border-right-style: solid; - border-bottom: @ribbonTriangleSize solid transparent; - border-left: 0em solid transparent; - - width: 0em; - height: 0em; -} - -/*------------------- - Attached ---------------------*/ - -.ui.top.attached.label, -.ui.attached.label { - width: 100%; - position: absolute; - margin: 0em; - top: 0em; - left: 0em; - - padding: @attachedVerticalPadding @attachedHorizontalPadding; - - border-radius: @borderRadius @borderRadius 0em 0em; -} -.ui.bottom.attached.label { - top: auto; - bottom: 0em; - border-radius: 0em 0em @borderRadius @borderRadius; -} - -.ui.top.left.attached.label { - width: auto; - margin-top: 0em !important; - border-radius: @borderRadius 0em @borderRadius 0em; -} - -.ui.top.right.attached.label { - width: auto; - left: auto; - right: 0em; - border-radius: 0em @borderRadius 0em @borderRadius; -} -.ui.bottom.left.attached.label { - width: auto; - top: auto; - bottom: 0em; - border-radius: 0em 0em @borderRadius @borderRadius ; -} -.ui.bottom.right.attached.label { - top: auto; - bottom: 0em; - left: auto; - right: 0em; - width: auto; - border-radius: @borderRadius 0em @borderRadius 0em; -} - - -/******************************* - States -*******************************/ - -/*------------------- - Disabled ---------------------*/ - -.ui.label.disabled { - opacity: 0.5; -} - -/*------------------- - Hover ---------------------*/ - -a.ui.labels .label:hover, -a.ui.label:hover { - background-color: @labelHoverBackgroundColor; - border-color: @labelHoverBackgroundColor; - - background-image: @labelHoverBackgroundImage; - color: @labelHoverTextColor; -} -.ui.labels a.label:hover:before, -a.ui.label:hover:before { - background-color: @labelHoverBackgroundColor; - background-image: @labelHoverBackgroundImage; - color: @labelHoverTextColor; -} - -/*------------------- - Visible ---------------------*/ - -.ui.labels.visible .label, -.ui.label.visible { - display: inline-block !important; -} - -/*------------------- - Hidden ---------------------*/ - -.ui.labels.hidden .label, -.ui.label.hidden { - display: none !important; -} - - -/******************************* - Variations -*******************************/ - - -/*------------------- - Colors ---------------------*/ - -/*--- Black ---*/ -.ui.black.labels .label, -.ui.black.label { - background-color: @black !important; - border-color: @black !important; - color: @invertedTextColor !important; -} -.ui.labels .black.label:before, -.ui.black.labels .label:before, -.ui.black.label:before { - background-color: @black !important; -} -a.ui.black.labels .label:hover, -a.ui.black.label:hover { - background-color: @blackHover !important; - border-color: @blackHover !important; -} -.ui.labels a.black.label:hover:before, -.ui.black.labels a.label:hover:before, -a.ui.black.label:hover:before { - background-color: @blackHover !important; -} -.ui.black.corner.label, -.ui.black.corner.label:hover { - background-color: transparent !important; -} -.ui.black.ribbon.label { - border-color: @blackRibbonShadow !important; -} - -/*--- Blue ---*/ -.ui.blue.labels .label, -.ui.blue.label { - background-color: @blue !important; - border-color: @blue !important; - color: @invertedTextColor !important; -} -.ui.labels .blue.label:before, -.ui.blue.labels .label:before, -.ui.blue.label:before { - background-color: @blue !important; -} -a.ui.blue.labels .label:hover, -.ui.blue.labels a.label:hover, -a.ui.blue.label:hover { - background-color: @blueHover !important; - border-color: @blueHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.blue.label:hover:before, -.ui.blue.labels a.label:hover:before, -a.ui.blue.label:hover:before { - background-color: @blueHover !important; -} -.ui.blue.corner.label, -.ui.blue.corner.label:hover { - background-color: transparent !important; -} -.ui.blue.ribbon.label { - border-color: @blueRibbonShadow !important; -} - -/*--- Green ---*/ -.ui.green.labels .label, -.ui.green.label { - background-color: @green !important; - border-color: @green !important; - color: @invertedTextColor !important; -} -.ui.labels .green.label:before, -.ui.green.labels .label:before, -.ui.green.label:before { - background-color: @green !important; -} - -a.ui.green.labels .label:hover, -a.ui.green.label:hover { - background-color: @greenHover !important; - border-color: @greenHover !important; -} -.ui.labels a.green.label:hover:before, -.ui.green.labels a.label:hover:before, -a.ui.green.label:hover:before { - background-color: @greenHover !important; -} - -.ui.green.corner.label, -.ui.green.corner.label:hover { - background-color: transparent !important; -} -.ui.green.ribbon.label { - border-color: @greenRibbonShadow !important; -} - -/*--- Orange ---*/ -.ui.orange.labels .label, -.ui.orange.label { - background-color: @orange !important; - border-color: @orange !important; - color: @invertedTextColor !important; -} -.ui.labels .orange.label:before, -.ui.orange.labels .label:before, -.ui.orange.label:before { - background-color: @orange !important; -} -a.ui.orange.labels .label:hover, -.ui.orange.labels a.label:hover, -a.ui.orange.label:hover { - background-color: @orangeHover !important; - border-color: @orangeHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.orange.label:hover:before, -.ui.orange.labels a.label:hover:before, -a.ui.orange.label:hover:before { - background-color: @orangeHover !important; -} -.ui.orange.corner.label, -.ui.orange.corner.label:hover { - background-color: transparent !important; -} -.ui.orange.ribbon.label { - border-color: @orangeRibbonShadow !important; -} - -/*--- Pink ---*/ -.ui.pink.labels .label, -.ui.pink.label { - background-color: @pink !important; - border-color: @pink !important; - color: @invertedTextColor !important; -} -.ui.labels .pink.label:before, -.ui.pink.labels .label:before, -.ui.pink.label:before { - background-color: @pink !important; -} -a.ui.pink.labels .label:hover, -.ui.pink.labels a.label:hover, -a.ui.pink.label:hover { - background-color: @pinkHover !important; - border-color: @pinkHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.pink.label:hover:before, -.ui.pink.labels a.label:hover:before, -a.ui.pink.label:hover:before { - background-color: @pinkHover !important; -} -.ui.pink.corner.label, -.ui.pink.corner.label:hover { - background-color: transparent !important; -} -.ui.pink.ribbon.label { - border-color: @pinkRibbonShadow !important; -} - -/*--- Purple ---*/ -.ui.purple.labels .label, -.ui.purple.label { - background-color: @purple !important; - border-color: @purple !important; - color: @invertedTextColor !important; -} -.ui.labels .purple.label:before, -.ui.purple.labels .label:before, -.ui.purple.label:before { - background-color: @purple !important; -} -a.ui.purple.labels .label:hover, -.ui.purple.labels a.label:hover, -a.ui.purple.label:hover { - background-color: @purpleHover !important; - border-color: @purpleHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.purple.label:hover:before, -.ui.purple.labels a.label:hover:before, -a.ui.purple.label:hover:before { - background-color: @purpleHover !important; -} -.ui.purple.corner.label, -.ui.purple.corner.label:hover { - background-color: transparent !important; -} -.ui.purple.ribbon.label { - border-color: @purpleRibbonShadow !important; -} - -/*--- Red ---*/ -.ui.red.labels .label, -.ui.red.label { - background-color: @red !important; - border-color: @red !important; - color: @invertedTextColor !important; -} -.ui.labels .red.label:before, -.ui.red.labels .label:before, -.ui.red.label:before { - background-color: @red !important; -} -.ui.red.corner.label, -.ui.red.corner.label:hover { - background-color: transparent !important; -} - -a.ui.red.labels .label:hover, -a.ui.red.label:hover{ - background-color: @redHover !important; - border-color: @redHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.red.label:hover:before, -.ui.red.labels a.label:hover:before, -a.ui.red.label:hover:before { - background-color: @redHover !important; -} -.ui.red.ribbon.label { - border-color: @redRibbonShadow !important; -} - -/*--- Teal ---*/ -.ui.teal.labels .label, -.ui.teal.label { - background-color: @teal !important; - border-color: @teal !important; - color: @invertedTextColor !important; -} -.ui.labels .teal.label:before, -.ui.teal.labels .label:before, -.ui.teal.label:before { - background-color: @teal !important; -} -a.ui.teal.labels .label:hover, -.ui.teal.labels a.label:hover, -a.ui.teal.label:hover { - background-color: @tealHover !important; - border-color: @tealHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.teal.label:hover:before, -.ui.teal.labels a.label:hover:before, -a.ui.teal.label:hover:before { - background-color: @tealHover !important; -} -.ui.teal.corner.label, -.ui.teal.corner.label:hover { - background-color: transparent !important; -} -.ui.teal.ribbon.label { - border-color: @tealRibbonShadow !important; -} - -/*--- Yellow ---*/ -.ui.yellow.labels .label, -.ui.yellow.label { - background-color: @yellow !important; - border-color: @yellow !important; - color: @invertedTextColor !important; -} -.ui.labels .yellow.label:before, -.ui.yellow.labels .label:before, -.ui.yellow.label:before { - background-color: @yellow !important; -} -a.ui.yellow.labels .label:hover, -.ui.yellow.labels a.label:hover, -a.ui.yellow.label:hover { - background-color: @yellowHover !important; - border-color: @yellowHover !important; - color: @invertedTextColor !important; -} -.ui.labels a.yellow.label:hover:before, -.ui.yellow.labels a.label:hover:before, -a.ui.yellow.label:hover:before { - background-color: @yellowHover !important; -} -.ui.yellow.corner.label, -.ui.yellow.corner.label:hover { - background-color: transparent !important; -} -.ui.yellow.ribbon.label { - border-color: @yellowRibbonShadow !important; -} - -/*------------------- - Fluid ---------------------*/ - -.ui.label.fluid, -.ui.fluid.labels > .label { - width: 100%; - box-sizing: border-box; -} - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.labels .label, -.ui.inverted.label { - color: @invertedTextColor !important; -} - -/*------------------- - Horizontal ---------------------*/ - -.ui.horizontal.labels .label, -.ui.horizontal.label { - margin: 0em @horizontalLabelMargin 0em 0em; - - padding: @horizontalLabelVerticalPadding @horizontalPadding; - min-width: @horizontalLabelMinWidth; - text-align: center; -} - - -/*------------------- - Circular ---------------------*/ - -.ui.circular.labels .label, -.ui.circular.label { - min-width: @circularMinSize; - min-height: @circularMinSize; - - padding: @circularPadding !important; - - line-height: 1em; - text-align: center; - border-radius: @circularRadius; -} -.ui.empty.circular.labels .label, -.ui.empty.circular.label { - min-width: 0em; - min-height: 0em; - overflow: hidden; - width: @emptyCircleSize; - height: @emptyCircleSize; - vertical-align: baseline; -} - -/*------------------- - Pointing ---------------------*/ - -.ui.pointing.label { - position: relative; -} -.ui.attached.pointing.label { - position: absolute; -} - -.ui.pointing.label:before { - position: absolute; - content: ''; - - width: @pointingTriangleSize; - height: @pointingTriangleSize; - - background-image: none; - - transform: rotate(45deg); - z-index: 2; - transition: - background 0.1s linear - ; -} -/*--- Above ---*/ -.ui.pointing.label:before { - background-color: @backgroundColor; - background-image: @backgroundImage; -} -.ui.pointing.label, -.ui.pointing.above.label { - margin-top: 1em; -} -.ui.pointing.label:before, -.ui.pointing.above.label:before { - margin-left: -@pointingTriangleOffset; - top: -@pointingTriangleOffset; - left: 50%; -} -/*--- Below ---*/ -.ui.pointing.bottom.label, -.ui.pointing.below.label { - margin-top: 0em; - margin-bottom: 1em; -} -.ui.pointing.bottom.label:before, -.ui.pointing.below.label:before { - margin-left: -@pointingTriangleOffset; - top: auto; - right: auto; - bottom: -@pointingTriangleOffset; - left: 50%; -} -/*--- Left ---*/ -.ui.pointing.left.label { - margin-top: 0em; - margin-left: 1em; -} -.ui.pointing.left.label:before { - margin-top: -@pointingTriangleOffset; - bottom: auto; - right: auto; - top: 50%; - left: 0em; -} -/*--- Right ---*/ -.ui.pointing.right.label { - margin-top: 0em; - margin-right: 1em; -} -.ui.pointing.right.label:before { - margin-top: -@pointingTriangleOffset; - right: -@pointingTriangleOffset; - top: 50%; - bottom: auto; - left: auto; -} - -/*------------------ - Floating Label --------------------*/ - -.ui.floating.label { - position: absolute; - z-index: 100; - top: @floatingTopOffset; - left: 100%; - margin: 0em 0em 0em @floatingLeftOffset !important; -} - -/*------------------- - Sizes ---------------------*/ - -.ui.mini.labels .label, -.ui.mini.label { - font-size: @mini; -} -.ui.tiny.labels .label, -.ui.tiny.label { - font-size: @tiny; -} -.ui.small.labels .label, -.ui.small.label { - font-size: @small; -} -.ui.labels .label, -.ui.label { - font-size: @medium; -} -.ui.large.labels .label, -.ui.large.label { - font-size: @large; -} -.ui.big.labels .label, -.ui.big.label { - font-size: @big; -} -.ui.huge.labels .label, -.ui.huge.label { - font-size: @huge; -} -.ui.massive.labels .label, -.ui.massive.label { - font-size: @massive; -} - -.loadUIOverrides(); diff --git a/definitions/elements/list.less b/definitions/elements/list.less deleted file mode 100644 index 0eb6d93c7a..0000000000 --- a/definitions/elements/list.less +++ /dev/null @@ -1,744 +0,0 @@ - /* - * # Semantic - List - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'list'; - -@import '../../semantic.config'; - -/******************************* - List -*******************************/ - -ul.ui.list, -ol.ui.list, -.ui.list { - list-style-type: @listStyleType; - margin: @margin; - padding: @verticalPadding @horizontalPadding; -} - -ul.ui.list:first-child, -ol.ui.list:first-child, -.ui.list:first-child { - margin-top: 0em; - padding-top: 0em; -} - -ul.ui.list:last-child, -ol.ui.list:last-child, -.ui.list:last-child { - margin-bottom: 0em; - padding-bottom: 0em; -} - -/******************************* - Content -*******************************/ - -/* List Item */ -ul.ui.list li, -ol.ui.list li, -.ui.list .item { - display: list-item; - table-layout: fixed; - list-style-type: @listStyleType; - list-style-position: @listStylePosition; - - padding: @itemVerticalPadding @itemHorizontalPadding; - line-height: @itemLineHeight; -} - -ul.ui.list > li:first-child:after, -ol.ui.list > li:first-child:after, -.ui.list .item:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden; -} - -ul.ui.list li:first-child, -ol.ui.list li:first-child, -.ui.list .item:first-child { - padding-top: 0em; -} -ul.ui.list li:last-child, -ol.ui.list li:last-child, -.ui.list .item:last-child { - padding-bottom: 0em; -} - -/* Child List */ -ul.ui.list ul, -ol.ui.list ol, -.ui.list .list { - clear: both; - margin: 0em; - padding: @childListPadding; -} - -/* Icon */ -.ui.list .item > .icon { - display: table-cell; - margin: 0em; - padding-top: @iconOffset; - padding-right: @iconDistance; - vertical-align: @iconContentVerticalAlign; - transition: @iconTransition; -} -.ui.list .item > [class*="top aligned"].icon { - vertical-align: top; -} -.ui.list .item > .icon:only-child { - display: inline-block; - vertical-align: @iconVerticalAlign; -} - - -/* Image */ -.ui.list .item > .image { - display: table-cell; - background-color: transparent; - margin: 0em; - padding-right: @imageDistance; - vertical-align: @imageAlign; -} -.ui.list .item > [class*="top aligned"].image { - vertical-align: top; -} -.ui.list .item > .image img { - vertical-align: @imageAlign; -} -.ui.list .item > img.image, -.ui.list .item > .image:only-child { - display: inline-block; - padding-right: 0em; -} - -/* Content */ -.ui.list .item > .content { - line-height: @contentLineHeight; -} -.ui.list .item > .image + .content, -.ui.list .item > .icon + .content { - display: table-cell; - padding-left: @contentDistance; - vertical-align: @contentVerticalAlign; -} -.ui.list .item > .image + .content, -.ui.list .item > .icon + .content { - display: table-cell; - padding-left: @contentDistance; - vertical-align: @contentVerticalAlign; -} -.ui.list .item > img.image + .content { - display: inline-block; -} -.ui.list .item > .content > .list { - margin-left: 0em; - padding-left: 0em; -} - -/* Link */ -.ui.list a { - cursor: pointer; - color: @itemLinkColor; -} -.ui.list a:hover { - color: @itemLinkHoverColor; -} -.ui.list a .icon { - color: @itemLinkIconColor; -} - -/* Header */ -.ui.list .header { - display: block; - margin: 0em; - font-family: @itemHeaderFontFamily; - font-weight: @itemHeaderFontWeight; - color: @itemHeaderColor; -} -.ui.list .description { - display: block; - color: @itemDescriptionColor; -} - -/* Floated Content */ -.ui.list .item > .left.floated { - float: left; - margin-right: @floatMargin; -} -.ui.list .item > .right.floated { - float: right; - margin-left: @floatMargin; -} - -/******************************* - Coupling -*******************************/ - -.ui.menu .ui.list .item:before { - border: none; - background: none; -} - - -/******************************* - Types -*******************************/ - -/*------------------- - Horizontal ---------------------*/ - -.ui.horizontal.list { - display: inline-block; - font-size: 0em; -} -.ui.horizontal.list > .item { - display: inline-block; - margin-left: @horizontalSpacing; - font-size: 1rem; -} -.ui.horizontal.list > .item:first-child { - margin-left: 0em !important; - padding-left: 0em !important; -} -.ui.horizontal.list .list { - padding-left: 0em; - padding-bottom: 0em; -} - -/* Padding on all elements */ -.ui.horizontal.list > .item:first-child, -.ui.horizontal.list > .item:last-child { - padding-top: @itemVerticalPadding; - padding-bottom: @itemVerticalPadding; -} - -/* Horizontal List */ -.ui.horizontal.list .item > .icon { - margin: 0em; - padding: 0em @horizontalIconDistance 0em 0em; -} -.ui.horizontal.list .item > .icon, -.ui.horizontal.list .item > .icon + .content { - float: none; - display: inline-block; -} - - -/******************************* - States -*******************************/ - -/*------------------- - Disabled ---------------------*/ - -.ui.list .disabled.item { - pointer-events: none; - color: @disabledColor !important; -} -.ui.inverted.list .disabled.item { - color: @invertedDisabledColor !important; -} - -/*------------------- - Hover ---------------------*/ - -.ui.list a:hover .icon { - color: @itemLinkIconHoverColor; -} - - -/******************************* - Variations -*******************************/ - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.list a .icon { - color: @invertedIconLinkColor; -} -.ui.inverted.list .header { - color: @invertedHeaderColor; -} -.ui.inverted.list .description { - color: @invertedDescriptionColor; -} - -/*------------------- - Link ---------------------*/ - -.ui.link.list .item, -.ui.link.list a.item, -.ui.link.list .item a { - color: @linkListItemColor; - transition: @linkListTransition; -} -.ui.link.list a.item:hover, -.ui.link.list .item a:hover { - color: @linkListItemHoverColor; -} -.ui.link.list a.item:active, -.ui.link.list .item a:active { - color: @linkListItemDownColor; -} -.ui.link.list .active.item, -.ui.link.list .active.item a { - color: @linkListItemActiveColor; -} - -/* Inverted */ -.ui.inverted.link.list .item, -.ui.inverted.link.list a.item, -.ui.inverted.link.list .item a { - color: @invertedLinkListItemColor; -} -.ui.inverted.link.list a.item:hover, -.ui.inverted.link.list .item a:hover { - color: @invertedLinkListItemHoverColor; -} -.ui.inverted.link.list a.item:active, -.ui.inverted.link.list .item a:active { - color: @invertedLinkListItemDownColor; -} -.ui.inverted.link.list a.active.item, -.ui.inverted.link.list .active.item a { - color: @invertedLinkListItemActiveColor; -} - -/*------------------- - Selection ---------------------*/ - -.ui.selection.list .item { - cursor: pointer; - background: @selectionListBackground; - padding: @selectionListItemVerticalPadding @selectionListItemHorizontalPadding; - margin: @selectionListItemMargin; - color: @selectionListColor; - border-radius: @selectionListItemBorderRadius; - transition: @selectionListTransition; -} -.ui.selection.list .item:last-child { - margin-bottom: 0em; -} -.ui.selection.list .item:hover { - background: @selectionListHoverBackground; - color: @selectionListHoverColor; -} -.ui.selection.list .item:active { - background: @selectionListDownBackground; - color: @selectionListDownColor; -} -.ui.selection.list .item.active { - background: @selectionListActiveBackground; - color: @selectionListActiveColor; -} - -/* Inverted */ -.ui.inverted.selection.list .item { - background: @invertedSelectionListBackground; - color: @invertedSelectionListColor; -} -.ui.inverted.selection.list .item:hover { - background: @invertedSelectionListHoverBackground; - color: @invertedSelectionListHoverColor; -} -.ui.inverted.selection.list .item:active { - background: @invertedSelectionListDownBackground; - color: @invertedSelectionListDownColor; -} -.ui.inverted.selection.list .item.active { - background: @invertedSelectionListActiveBackground; - color: @invertedSelectionListActiveColor; -} - -/* Celled / Divided Selection List */ -.ui.celled.selection.list .item, -.ui.divided.selection.list .item { - border-radius: 0em; -} - -/*------------------- - Animated ---------------------*/ - -.ui.animated.list .item { - transition: @animatedListTransition; -} -.ui.animated.list:not(.horizontal) .item:hover { - padding-left: @animatedListIndent; -} -.ui.animated.list:not(.horizontal) .item:hover .item:hover { - padding-left: @animatedListChildIndent; -} - - -/*------------------- - Fitted ---------------------*/ - -.ui.fitted.list:not(.selection) .item { - padding-left: 0em; - padding-right: 0em; -} - -.ui.fitted.selection.list .item { - margin-left: -@selectionListItemHorizontalPadding; - margin-right: -@selectionListItemHorizontalPadding; -} - -/*------------------- - Bulleted ---------------------*/ - -ul.ui.list, -.ui.bulleted.list { - margin-left: @bulletDistance; -} -ul.ui.list li, -.ui.bulleted.list .item { - position: relative; -} -ul.ui.list li:before, -.ui.bulleted.list .item:before { - position: absolute; - left: @bulletOffset; - content: @bulletCharacter; - opacity: @bulletOpacity; - color: @bulletColor; - vertical-align: @bulletVerticalAlign; -} - -ul.ui.list ul, -.ui.bulleted.list .list { - padding-left: @bulletChildDistance; -} - -/* Horizontal Bulleted */ -ul.ui.horizontal.bulleted.list, -.ui.horizontal.bulleted.list { - margin-left: 0em; -} -ul.ui.horizontal.bulleted.list li, -.ui.horizontal.bulleted.list .item { - margin-left: @horizontalBulletSpacing; -} -ul.ui.horizontal.bulleted.list li:before, -.ui.horizontal.bulleted.list .item:before { - left: @horizontalBulletOffset; -} -ul.ui.horizontal.bulleted.list li:first-child, -.ui.horizontal.bulleted.list .item:first-child { - margin-left: 0em; -} -ul.ui.horizontal.bulleted.list li:first-child::before, -.ui.horizontal.bulleted.list .item:first-child::before { - display: none; -} - -/*------------------- - Ordered ---------------------*/ - -ol.ui.list, -.ui.ordered.list, -.ui.ordered.list .list, -ol.ui.list ol { - counter-reset: ordered; - margin-left: @orderedCountDistance; - list-style-type: none; -} -ol.ui.list li, -.ui.ordered.list .item { - list-style-type: none; - position: relative; -} -ol.ui.list li:before, -.ui.ordered.list .item:before { - position: absolute; - left: -(@orderedCountDistance); - counter-increment: @orderedCountName; - content: @orderedCountContent; - text-align: @orderedCountTextAlign; - color: @orderedCountColor; - vertical-align: @orderedCountVerticalAlign; - opacity: @orderedCountOpacity; -} - - -/* Child Lists */ -ol.ui.list ol, -.ui.ordered.list .list { - margin-left: @orderedChildCountDistance; -} -ol.ui.list ol li:before, -.ui.ordered.list .list .item:before { - left: @orderedChildCountOffset; -} - -/* Horizontal Ordered */ -ol.ui.horizontal.list, -.ui.ordered.horizontal.list { - margin-left: 0em; -} -ol.ui.horizontal.list li:before, -.ui.ordered.horizontal.list .item:before { - position: static; - margin: 0em @horizontalOrderedCountDistance 0em 0em; -} - - -/*------------------- - Divided ---------------------*/ - -.ui.divided.list .item { - border-top: @dividedBorder; -} -.ui.divided.list .list .item { - border-top: @dividedChildListBorder; -} -.ui.divided.list .item .menu .item { - border-top: @dividedChildItemBorder; -} -.ui.divided.list .item:first-child { - border-top: none; -} - -/* Sub Menu */ -.ui.divided.list:not(.horizontal) .list .item:first-child { - border-top-width: @dividedBorderWidth; -} - -/* Divided bulleted */ -.ui.divided.bulleted.list:not(.horizontal), -.ui.divided.bulleted.list .list { - margin-left: 0em; - padding-left: 0em; -} -.ui.divided.bulleted.list .item:not(.horizontal) { - padding-left: @bulletDistance; -} -.ui.divided.bulleted.list .item:before { - left: 0em; -} - -/* Divided Ordered */ -.ui.divided.ordered.list { - margin-left: 0em; -} -.ui.divided.ordered.list .item { - padding-left: @orderedCountDistance; -} -.ui.divided.ordered.list .item:before { - left: 0em; -} -.ui.divided.ordered.list .item .list { - margin-left: 0em; - margin-right: 0em; - padding-bottom: @itemVerticalPadding; -} -.ui.divided.ordered.list .item .list .item { - padding-left: @orderedChildCountDistance; -} - -/* Divided Selection */ -.ui.divided.selection.list .item { - margin: 0em; - border-radius: 0em; -} - -/* Divided horizontal */ -.ui.divided.horizontal.list { - margin-left: 0em; -} -.ui.divided.horizontal.list > .item { - border-top: none; - border-left: @dividedBorder; - margin: 0em; - padding-left: @horizontalDividedSpacing; - padding-right: @horizontalDividedSpacing; - line-height: @horizontalDividedLineHeight; -} -.ui.horizontal.divided.list > .item:first-child { - border-left: none; -} -/* Inverted */ -.ui.divided.inverted.list > .item, -.ui.divided.inverted.list > .list, -.ui.divided.inverted.horizontal.list .item { - border-color: @dividedInvertedBorderColor; -} - - -/*------------------- - Celled ---------------------*/ - -.ui.celled.list > .item, -.ui.celled.list > .list { - border-top: @celledBorder; - padding-left: @celledHorizontalPadding; - padding-right: @celledHorizontalPadding; -} -.ui.celled.list > .item:last-child { - border-bottom: @celledBorder; -} - -/* Padding on all elements */ -.ui.celled.list > .item:first-child, -.ui.celled.list > .item:last-child { - padding-top: @itemVerticalPadding; - padding-bottom: @itemVerticalPadding; -} - -/* Sub Menu */ -.ui.celled.list .item .list .item { - border-width: 0px; -} -.ui.celled.list .list .item:first-child { - border-top-width: 0px; -} - -/* Celled Bulleted */ -.ui.celled.bulleted.list { - margin-left: 0em; -} -.ui.celled.bulleted.list .item { - padding-left: (@bulletDistance); -} -.ui.celled.bulleted.list .item:before { - left: 0em; -} -.ui.celled.bulleted.list .item .list { - margin-left: -(@bulletDistance); - margin-right: -(@bulletDistance); - padding-bottom: @itemVerticalPadding; -} - -/* Celled Ordered */ -.ui.celled.ordered.list { - margin-left: 0em; -} -.ui.celled.ordered.list .item { - padding-left: @orderedCountDistance; -} -.ui.celled.ordered.list .item:before { - left: 0em; -} -.ui.celled.ordered.list .item .list { - margin-left: 0em; - margin-right: 0em; - padding-bottom: @itemVerticalPadding; -} -.ui.celled.ordered.list .item .list .item { - padding-left: @orderedChildCountDistance; -} - -/* Celled Horizontal */ -.ui.horizontal.celled.list { - margin-left: 0em; -} -.ui.horizontal.celled.list .item { - border-top: none; - border-left: @celledBorder; - margin: 0em; - padding-left: @horizontalCelledSpacing; - padding-right: @horizontalCelledSpacing; - - line-height: @horizontalCelledLineHeight; -} -.ui.horizontal.celled.list .item:last-child { - border-bottom: none; - border-right: @celledBorder; -} - -/* Inverted */ -.ui.celled.inverted.list > .item, -.ui.celled.inverted.list > .list { - border-color: @celledInvertedBorder; -} -.ui.celled.inverted.horizontal.list .item { - border-color: @celledInvertedBorder; -} - -/*------------------- - Relaxed ---------------------*/ - -.ui.relaxed.list:not(.horizontal) .item { - padding-top: @relaxedVerticalPadding; - padding-bottom: @relaxedVerticalPadding; -} -.ui.relaxed.list .header { - /*margin-bottom: @relaxedHeaderMargin;*/ -} -.ui.horizontal.relaxed.list .item { - padding-left: @relaxedHorizontalPadding; - padding-right: @relaxedHorizontalPadding; -} -.ui[class*="very relaxed"].list:not(.horizontal) .item { - padding-top: @veryRelaxedVerticalPadding; - padding-bottom: @veryRelaxedVerticalPadding; -} -.ui[class*="very relaxed"].list .header { - /*margin-bottom: @veryRelaxedHeaderMargin;*/ -} -.ui.horizontal[class*="very relaxed"].list .item { - padding-left: @veryRelaxedHorizontalPadding; - padding-right: @veryRelaxedHorizontalPadding; -} - -/*------------------- - Sizes ---------------------*/ - -.ui.mini.list .item { - font-size: @mini; -} -.ui.tiny.list .item { - font-size: @tiny; -} -.ui.small.list .item { - font-size: @small; -} -.ui.list .item { - font-size: @medium; -} -.ui.large.list .item { - font-size: @large; -} -.ui.big.list .item { - font-size: @big; -} -.ui.huge.list .item { - font-size: @huge; -} -.ui.massive.list .item { - font-size: @massive; -} - -.loadUIOverrides(); diff --git a/definitions/elements/loader.less b/definitions/elements/loader.less deleted file mode 100644 index 58d3bc93cb..0000000000 --- a/definitions/elements/loader.less +++ /dev/null @@ -1,260 +0,0 @@ -/* - * # Semantic - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'loader'; - -@import '../../semantic.config'; - - -/******************************* - Loader -*******************************/ - - -/* Standard Size */ -.ui.loader { - display: none; - position: absolute; - top: @loaderTopOffset; - left: @loaderLeftOffset; - margin: 0px; - text-align: center; - z-index: 1000; - transform: translateX(-50%) translateY(-50%); -} - -.ui.dimmer .loader { - display: block; -} - -.ui.dimmer .ui.loader, -.ui.inverted.loader { - color: @loaderTextColor -} - -/******************************* - Types -*******************************/ - -/*-------------- - CSS ----------------*/ - -/* Flipping */ -.ui.flipping.loader { - width: auto; - height: auto; - background-image: none !important; -} -.ui.flipping.loader .shape { - position: relative; - margin: 0em auto 1em; - color: transparent; - box-shadow: 0px 0px 0px 1px; - animation: loaderFlipping 1s infinite ease; - margin-bottom: 1em; - transform-style: preserve-3d; -} -.ui.flipping.loader .shape:before, -.ui.flipping.loader .shape:after { - position: absolute; - content: ''; - top: 0px; - left: 0px; - box-shadow: 0px 0px 0px 1px; - backface-visibility: hidden; -} -.ui.flipping.loader .shape:before { - background-color: @primaryColor; - transform: rotateY(0deg); - z-index: 2; -} -.ui.flipping.loader .shape:after { - background-color: @secondaryColor; - transform: rotateY(180deg); -} - -/* Circular */ -.ui.flipping.circular.loader .shape, -.ui.flipping.circular.loader .shape:before, -.ui.flipping.circular.loader .shape:after { - border-radius: @circularRadius; -} - -/* Sizes */ -.ui.mini.flipping.loader .shape, -.ui.mini.flipping.loader .shape:before, -.ui.mini.flipping.loader .shape:after { - width: @miniSize; - height: @miniSize; -} -.ui.flipping.loader .shape, -.ui.flipping.loader .shape:before, -.ui.flipping.loader .shape:after { - width: @mediumSize; - height: @mediumSize; -} - - -@keyframes loaderFlipping { - 0% { - transform: perspective(6em) rotateX(0deg) rotateY(0deg); - } - 50% { - transform: perspective(6em) rotateX(0deg) rotateY(-180deg); - } - 100% { - transform: perspective(6em) rotateX(0deg) rotateY(-360deg); - } -} - - -/*------------------- - Text ---------------------*/ - -.ui.text.loader { - width: auto !important; - height: auto !important; - text-align: center; - font-style: normal; -} - -.ui.mini.text.loader { - min-width: @miniSize; - padding-top: (@miniSize + @textDistance); -} -.ui.small.text.loader { - min-width: @smallSize; - padding-top: (@smallSize + @textDistance); -} -.ui.text.loader { - min-width: @mediumSize; - padding-top: (@mediumSize + @textDistance); -} -.ui.large.text.loader { - min-width: @largeSize; - padding-top: (@largeSize + @textDistance); -} - -/******************************* - States -*******************************/ - -.ui.loader.active, -.ui.loader.visible { - display: block; -} -.ui.loader.disabled, -.ui.loader.hidden { - display: none; -} - -/******************************* - Variations -*******************************/ - - -/*------------------- - Sizes ---------------------*/ - -/* Tiny Size */ -.ui.inverted.dimmer .ui.mini.loader, -.ui.mini.loader { - width: @miniSize; - height: @miniSize; - font-size: @miniFontSize; - background-image: url(@miniLoaderPath); -} - -/* Small Size */ -.ui.inverted.dimmer .ui.small.loader, -.ui.small.loader { - width: @smallSize; - height: @smallSize; - font-size: @smallFontSize; - background-image: url(@smallLoaderPath); -} - -.ui.inverted.dimmer .ui.loader, -.ui.loader { - width: @mediumSize; - height: @mediumSize; - font-size: @mediumFontSize; - background: url(@mediumLoaderPath) no-repeat; - background-position: 50% 0px; -} - -/* Large Size */ -.ui.inverted.dimmer .ui.loader.large, -.ui.loader.large { - width: @largeSize; - height: @largeSize; - font-size: @largeFontSize; - background-image: url(@largeLoaderPath); -} - - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.dimmer .ui.loader { - color: @invertedLoaderTextColor; -} - -/* Tiny Size */ -.ui.dimmer .mini.ui.loader, -.ui.inverted .mini.ui.loader { - background-image: url(@miniInvertedLoaderPath); -} - -/* Small Size */ -.ui.dimmer .small.ui.loader, -.ui.inverted .small.ui.loader { - background-image: url(@smallInvertedLoaderPath); -} - -/* Standard Size */ -.ui.dimmer .ui.loader, -.ui.inverted.loader { - background-image: url(@mediumInvertedLoaderPath); -} - -/* Large Size */ -.ui.dimmer .large.ui.loader, -.ui.inverted .large.ui.loader { - background-image: url(@largeInvertedLoaderPath); -} - -/*------------------- - Inline ---------------------*/ - -.ui.inline.loader { - position: static; - vertical-align: middle; - margin: 0em; - transform: none; -} - -.ui.inline.loader.active, -.ui.inline.loader.visible { - display: inline-block; -} - -.loadUIOverrides(); diff --git a/definitions/elements/rail.less b/definitions/elements/rail.less deleted file mode 100644 index 8b09a7c6af..0000000000 --- a/definitions/elements/rail.less +++ /dev/null @@ -1,98 +0,0 @@ - /* - * # Semantic - Rail - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'rail'; - -@import '../../semantic.config'; - -/******************************* - Rails -*******************************/ - -.ui.rail { - font-size: @size; - position: absolute; - top: 0%; - width: @width; - box-sizing: @contentSizing; -} - -.ui.left.rail { - left: auto; - right: 100%; - padding: 0em (@distance / 2) 0em 0em; - margin: 0em (@distance / 2) 0em 0em; -} - -.ui.right.rail { - left: 100%; - right: auto; - padding: 0em 0em 0em (@distance / 2); - margin: 0em 0em 0em (@distance / 2); -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Divided ----------------*/ - -.ui.left.dividing.rail { - padding: 0em (@dividedDistance / 2) 0em 0em; - margin: 0em (@dividedDistance / 2) 0em 0em; - border-right: @dividedBorder; -} -.ui.right.dividing.rail { - border-left: @dividedBorder; - padding: 0em 0em 0em (@dividedDistance / 2); - margin: 0em 0em 0em (@dividedDistance / 2); -} - -/*-------------- - Distance ----------------*/ - -.ui.close.left.rail { - padding: 0em (@closeDistance / 2) 0em 0em; - margin: 0em (@closeDistance / 2) 0em 0em; -} -.ui.close.right.rail { - padding: 0em 0em 0em (@closeDistance / 2); - margin: 0em 0em 0em (@closeDistance / 2); -} -.ui.very.close.left.rail { - padding: 0em (@veryCloseDistance / 2) 0em 0em; - margin: 0em (@veryCloseDistance / 2) 0em 0em; -} -.ui.very.close.right.rail { - padding: 0em 0em 0em (@veryCloseDistance / 2); - margin: 0em 0em 0em (@veryCloseDistance / 2); -} - - -/*-------------- - Sizing ----------------*/ - -.ui.rail { - font-size: @size; -} - - - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/elements/reveal.less b/definitions/elements/reveal.less deleted file mode 100644 index 4d6197b0c7..0000000000 --- a/definitions/elements/reveal.less +++ /dev/null @@ -1,288 +0,0 @@ -/* - * # Semantic - Reveal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'reveal'; - -@import '../../semantic.config'; - - -/******************************* - Reveal -*******************************/ - -.ui.reveal { - display: inline-block; - position: relative !important; - z-index: @bottomZIndex !important; - font-size: 0em !important; -} - -.ui.reveal > .visible.content { - position: absolute !important; - top: 0em !important; - left: 0em !important; - z-index: @topZIndex !important; - transition: all @transitionDuration @transitionEasing @transitionDelay; -} -.ui.reveal > .hidden.content { - position: relative !important; - z-index: @bottomZIndex !important; -} - - -/******************************* - Types -*******************************/ - - -/*-------------- - Slide ----------------*/ - -.ui.slide.reveal { - position: relative !important; - display: block; - overflow: hidden !important; - - white-space: nowrap; -} - -.ui.slide.reveal > .content { - display: block; - float: left; - - margin: 0em; - transition: - top @transitionDuration @transitionEasing @transitionDelay, - left @transitionDuration @transitionEasing @transitionDelay, - right @transitionDuration @transitionEasing @transitionDelay, - bottom @transitionDuration @transitionEasing @transitionDelay - ; -} -.ui.slide.reveal > .visible.content { - position: relative !important; -} -.ui.slide.reveal > .hidden.content { - position: absolute !important; - left: 100% !important; - width: 100% !important; -} -.ui.slide.reveal:hover > .visible.content { - left: -100% !important; -} -.ui.slide.reveal:hover > .hidden.content { - left: 0% !important; -} - -.ui.right.slide.reveal > .visible.content { - left: 0%; -} -.ui.right.slide.reveal > .hidden.content { - left: auto !important; - right: 100% !important; -} -.ui.right.slide.reveal:hover > .visible.content { - left: 100% !important; - right: auto !important; -} -.ui.right.slide.reveal:hover > .hidden.content { - left: auto !important; - right: 0% !important; -} - -.ui.up.slide.reveal > .visible.content { - top: 0% !important; - left: 0% !important; - right: auto !important; - bottom: auto !important; -} -.ui.up.slide.reveal > .hidden.content { - top: 100% !important; - left: 0% !important; - right: auto !important; - bottom: auto !important; -} -.ui.slide.up.reveal:hover > .visible.content { - top: -100% !important; - left: 0% !important; -} -.ui.slide.up.reveal:hover > .hidden.content { - top: 0% !important; - left: 0% !important; -} - -.ui.down.slide.reveal > .visible.content { - top: auto !important; - right: auto !important; - bottom: auto !important; - bottom: 0% !important; -} -.ui.down.slide.reveal > .hidden.content { - top: auto !important; - right: auto !important; - bottom: 100% !important; - left: 0% !important; -} -.ui.slide.down.reveal:hover > .visible.content { - left: 0% !important; - bottom: -100% !important; -} -.ui.slide.down.reveal:hover > .hidden.content { - left: 0% !important; - bottom: 0% !important; -} - - -/*-------------- - Fade ----------------*/ - -.ui.fade.reveal > .visible.content { - opacity: 1; -} -.ui.fade.reveal:hover > .visible.content { - opacity: 0; -} - - -/*-------------- - Move ----------------*/ - -.ui.move.reveal > .visible.content, -.ui.move.left.reveal > .visible.content { - left: auto !important; - top: auto !important; - bottom: auto !important; - right: 0% !important; -} -.ui.move.reveal:hover > .visible.content, -.ui.move.left.reveal:hover > .visible.content { - right: 100% !important; -} - -.ui.move.right.reveal > .visible.content { - right: auto !important; - top: auto !important; - bottom: auto !important; - left: 0% !important; -} -.ui.move.right.reveal:hover > .visible.content { - left: 100% !important; -} - -.ui.move.up.reveal > .visible.content { - right: auto !important; - left: auto !important; - top: auto !important; - - bottom: 0% !important; -} -.ui.move.up.reveal:hover > .visible.content { - bottom: 100% !important; -} - -.ui.move.down.reveal > .visible.content { - right: auto !important; - left: auto !important; - bottom: auto !important; - - top: 0% !important; - bottom: auto !important; -} -.ui.move.down.reveal:hover > .visible.content { - top: 100% !important; -} - - -/*-------------- - Rotate ----------------*/ - -.ui.rotate.reveal > .visible.content { - transition-duration: @transitionDuration; - transform: rotate(0deg); -} - -.ui.rotate.reveal > .visible.content, -.ui.rotate.right.reveal > .visible.content { - transform-origin: bottom right; -} -.ui.rotate.reveal:hover > .visible.content, -.ui.rotate.right.reveal:hover > .visible.content { - transform: rotate(@rotateDegrees); -} - -.ui.rotate.left.reveal > .visible.content { - transform-origin: bottom left; -} -.ui.rotate.left.reveal:hover > .visible.content { - transform: rotate(-@rotateDegrees); -} - -/******************************* - States -*******************************/ - -.ui.disabled.reveal { - opacity: 1 !important; -} -.ui.disabled.reveal > .content { - transition: none !important; -} -.ui.disabled.reveal:hover > .visible.content { - position: static !important; - display: block !important; - opacity: 1 !important; - top: 0 !important; - left: 0 !important; - right: auto !important; - bottom: auto !important; - transform: none !important; -} -.ui.disabled.reveal:hover > .hidden.content { - display: none !important; -} - - -/******************************* - Variations -*******************************/ - -/*-------------- - Masked ----------------*/ - -.ui.masked.reveal { - overflow: hidden; -} - -/*-------------- - Instant ----------------*/ - -.ui.instant.reveal > .content { - transition-delay: 0s !important; -} - - -/*-------------- - Sizing ----------------*/ - -.ui.reveal > .content { - font-size: @medium !important; -} \ No newline at end of file diff --git a/definitions/elements/segment.less b/definitions/elements/segment.less deleted file mode 100644 index 60c810f99d..0000000000 --- a/definitions/elements/segment.less +++ /dev/null @@ -1,492 +0,0 @@ -/* - * # Semantic - Segment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'segment'; - -@import '../../semantic.config'; - - -/******************************* - Segment -*******************************/ - -.ui.segment { - position: relative; - background-color: @background; - box-shadow: @boxShadow; - margin: @margin 0em; - padding: @verticalPadding @horizontalPadding; - border-radius: @borderRadius; - border: @border; -} - -.ui.segment:first-child { - margin-top: 0em; -} -.ui.segment:last-child { - margin-bottom: 0em; -} - -.ui.segment:after { - content: ''; - display: block; - height: 0px; - clear: both; - visibility: hidden; -} - -.ui.vertical.segment { - margin: 0em; - padding-left: 0em; - padding-right: 0em; - - background-color: transparent; - border-radius: 0px; - border: none; - box-shadow: 0px 1px 0px @borderColor; -} -.ui.vertical.segment:first-child { - padding-top: 0em; -} -.ui.vertical.segment:last-child { - padding-bottom: 0em; - box-shadow: none; -} - -.ui.horizontal.segment { - margin: 0em; - padding-top: 0em; - padding-bottom: 0em; - - background-color: transparent; - border-radius: 0px; - border: none; - box-shadow: 1px 0px 0px @borderColor; -} - -/*------------------- - Loose Coupling ---------------------*/ - -/* Menu */ -.ui.pointing.menu + .ui.attached.segment { - top: 1px; -} - -/* Header */ -.ui.inverted.segment > .ui.header { - color: @white; -} - -/* Label */ -.ui[class*="bottom attached"].segment > [class*="top attached"].label { - border-top-left-radius: 0em; - border-top-right-radius: 0em; -} -.ui[class*="top attached"].segment > [class*="bottom attached"].label { - border-bottom-left-radius: 0em; - border-bottom-right-radius: 0em; -} -.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label { - border-top-left-radius: 0em; - border-top-right-radius: 0em; -} -.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label { - border-bottom-left-radius: 0em; - border-bottom-right-radius: 0em; -} - -/* Grid */ -.ui.page.grid.segment, -.ui.grid .ui.segment.column { - padding-top: @pageGridMargin; - padding-bottom: @pageGridMargin; -} -.ui.grid.segment { - margin: @margin 0rem; - border-radius: @borderRadius; -} - -/* Table */ -.ui.basic.table.segment { - background: @background; - border: @border; - box-shadow: @boxShadow; -} -.ui[class*="very basic"].table.segment { - padding: @verticalPadding @horizontalPadding; -} - - -/******************************* - Types -*******************************/ - -/*------------------- - Piled ---------------------*/ - -.ui.piled.segment { - margin: @piledMargin 0em; - box-shadow: @piledBoxShadow; - z-index: @piledZIndex; -} -.ui.piled.segment:first-child { - margin-top: 0em; -} -.ui.piled.segment:last-child { - margin-bottom: 0em; -} -.ui.piled.segment:after, -.ui.piled.segment:before { - background-color: @white; - visibility: visible; - content: ''; - display: block; - height: 100%; - left: 0px; - position: absolute; - width: 100%; - box-shadow: @piledBoxShadow; -} -.ui.piled.segment:after { - transform: rotate(@piledDegrees); - top: 0; - z-index: -1; -} -.ui.piled.segment:before { - transform: rotate(-@piledDegrees); - top: 0; - z-index: -2; -} - -/*------------------- - Stacked ---------------------*/ - -.ui.stacked.segment { - padding-bottom: @stackedPadding; -} -.ui.stacked.segment:after, -.ui.stacked.segment:before { - content: ''; - position: absolute; - bottom: -(@stackedHeight / 2); - left: 0%; - - border-top: 1px solid @borderColor; - background-color: @stackedPageBackground; - - width: 100%; - height: @stackedHeight; - visibility: visible; -} -.ui.stacked.segment:before { - display: none; -} - -/* Add additional page */ -.ui.tall.stacked.segment:before { - display: block; - bottom: 0px; -} - -/* Inverted */ -.ui.stacked.inverted.segment:after, -.ui.stacked.inverted.segment:before { - background-color: @subtleTransparentBlack; - border-top: 1px solid @selectedBorderColor; -} - -/*------------------- - Compact ---------------------*/ - -.ui.compact.segment { - display: table; -} - -/*------------------- - Circular ---------------------*/ - -.ui.circular.segment { - display: table-cell; - padding: @circularPadding; - text-align: center; - vertical-align: middle; - border-radius: 500em; -} - -/*------------------- - Raised ---------------------*/ - -.ui.raised.segment { - box-shadow: @raisedBoxShadow; -} - - -/******************************* - States -*******************************/ - -.ui.disabled.segment { - opacity: @disabledOpacity; - color: @disabledTextColor; -} - - -/******************************* - Variations -*******************************/ - - -/*------------------- - Basic ---------------------*/ - -.ui.basic.segment { - position: relative; - background-color: transparent; - box-shadow: none; - - border-radius: 0px; -} -.ui.basic.segment:first-child { - padding-top: 0em; -} -.ui.basic.segment:last-child { - padding-bottom: 0em; -} - - -/*------------------- - Fittted ---------------------*/ - -.ui.fitted.segment { - padding: 0em; -} - -/*------------------- - Colors ---------------------*/ - -.ui.black.segment:not(.inverted) { - border-top: @coloredBorderSize solid @black; - border-radius: @coloredBorderRadius !important; -} -.ui.blue.segment:not(.inverted) { - border-top: @coloredBorderSize solid @blue; - border-radius: @coloredBorderRadius !important; -} -.ui.green.segment:not(.inverted) { - border-top: @coloredBorderSize solid @green; - border-radius: @coloredBorderRadius !important; -} -.ui.orange.segment:not(.inverted) { - border-top: @coloredBorderSize solid @orange; - border-radius: @coloredBorderRadius !important; -} -.ui.pink.segment:not(.inverted) { - border-top: @coloredBorderSize solid @pink; - border-radius: @coloredBorderRadius !important; -} -.ui.purple.segment:not(.inverted) { - border-top: @coloredBorderSize solid @purple; - border-radius: @coloredBorderRadius !important; -} -.ui.red.segment:not(.inverted) { - border-top: @coloredBorderSize solid @red; - border-radius: @coloredBorderRadius !important; -} -.ui.teal.segment:not(.inverted) { - border-top: @coloredBorderSize solid @teal; - border-radius: @coloredBorderRadius !important; -} -.ui.yellow.segment:not(.inverted) { - border-top: @coloredBorderSize solid @yellow; - border-radius: @coloredBorderRadius !important; -} - -/*------------------- - Inverted Colors ---------------------*/ - -.ui.inverted.segment, -.ui.inverted.black.segment { - background-color: @black !important; - color: @white !important; -} -.ui.inverted.blue.segment { - background-color: @blue !important; - color: @white !important; -} -.ui.inverted.green.segment { - background-color: @green !important; - color: @white !important; -} -.ui.inverted.orange.segment { - background-color: @orange !important; - color: @white !important; -} -.ui.inverted.pink.segment { - background-color: @pink !important; - color: @white !important; -} -.ui.inverted.purple.segment { - background-color: @purple !important; - color: @white !important; -} -.ui.inverted.red.segment { - background-color: @red !important; - color: @white !important; -} -.ui.inverted.teal.segment { - background-color: @teal !important; - color: @white !important; -} -.ui.inverted.yellow.segment { - background-color: @yellow !important; - color: @white !important; -} - -/*------------------- - Aligned ---------------------*/ - -.ui[class*="left aligned"].segment { - text-align: left; -} -.ui[class*="right aligned"].segment { - text-align: right; -} -.ui[class*="center aligned"].segment { - text-align: center; -} - -/*------------------- - Floated ---------------------*/ - -.ui.floated.segment, -.ui[class*="left floated"].segment { - float: left; - margin-right: @margin; -} -.ui[class*="right floated"].segment { - float: right; - margin-left: @margin; -} - - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.segment { - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.ui.inverted.segment .segment { - color: @textColor; -} -.ui.inverted.segment .inverted.segment { - color: @white; -} -.ui.inverted.segment, -.ui.primary.inverted.segment { - background-color: @black; - color: @white; -} - -.ui.inverted.block.segment, -.ui.inverted.attached.segment { - box-shadow: none !important; - border: none !important; -} - -/*------------------- - Ordinality ---------------------*/ - -.ui.secondary.segment { - background: @secondaryBackground; - color: @secondaryColor; -} - -.ui.tertiary.segment { - background: @tertiaryBackground; - color: @textColor; -} - -.ui.secondary.inverted.segment { - background: @secondaryInvertedBackground; - color: @secondaryInvertedColor; -} -.ui.tertiary.inverted.segment { - background: @tertiaryInvertedBackground; - color: @tertiaryInvertedColor; -} - - -/*------------------- - Attached ---------------------*/ - -.ui.segment.attached { - top: 0px; - bottom: 0px; - margin: 0em @attachedHorizontalOffset; - width: @attachedWidth; - max-width: @attachedWidth; - border-radius: 0px; - box-shadow: @attachedBoxShadow; - border: @attachedBorder; -} -.ui.segment.attached + .ui.segment.attached { - border-top: none; -} - -/* Top */ -.ui[class*="top attached"].segment { - top: @attachedTopOffset; - bottom: 0px; - margin-top: @margin; - margin-bottom: 0em; - border-radius: @borderRadius @borderRadius 0em 0em; -} -.ui.segment[class*="top attached"]:first-child { - margin-top: 0em; -} - -/* Bottom */ -.ui.segment[class*="bottom attached"] { - top: @attachedBottomOffset; - bottom: 0px; - margin-top: 0em; - margin-bottom: @margin; - box-shadow: @attachedBottomBoxShadow; - border-radius: 0em 0em @borderRadius @borderRadius; -} -.ui.segment[class*="bottom attached"]:last-child { - margin-bottom: 0em; -} - -.loadUIOverrides(); diff --git a/definitions/elements/step.less b/definitions/elements/step.less deleted file mode 100644 index 9df149fabb..0000000000 --- a/definitions/elements/step.less +++ /dev/null @@ -1,352 +0,0 @@ -/* - * # Semantic - Steps - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'element'; -@element : 'step'; - -@import '../../semantic.config'; - - -/******************************* - Step -*******************************/ - -.ui.steps .step { - display: inline-block; - position: relative; - - margin: @verticalMargin @horizontalMargin; - padding: @verticalPadding @horizontalPadding @verticalPadding @leftPadding; - vertical-align: top; - background: @background; - color: @textColor; - box-shadow: @boxShadow; - border-radius: @borderRadius; -} -.ui.steps .step:after { - position: absolute; - z-index: 2; - content: ''; - top: @arrowTopOffset; - right: @arrowRightOffset; - border: medium none; - background-color: @arrowBackgroundColor; - width: @arrowSize; - height: @arrowSize; - border-bottom: 1px solid @arrowBorderColor; - border-right: 1px solid @arrowBorderColor; - transform: translateY(-50%) translateX(50%) rotate(-45deg); -} - -.ui.steps .step, -.ui.steps .step:after { - transition: @transition; -} - - -/******************************* - Content -*******************************/ - -/* Title */ -.ui.steps .step .title { - font-family: @titleFontFamily; - font-size: @titleFontSize; - font-weight: @titleFontWeight; -} - -/* Description */ -.ui.steps .step .description { - font-weight: @descriptionFontWeight; - font-size: @descriptionFontSize; - color: @descriptionColor; -} -.ui.steps .step .title ~ .description { - margin-top: @descriptionDistance; -} - -/* Icon */ -.ui.steps .step > .icon, -.ui.steps .step > .icon ~ .content { - display: table-cell; - vertical-align: @iconVerticalAlign; -} -.ui.steps .step > .icon { - font-size: @iconSize; - margin: 0em; - padding-right: @iconDistance; -} - -/* Link */ -.ui.steps .link.step, -.ui.steps a.step { - cursor: pointer; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Ordered ----------------*/ - -.ui.ordered.steps { - counter-reset: ordered; -} -.ui.ordered.steps .step:before { - display: table-cell; - position: static; - padding-right: @iconDistance; - font-size: @iconSize; - counter-increment: ordered; - content: counters(ordered, "."); -} - -.ui.ordered.steps .step > * { - display: table-cell; - vertical-align: @iconVerticalAlign; -} - - -/*-------------- - Vertical ----------------*/ - -.ui.vertical.steps { - overflow: visible; -} -.ui.vertical.steps .step { - display: block; - border-radius: @borderRadius; - padding: @verticalPadding @horizontalPadding; -} -.ui.vertical.steps .step:first-child { - padding: @verticalPadding @horizontalPadding; - border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em; -} -.ui.vertical.steps .step:last-child { - border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius; -} - -/* Arrow */ -.ui.vertical.steps .step:after { - display: none; -} - -/* Active Arrow */ -.ui.vertical.steps .active.step:after { - display: block; -} - - -/******************************* - Group -*******************************/ - -.ui.steps { - display: inline-block; - font-size: 0em; - - background: @stepsBackground; - box-shadow: @stepsBoxShadow; - - line-height: @lineHeight; - box-sizing: border-box; - border-radius: @stepsBorderRadius; -} - -.ui.steps .step:first-child { - padding-left: @horizontalPadding; - border-radius: @stepsBorderRadius 0em 0em @stepsBorderRadius; -} -.ui.steps .step:last-child { - border-radius: 0em @stepsBorderRadius @stepsBorderRadius 0em; -} -.ui.steps .step:only-child { - -webkit-border-radius: @stepsBorderRadius; - -moz-border-radius: @stepsBorderRadius; - border-radius: @stepsBorderRadius; -} - -.ui.steps .step:last-child { - margin-right: 0em; -} -.ui.steps .step:last-child:after { - display: none; -} - - -/******************************* - States -*******************************/ - -/* Link Hover */ -.ui.steps .link.step:hover::after, -.ui.steps .link.step:hover, -.ui.steps a.step:hover::after, -.ui.steps a.step:hover { - background: @hoverBackground; - color: @hoverColor; -} - -/* Link Down */ -.ui.steps .link.step:active::after, -.ui.steps .link.step:active, -.ui.steps a.step:active::after, -.ui.steps a.step:active { - background: @downBackground; - color: @downColor; -} - -/* Active */ -.ui.steps .step.active { - cursor: auto; - background: @activeBackground; -} -.ui.steps .step.active:after { - background: @activeBackground; -} -.ui.steps .step.active .title { - color: @activeColor; -} -.ui.ordered.steps .step.active:before, -.ui.steps .active.step .icon { - color: @activeIconColor; -} - -/* Active Hover */ -.ui.steps .link.active.step:hover::after, -.ui.steps .link.active.step:hover, -.ui.steps a.active.step:hover::after, -.ui.steps a.active.step:hover { - cursor: pointer; - background: @activeHoverBackground; - color: @activeHoverColor; -} - -/* Completed */ -.ui.steps .step.completed > .icon:before, -.ui.ordered.steps .step.completed:before { - color: @completedColor; -} - -/* Disabled */ -.ui.steps .disabled.step { - cursor: auto; - background: @disabledBackground; - pointer-events: none; -} -.ui.steps .disabled.step, -.ui.steps .disabled.step .title, -.ui.steps .disabled.step .description { - color: @disabledColor; -} -.ui.steps .disabled.step:after { - background: @disabledBackground; -} - - -/******************************* - Variations -*******************************/ - -/* Fluid */ -.ui.fluid.steps { - width: 100%; -} - - -/* Attached */ -.attached.ui.steps { - margin: 0em; - border-radius: @stepsBorderRadius @stepsBorderRadius 0em 0em; -} -.attached.ui.steps .step:first-child { - border-radius: @stepsBorderRadius 0em 0em 0em; -} -.attached.ui.steps .step:last-child { - border-radius: 0em @stepsBorderRadius 0em 0em; -} - -/* Bottom Side */ -.bottom.attached.ui.steps { - margin-top: -1px; - border-radius: 0em 0em @stepsBorderRadius @stepsBorderRadius; -} -.bottom.attached.ui.steps .step:first-child { - border-radius: 0em 0em 0em @stepsBorderRadius; -} -.bottom.attached.ui.steps .step:last-child { - border-radius: 0em 0em @stepsBorderRadius 0em; -} - - -/* Evenly divided */ -.ui.one.steps, -.ui.two.steps, -.ui.three.steps, -.ui.four.steps, -.ui.five.steps, -.ui.six.steps, -.ui.seven.steps, -.ui.eight.steps { - display: block; -} -.ui.one.steps > .step { - width: 100%; -} -.ui.two.steps > .step { - width: 50%; -} -.ui.three.steps > .step { - width: 33.333%; -} -.ui.four.steps > .step { - width: 25%; -} -.ui.five.steps > .step { - width: 20%; -} -.ui.six.steps > .step { - width: 16.666%; -} -.ui.seven.steps > .step { - width: 14.285%; -} -.ui.eight.steps > .step { - width: 12.500%; -} - - - -/******************************* - Sizes -*******************************/ - -.ui.small.step, -.ui.small.steps .step { - font-size: @small; -} -.ui.step, -.ui.steps .step { - font-size: @medium; -} -.ui.large.step, -.ui.large.steps .step { - font-size: @large; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/globals/reset.less b/definitions/globals/reset.less deleted file mode 100644 index b1054120f1..0000000000 --- a/definitions/globals/reset.less +++ /dev/null @@ -1,40 +0,0 @@ -/* - * # Semantic - Reset - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Theme -*******************************/ - -@type : 'global'; -@element : 'reset'; - -@import '../../semantic.config'; - - -/******************************* - Reset -*******************************/ - -/* Border-Box */ -*, -*:before, -*:after { - box-sizing: border-box; -} - -/* iPad Input Shadows */ -input[type="text"], input[type="email"], input[type="search"], input[type="password"] { - -webkit-appearance: none; - -moz-appearance: none; /* mobile firefox too! */ -} - -.loadUIOverrides(); diff --git a/definitions/globals/site.js b/definitions/globals/site.js deleted file mode 100644 index 5767dc778b..0000000000 --- a/definitions/globals/site.js +++ /dev/null @@ -1,487 +0,0 @@ -/* - * # Semantic - Site - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -;(function ( $, window, document, undefined ) { - -$.site = $.fn.site = function(parameters) { - var - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.site.settings, parameters) - : $.extend({}, $.site.settings), - - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $document = $(document), - $module = $document, - element = this, - instance = $module.data(moduleNamespace), - - module, - returnedValue - ; - module = { - - initialize: function() { - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of site', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - normalize: function() { - module.fix.console(); - module.fix.requestAnimationFrame(); - }, - - fix: { - console: function() { - module.debug('Normalizing window.console'); - if (console === undefined || console.log === undefined) { - module.verbose('Console not available, normalizing events'); - module.disable.console(); - } - if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') { - module.verbose('Console group not available, normalizing events'); - window.console.group = function() {}; - window.console.groupEnd = function() {}; - window.console.groupCollapsed = function() {}; - } - if (typeof console.markTimeline == 'undefined') { - module.verbose('Mark timeline not available, normalizing events'); - window.console.markTimeline = function() {}; - } - }, - consoleClear: function() { - module.debug('Disabling programmatic console clearing'); - window.console.clear = function() {}; - }, - requestAnimationFrame: function() { - module.debug('Normalizing requestAnimationFrame'); - if(window.requestAnimationFrame === undefined) { - module.debug('RequestAnimationFrame not available, normailizing event'); - window.requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - } - } - }, - - moduleExists: function(name) { - return ($.fn[name] !== undefined && $.fn[name].settings !== undefined); - }, - - enabled: { - modules: function(modules) { - var - enabledModules = [] - ; - modules = modules || settings.modules; - $.each(modules, function(index, name) { - if(module.moduleExists(name)) { - enabledModules.push(name); - } - }); - return enabledModules; - } - }, - - disabled: { - modules: function(modules) { - var - disabledModules = [] - ; - modules = modules || settings.modules; - $.each(modules, function(index, name) { - if(!module.moduleExists(name)) { - disabledModules.push(name); - } - }); - return disabledModules; - } - }, - - change: { - setting: function(setting, value, modules, modifyExisting) { - modules = (typeof modules === 'string') - ? (modules === 'all') - ? settings.modules - : [modules] - : modules || settings.modules - ; - modifyExisting = (modifyExisting !== undefined) - ? modifyExisting - : true - ; - $.each(modules, function(index, name) { - var - namespace = (module.moduleExists(name)) - ? $.fn[name].settings.namespace || false - : true, - $existingModules - ; - if(module.moduleExists(name)) { - module.verbose('Changing default setting', setting, value, name); - $.fn[name].settings[setting] = value; - if(modifyExisting && namespace) { - $existingModules = $(':data(module-' + namespace + ')'); - if($existingModules.size() > 0) { - module.verbose('Modifying existing settings', $existingModules); - $existingModules[name]('setting', setting, value); - } - } - } - }); - }, - settings: function(newSettings, modules, modifyExisting) { - modules = (typeof modules === 'string') - ? [modules] - : modules || settings.modules - ; - modifyExisting = (modifyExisting !== undefined) - ? modifyExisting - : true - ; - $.each(modules, function(index, name) { - var - $existingModules - ; - if(module.moduleExists(name)) { - module.verbose('Changing default setting', newSettings, name); - $.extend(true, $.fn[name].settings, newSettings); - if(modifyExisting && namespace) { - $existingModules = $(':data(module-' + namespace + ')'); - if($existingModules.size() > 0) { - module.verbose('Modifying existing settings', $existingModules); - $existingModules[name]('setting', newSettings); - } - } - } - }); - } - }, - - enable: { - console: function() { - module.console(true); - }, - debug: function(modules, modifyExisting) { - modules = modules || settings.modules; - module.debug('Enabling debug for modules', modules); - module.change.setting('debug', true, modules, modifyExisting); - }, - verbose: function(modules, modifyExisting) { - modules = modules || settings.modules; - module.debug('Enabling verbose debug for modules', modules); - module.change.setting('verbose', true, modules, modifyExisting); - } - }, - disable: { - console: function() { - module.console(false); - }, - debug: function(modules, modifyExisting) { - modules = modules || settings.modules; - module.debug('Disabling debug for modules', modules); - module.change.setting('debug', false, modules, modifyExisting); - }, - verbose: function(modules, modifyExisting) { - modules = modules || settings.modules; - module.debug('Disabling verbose debug for modules', modules); - module.change.setting('verbose', false, modules, modifyExisting); - } - }, - - console: function(enable) { - if(enable) { - if(instance.cache.console === undefined) { - module.error(error.console); - return; - } - module.debug('Restoring console function'); - window.console = instance.cache.console; - } - else { - module.debug('Disabling console function'); - instance.cache.console = window.console; - window.console = { - clear : function(){}, - error : function(){}, - group : function(){}, - groupCollapsed : function(){}, - groupEnd : function(){}, - info : function(){}, - log : function(){}, - markTimeline : function(){}, - warn : function(){} - }; - } - }, - - destroy: function() { - module.verbose('Destroying previous site for', $module); - $module - .removeData(moduleNamespace) - ; - }, - - cache: {}, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.site.settings = { - - name : 'Site', - namespace : 'site', - - error : { - console : 'Console cannot be restored, most likely it was overwritten outside of module', - method : 'The method you called is not defined.' - }, - - debug : false, - verbose : true, - performance : true, - - modules: [ - 'accordion', - 'api', - 'checkbox', - 'dimmer', - 'dropdown', - 'form', - 'modal', - 'nag', - 'popup', - 'rating', - 'shape', - 'sidebar', - 'state', - 'sticky', - 'tab', - 'transition', - 'video', - 'visit', - 'visibility' - ], - - siteNamespace : 'site', - namespaceStub : { - cache : {}, - config : {}, - sections : {}, - section : {}, - utilities : {} - } - -}; - -// allows for selection of elements with data attributes -$.extend($.expr[ ":" ], { - data: ($.expr.createPseudo) - ? $.expr.createPseudo(function(dataName) { - return function(elem) { - return !!$.data(elem, dataName); - }; - }) - : function(elem, i, match) { - // support: jQuery < 1.8 - return !!$.data(elem, match[ 3 ]); - } -}); - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/globals/site.less b/definitions/globals/site.less deleted file mode 100644 index 2b4578ff7b..0000000000 --- a/definitions/globals/site.less +++ /dev/null @@ -1,115 +0,0 @@ -/* - * # Semantic - Site - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'global'; -@element : 'site'; - -@import '../../semantic.config'; - -/******************************* - Web Fonts -*******************************/ - -.loadFonts() when (@importGoogleFonts) { - @import (css) 'http://fonts.googleapis.com/css?family=@{googleFontName}:@{googleFontSizes}'; -} -.loadFonts(); - -/******************************* - Page -*******************************/ - -/* UI requires Border-Box */ -*, -*:before, -*:after { - box-sizing: border-box; -} - -html, -body { - height: 100%; - font-smoothing: @fontSmoothing; -} - - -body { - margin: 0px; - padding: 0px; - min-width: @pageMinWidth; - background: @pageBackground; - - font-family: @pageFont; - font-size: @fontSize; - line-height: @lineHeight; - color: @textColor; - overflow-x: @pageOverflowX; -} - - -/******************************* - Text -*******************************/ - -h1, -h2, -h3, -h4, -h5 { - margin: @headerMargin; - padding: 0em; -} - -p { - margin: @paragraphMargin; -} -p:first-child { - margin-top: 0em; -} -p:last-child { - margin-bottom: 0em; -} - -/*------------------- - Links ---------------------*/ - -a { - color: @linkColor; - text-decoration: @linkUnderline; -} -a:hover { - color: @linkHoverColor; -} - - -/******************************* - Highlighting -*******************************/ - -::-webkit-selection { - background-color: @highlightBackground; - color: @highlightColor; -} -::-moz-selection { - background-color: @highlightBackground; - color: @highlightColor; -} -::selection { - background-color: @highlightBackground; - color: @highlightColor; -} - -.loadUIOverrides(); diff --git a/definitions/modules/accordion.js b/definitions/modules/accordion.js deleted file mode 100644 index 98cdb88106..0000000000 --- a/definitions/modules/accordion.js +++ /dev/null @@ -1,504 +0,0 @@ -/* - * # Semantic - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.accordion = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.accordion.settings, parameters) - : $.extend({}, $.fn.accordion.settings), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - $module = $(this), - $title = $module.find(selector.title), - $content = $module.find(selector.content), - - element = this, - instance = $module.data(moduleNamespace), - observer, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing accordion with bound events', $module); - $module - .on('click' + eventNamespace, selector.title, module.event.click) - ; - module.observeChanges(); - module.instantiate(); - }, - - instantiate: function() { - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying previous accordion for', $module); - $module - .removeData(moduleNamespace) - ; - $title - .off(eventNamespace) - ; - }, - - refresh: function() { - $title = $module.find(selector.title); - $content = $module.find(selector.content); - }, - - observeChanges: function() { - if(MutationObserver !== undefined) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, updating selector cache'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - - event: { - click: function() { - $.proxy(module.toggle, this)(); - } - }, - - toggle: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query) - : $(this), - $activeContent = $activeTitle.next($content), - contentIsOpen = $activeContent.is(':visible') - ; - module.debug('Toggling visibility of content', $activeTitle); - if(contentIsOpen) { - if(settings.collapsible) { - $.proxy(module.close, $activeTitle)(); - } - else { - module.debug('Cannot close accordion content collapsing is disabled'); - } - } - else { - $.proxy(module.open, $activeTitle)(); - } - }, - - open: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query) - : $(this), - $activeContent = $activeTitle.next($content), - currentlyAnimating = $activeContent.is(':animated'), - currentlyActive = $activeContent.hasClass(className.active) - ; - if(!currentlyAnimating && !currentlyActive) { - module.debug('Opening accordion content', $activeTitle); - if(settings.exclusive) { - $.proxy(module.closeOthers, $activeTitle)(); - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .stop() - .children() - .stop() - .animate({ - opacity: 1 - }, settings.duration, module.reset.display) - .end() - .slideDown(settings.duration, settings.easing, function() { - $activeContent - .addClass(className.active) - ; - $.proxy(module.reset.display, this)(); - $.proxy(settings.onOpen, this)(); - $.proxy(settings.onChange, this)(); - }) - ; - } - }, - - close: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query) - : $(this), - $activeContent = $activeTitle.next($content), - isActive = $activeContent.hasClass(className.active) - ; - if(isActive) { - module.debug('Closing accordion content', $activeContent); - $activeTitle - .removeClass(className.active) - ; - $activeContent - .removeClass(className.active) - .show() - .stop() - .children() - .stop() - .animate({ - opacity: 0 - }, settings.duration, module.reset.opacity) - .end() - .slideUp(settings.duration, settings.easing, function() { - $.proxy(module.reset.display, this)(); - $.proxy(settings.onClose, this)(); - $.proxy(settings.onChange, this)(); - }) - ; - } - }, - - closeOthers: function(index) { - var - $activeTitle = (index !== undefined) - ? $title.eq(index) - : $(this), - $parentTitles = $activeTitle.parents(selector.content).prev(selector.title), - $activeAccordion = $activeTitle.closest(selector.accordion), - activeSelector = selector.title + '.' + className.active + ':visible', - activeContent = selector.content + '.' + className.active + ':visible', - $openTitles, - $nestedTitles, - $openContents - ; - if(settings.closeNested) { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $openContents = $openTitles.next($content); - } - else { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles); - $openTitles = $openTitles.not($nestedTitles); - $openContents = $openTitles.next($content); - } - if( ($openTitles.size() > 0) ) { - module.debug('Exclusive enabled, closing other content', $openTitles); - $openTitles - .removeClass(className.active) - ; - $openContents - .stop() - .children() - .stop() - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - .end() - .slideUp(settings.duration , settings.easing, function() { - $(this).removeClass(className.active); - $.proxy(module.reset.display, this)(); - }) - ; - } - }, - - reset: { - - display: function() { - module.verbose('Removing inline display from element', this); - $(this).css('display', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - opacity: function() { - module.verbose('Removing inline opacity from element', this); - $(this).css('opacity', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.accordion.settings = { - - name : 'Accordion', - namespace : 'accordion', - - debug : false, - verbose : true, - performance : true, - - exclusive : true, - collapsible : true, - closeNested : false, - - duration : 500, - easing : 'easeInOutQuint', - - onOpen : function(){}, - onClose : function(){}, - onChange : function(){}, - - error: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - accordion : '.accordion', - title : '.title', - content : '.content' - } - -}; - -// Adds easing -$.extend( $.easing, { - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - } -}); - -})( jQuery, window , document ); - diff --git a/definitions/modules/accordion.less b/definitions/modules/accordion.less deleted file mode 100644 index 32c300882e..0000000000 --- a/definitions/modules/accordion.less +++ /dev/null @@ -1,205 +0,0 @@ -/* - * # Semantic - Accordion - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'accordion'; - -@import '../../semantic.config'; - - -/******************************* - Accordion -*******************************/ - -.ui.accordion, -.ui.accordion .accordion { - max-width: 100%; - font-size: @fontSize; -} -.ui.accordion .accordion { - margin: @childAccordionMargin; - padding: @childAccordionPadding; -} - -/* Title */ -.ui.accordion .title, -.ui.accordion .accordion .title { - cursor: pointer; -} - -/* Default Styling */ -.ui.accordion .title:not(.ui) { - padding: @titlePadding; - font-family: @titleFont; - font-size: @titleFontSize; - color: @titleColor; -} - -/* Content */ -.ui.accordion .title ~ .content, -.ui.accordion .accordion .title ~ .content { - display: none; -} - -/* Default Styling */ -.ui.accordion:not(.styled) .title ~ .content:not(.ui), -.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) { - margin: @contentMargin; - padding: @contentPadding; -} -.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { - padding-bottom: 0em; -} - -/* Arrow */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - display: @iconDisplay; - float: @iconFloat; - opacity: @iconOpacity; - width: @iconWidth; - height: @iconHeight; - margin: @iconMargin; - padding: @iconPadding; - transition: @iconTransition; - vertical-align: @iconVerticalAlign; - transform: @iconTransform; -} - - -/* Coupling with accordion */ -.ui.accordion.menu .item .title { - display: block; - padding: @menuTitlePadding; -} -.ui.accordion.menu .item .title > .dropdown.icon { - float: @menuIconFloat; - margin: @menuIconMargin; - transform: @menuIconTransform; -} - -/******************************* - States -*******************************/ - -.ui.accordion .active.title .dropdown.icon, -.ui.accordion .accordion .active.title .dropdown.icon { - transform: @activeIconTransform; -} - -.ui.accordion.menu .item .active.title > .dropdown.icon { - transform: @activeIconTransform; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Styled ----------------*/ - -.ui.styled.accordion { - width: @styledWidth; -} - -.ui.styled.accordion, -.ui.styled.accordion .accordion { - border-radius: @styledBorderRadius; - background: @styledBackground; - box-shadow: @styledBoxShadow; -} -.ui.styled.accordion .title, -.ui.styled.accordion .accordion .title { - margin: @styledTitleMargin; - padding: @styledTitlePadding; - color: @styledTitleColor; - font-weight: @styledTitleFontWeight; - border-top: @styledTitleBorder; - transition: @styledTitleTransition; -} -.ui.styled.accordion .title:first-child, -.ui.styled.accordion .accordion .title:first-child { - border-top: none; -} - - -/* Content */ -.ui.styled.accordion .content, -.ui.styled.accordion .accordion .content { - margin: @styledContentMargin; - padding: @styledContentPadding; -} -.ui.styled.accordion .accordion .content { - padding: @styledChildContentMargin; - padding: @styledChildContentPadding; -} - - -/* Hover */ -.ui.styled.accordion .title:hover, -.ui.styled.accordion .active.title, -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: @styledTitleHoverBackground; - color: @styledTitleHoverColor; -} -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: @styledHoverChildTitleBackground; - color: @styledHoverChildTitleColor; -} - - -/* Active */ -.ui.styled.accordion .active.title { - background: @styledActiveTitleBackground; - color: @styledActiveTitleColor; -} -.ui.styled.accordion .accordion .active.title { - background: @styledActiveChildTitleBackground; - color: @styledActiveChildTitleColor; -} - - -/******************************* - States -*******************************/ - -/*-------------- - Active ----------------*/ - -.ui.accordion .active.content, -.ui.accordion .accordion .active.content { - display: block; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.accordion, -.ui.fluid.accordion .accordion { - width: 100%; -} - - - -.loadUIOverrides(); diff --git a/definitions/modules/chatroom.js b/definitions/modules/chatroom.js deleted file mode 100644 index aaf32bed31..0000000000 --- a/definitions/modules/chatroom.js +++ /dev/null @@ -1,776 +0,0 @@ -/* - * # Semantic - Chatroom - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.chatroom = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $(this) - .each(function() { - var - settings = $.extend(true, {}, $.fn.chatroom.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - $module = $(this), - - $expandButton = $module.find(selector.expandButton), - $userListButton = $module.find(selector.userListButton), - - $userList = $module.find(selector.userList), - $room = $module.find(selector.room), - $userCount = $module.find(selector.userCount), - - $log = $module.find(selector.log), - $message = $module.find(selector.message), - - $messageInput = $module.find(selector.messageInput), - $messageButton = $module.find(selector.messageButton), - - instance = $module.data('module'), - element = this, - - html = '', - users = {}, - - channel, - loggedInUser, - - message, - count, - - height, - - pusher, - module - ; - - module = { - - width: { - log : $log.width(), - userList : $userList.outerWidth() - }, - - initialize: function() { - - // check error conditions - if(Pusher === undefined) { - module.error(error.pusher); - } - if(settings.key === undefined || settings.channelName === undefined) { - module.error(error.key); - return false; - } - else if( !(settings.endpoint.message || settings.endpoint.authentication) ) { - module.error(error.endpoint); - return false; - } - - // define pusher - pusher = new Pusher(settings.key); - Pusher.channel_auth_endpoint = settings.endpoint.authentication; - - channel = pusher.subscribe(settings.channelName); - - channel.bind('pusher:subscription_succeeded', module.user.list.create); - channel.bind('pusher:subscription_error', module.error); - channel.bind('pusher:member_added', module.user.joined); - channel.bind('pusher:member_removed', module.user.left); - channel.bind('update_messages', module.message.receive); - - $.each(settings.customEvents, function(label, value) { - channel.bind(label, value); - }); - - // bind module events - $userListButton - .on('click.' + namespace, module.event.toggleUserList) - ; - $expandButton - .on('click.' + namespace, module.event.toggleExpand) - ; - $messageInput - .on('keydown.' + namespace, module.event.input.keydown) - .on('keyup.' + namespace, module.event.input.keyup) - ; - $messageButton - .on('mouseenter.' + namespace, module.event.hover) - .on('mouseleave.' + namespace, module.event.hover) - .on('click.' + namespace, module.event.submit) - ; - // scroll to bottom of chat log - $log - .animate({ - scrollTop: $log.prop('scrollHeight') - }, 400) - ; - $module - .data('module', module) - .addClass(className.loading) - ; - - }, - - // refresh module - refresh: function() { - // reset width calculations - $userListButton - .removeClass(className.active) - ; - module.width = { - log : $log.width(), - userList : $userList.outerWidth() - }; - if( $userListButton.hasClass(className.active) ) { - module.user.list.hide(); - } - $module.data('module', module); - }, - - user: { - - updateCount: function() { - if(settings.userCount) { - users = $module.data('users'); - count = 0; - $.each(users, function() { - count++; - }); - $userCount - .html( settings.templates.userCount(count) ) - ; - } - }, - - // add user to user list - joined: function(member) { - users = $module.data('users'); - if(member.id != 'anonymous' && users[ member.id ] === undefined ) { - users[ member.id ] = member.info; - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - html = settings.templates.userList(member.info); - if(member.info.isAdmin) { - $(html) - .prependTo($userList) - ; - } - else { - $(html) - .appendTo($userList) - ; - } - if(settings.partingMessages) { - $log - .append( settings.templates.joined(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - // remove user from user list - left: function(member) { - users = $module.data('users'); - if(member !== undefined && member.id !== 'anonymous') { - delete users[ member.id ]; - $module - .data('users', users) - ; - $userList - .find('[data-id='+ member.id + ']') - .remove() - ; - if(settings.partingMessages) { - $log - .append( settings.templates.left(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - list: { - - // receives list of members and generates user list - create: function(members) { - users = {}; - members.each(function(member) { - if(member.id !== 'anonymous' && member.id !== 'undefined') { - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - // sort list with admin first - html = (member.info.isAdmin) - ? settings.templates.userList(member.info) + html - : html + settings.templates.userList(member.info) - ; - users[ member.id ] = member.info; - } - }); - $module - .data('users', users) - .data('user', users[members.me.id] ) - .removeClass(className.loading) - ; - $userList - .html(html) - ; - module.user.updateCount(); - $.proxy(settings.onJoin, $userList.children())(); - }, - - // shows user list - show: function() { - $log - .animate({ - width: (module.width.log - module.width.userList) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - }, - - // hides user list - hide: function() { - $log - .stop() - .animate({ - width: (module.width.log) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - } - - } - - }, - - message: { - - // handles scrolling of chat log - scroll: { - test: function() { - height = $log.prop('scrollHeight') - $log.height(); - if( Math.abs($log.scrollTop() - height) < settings.scrollArea) { - module.message.scroll.move(); - } - }, - - move: function() { - height = $log.prop('scrollHeight') - $log.height(); - $log - .scrollTop(height) - ; - } - }, - - // sends chat message - send: function(message) { - if( !module.utils.emptyString(message) ) { - $.api({ - url : settings.endpoint.message, - method : 'POST', - data : { - 'message': { - content : message, - timestamp : new Date().getTime() - } - } - }); - } - }, - - // receives chat response and processes - receive: function(response) { - message = response.data; - users = $module.data('users'); - loggedInUser = $module.data('user'); - if(users[ message.userID] !== undefined) { - // logged in user's messages already pushed instantly - if(loggedInUser === undefined || loggedInUser.id != message.userID) { - message.user = users[ message.userID ]; - module.message.display(message); - } - } - }, - - // displays message in chat log - display: function(message) { - $log - .append( settings.templates.message(message) ) - ; - module.message.scroll.test(); - $.proxy(settings.onMessage, $log.children().last() )(); - } - - }, - - expand: function() { - $module - .addClass(className.expand) - ; - $.proxy(settings.onExpand, $module )(); - module.refresh(); - }, - - contract: function() { - $module - .removeClass(className.expand) - ; - $.proxy(settings.onContract, $module )(); - module.refresh(); - }, - - event: { - - input: { - - keydown: function(event) { - if(event.which == 13) { - $messageButton - .addClass(className.down) - ; - } - }, - - keyup: function(event) { - if(event.which == 13) { - $messageButton - .removeClass(className.down) - ; - module.event.submit(); - } - } - - }, - - // handles message form submit - submit: function() { - var - message = $messageInput.val(), - loggedInUser = $module.data('user') - ; - if(loggedInUser !== undefined && !module.utils.emptyString(message)) { - module.message.send(message); - // display immediately - module.message.display({ - user: loggedInUser, - text: message - }); - module.message.scroll.move(); - $messageInput - .val('') - ; - - } - }, - - // handles button click on expand button - toggleExpand: function() { - if( !$module.hasClass(className.expand) ) { - $expandButton - .addClass(className.active) - ; - module.expand(); - } - else { - $expandButton - .removeClass(className.active) - ; - module.contract(); - } - }, - - // handles button click on user list button - toggleUserList: function() { - if( !$log.is(':animated') ) { - if( !$userListButton.hasClass(className.active) ) { - $userListButton - .addClass(className.active) - ; - module.user.list.show(); - } - else { - $userListButton - .removeClass('active') - ; - module.user.list.hide(); - } - } - - } - }, - - utils: { - - emptyString: function(string) { - if(typeof string == 'string') { - return (string.search(/\S/) == -1); - } - return false; - } - - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - } - else { - module.error(error.method, query); - } - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - return found || false; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) -; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - - $.fn.chatroom.settings = { - - name : 'Chat', - namespace : 'chat', - - debug : false, - - channel : 'present-chat', - - onJoin : function(){}, - onMessage : function(){}, - onExpand : function(){}, - onContract : function(){}, - - customEvents : {}, - - partingMessages : false, - userCount : true, - randomColor : true, - - speed : 300, - easing : 'easeOutQuint', - - // pixels from bottom of chat log that should trigger auto scroll to bottom - scrollArea : 9999, - - endpoint : { - message : false, - authentication : false - }, - - error: { - method : 'The method you called is not defined', - endpoint : 'Please define a message and authentication endpoint.', - key : 'You must specify a pusher key and channel.', - pusher : 'You must include the Pusher library.' - }, - - className : { - expand : 'expand', - active : 'active', - hover : 'hover', - down : 'down', - loading : 'loading' - }, - - selector : { - userCount : '.actions .message', - userListButton : '.actions .list.button', - expandButton : '.actions .expand.button', - room : '.room', - userList : '.room .list', - log : '.room .log', - message : '.room .log .message', - author : '.room log .message .author', - messageInput : '.talk input', - messageButton : '.talk .send.button' - }, - - templates: { - - userCount: function(number) { - return number + ' users in chat'; - }, - - color: function(userID) { - var - colors = [ - '#000000', - '#333333', - '#666666', - '#999999', - '#CC9999', - '#CC6666', - '#CC3333', - '#993333', - '#663333', - '#CC6633', - '#CC9966', - '#CC9933', - '#999966', - '#CCCC66', - '#99CC66', - '#669933', - '#669966', - '#33A3CC', - '#336633', - '#33CCCC', - '#339999', - '#336666', - '#336699', - '#6666CC', - '#9966CC', - '#333399', - '#663366', - '#996699', - '#993366', - '#CC6699' - ] - ; - return colors[ Math.floor( Math.random() * colors.length) ]; - }, - - message: function(message) { - var - html = '' - ; - if(message.user.isAdmin) { - message.user.color = '#55356A'; - html += '
'; - html += ''; - } - /* - else if(message.user.isPro) { - html += '
'; - html += ''; - } - */ - else { - html += '
'; - } - html += '

'; - if(message.user.color !== undefined) { - html += '' + message.user.name + ': '; - } - else { - html += '' + message.user.name + ': '; - } - html += '' - + message.text - + '

' - + '
' - ; - return html; - }, - - joined: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has joined the chat.
' - : false - ; - }, - left: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has left the chat.
' - : false - ; - }, - - userList: function(member) { - var - html = '' - ; - if(member.isAdmin) { - member.color = '#55356A'; - } - html += '' - + '
' - + '
' - + ' ' - + '
' - ; - if(member.color !== undefined) { - html += '

' + member.name + '

'; - } - else { - html += '

' + member.name + '

'; - } - html += '
'; - return html; - } - - } - - }; - -})( jQuery, window , document ); diff --git a/definitions/modules/chatroom.less b/definitions/modules/chatroom.less deleted file mode 100644 index 027d2daec7..0000000000 --- a/definitions/modules/chatroom.less +++ /dev/null @@ -1,280 +0,0 @@ -/* - * # Semantic - Chat Room - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'chatroom'; - -@import '../../semantic.config'; - -/******************************* - Chat Room -*******************************/ - -.ui.chatroom { - background-color: #F8F8F8; - width: 330px; - height: 370px; - padding: 0px; -} -.ui.chatroom .room { - position: relative; - background-color: #FFFFFF; - overflow: hidden; - height: 286px; - border: 1px solid rgba(0, 0, 0, 0.1); - border-top: none; - border-bottom: none; -} -.ui.chatroom .room .loader { - display: none; - margin: -25px 0px 0px -25px; -} -/* Chat Room Actions */ -.ui.chatroom .actions { - overflow: hidden; - background-color: #EEEEEE; - padding: 4px; - border: 1px solid rgba(0, 0, 0, 0.1); - - border-radius: 5px 5px 0px 0px; -} -.ui.chatroom .actions .button { - float: right; - margin-left: 3px; -} - -/* Online User Count */ -.ui.chatroom .actions .message { - float: left; - margin-left: 6px; - font-size: 11px; - color: #AAAAAA; - text-shadow: 0px -1px 0px rgba(255, 255, 255, 0.8); - line-height: 28px; -} -.ui.chatroom .actions .message .loader { - display: inline-block; - margin-right: 8px; -} - - -/* Chat Room Text Log */ -.ui.chatroom .log { - float: left; - - overflow: auto; - overflow-x: hidden; - overflow-y: auto; -} -.ui.chatroom .log .message { - padding: 3px 0px; - border-top: 1px dotted #DADADA; -} -.ui.chatroom .log .message:first-child { - border-top: none; -} -/* status event */ -.ui.chatroom .status { - padding: 5px 0px; - color: #AAAAAA; - - font-size: 12px; - font-style: italic; - line-height: 1.33; - border-top: 1px dotted #DADADA; -} -.ui.chatroom .log .status:first-child { - border-top: none; -} - - - -.ui.chatroom .log .flag { - float: left; -} -.ui.chatroom .log p { - margin-left: 0px; -} -.ui.chatroom .log .author { - font-weight: bold; - transition: color 0.3s ease-out; -} -.ui.chatroom .log a.author:hover { - opacity: 0.8; -} - -.ui.chatroom .log .message.admin p { - font-weight: bold; - margin: 1px 0px 0px 23px; -} -.ui.chatroom .log .divider { - margin: -1px 0px; - font-size: 11px; - padding: 10px 0px; - border-top: 1px solid #F8F8F8; - border-bottom: 1px solid #F8F8F8; -} -.ui.chatroom .log .divider .rule { - top: 50%; - width: 15%; -} - -.ui.chatroom .log .divider .label { - color: #777777; - margin: 0px; -} - -/* Chat Room User List */ -.ui.chatroom .room .list { - position: relative; - overflow: auto; - overflow-x: hidden; - overflow-y: auto; - - float: left; - background-color: #EEEEEE; - border-left: 1px solid #DDDDDD; -} -.ui.chatroom .room .list .user { - display: table; - padding: 3px 7px; - border-bottom: 1px solid #DDDDDD; -} -.ui.chatroom .room .list .user:hover { - background-color: #F8F8F8; -} -.ui.chatroom .room .list .image { - display: table-cell; - vertical-align: middle; - width: 20px; -} -.ui.chatroom .room .list .image img { - width: 20px; - height: 20px; - vertical-align: middle; -} -.ui.chatroom .room .list p { - display: table-cell; - vertical-align: middle; - padding-left: 7px; - padding-right: 14px; - font-size: 11px; - line-height: 1.2; - font-weight: bold; -} -.ui.chatroom .room .list a:hover { - opacity: 0.8; -} - -/* User List Loading */ -.ui.chatroom.loading .loader { - display: block; -} - - - -/* Chat Room Talk Input */ -.ui.chatroom .talk { - border: 1px solid rgba(0, 0, 0, 0.1); - padding: 5px 0px 0px; - - background-color: #EEEEEE; - border-radius: 0px 0px 5px 5px; -} -.ui.chatroom .talk .avatar, -.ui.chatroom .talk input, -.ui.chatroom .talk .button { - float: left; -} - -.ui.chatroom .talk .avatar img { - display: block; - width: 30px; - height: 30px; - margin-right: 4px; - border-radius: 500rem; -} -.ui.chatroom .talk input { - border: 1px solid #CCCCCC; - margin: 0px; - width: 196px; - height: 14px; - padding: 8px 5px; - font-size: 12px; - color: #555555; -} -.ui.chatroom .talk input.focus { - border: 1px solid #AAAAAA; -} -.ui.chatroom .send { - width: 80px; - height: 32px; - - margin-left: -1px; - padding: 4px 12px; - font-size: 12px; - line-height: 23px; - - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset; - border-radius: 0 5px 5px 0; -} -.ui.chatroom .talk .log-in.button { - display: block; - float: none; - margin-top: -6px; - height: 22px; - border-radius: 0px 0px 4px 4px; -} -.ui.chatroom .talk .log-in.button i { - vertical-align: text-top; -} - -/* Quirky Flags */ -.ui.chatroom .log .team.flag { - width: 18px; -} - -/* Chat room Loaded */ -.ui.chatroom.loading .loader { - display: block; -} - - -/* Standard Size */ -.ui.chatroom { - width: 330px; - height: 370px; -} -.ui.chatroom .room .container { - width: 3000px; -} -.ui.chatroom .log { - width: 314px; - height: 278px; - padding: 4px 7px; -} -.ui.chatroom .room .list { - width: 124px; - height: 278px; - padding: 4px 0px; -} -.ui.chatroom .room .list .user { - width: 110px; -} -.ui.chatroom .talk { - height: 40px; -} - -.loadUIOverrides(); diff --git a/definitions/modules/checkbox.js b/definitions/modules/checkbox.js deleted file mode 100644 index 1897d8749b..0000000000 --- a/definitions/modules/checkbox.js +++ /dev/null @@ -1,462 +0,0 @@ -/* - * # Semantic - Checkbox - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.checkbox = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = $.extend(true, {}, $.fn.checkbox.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $label = $(this).next(selector.label).first(), - $input = $(this).find(selector.input), - - instance = $module.data(moduleNamespace), - - observer, - element = this, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing checkbox', settings); - $module - .on('click' + eventNamespace, module.toggle) - .on('keydown' + eventNamespace, selector.input, module.event.keydown) - ; - if( module.is.checked() ) { - module.set.checked(); - if(settings.fireOnInit) { - $.proxy(settings.onChecked, $input.get())(); - } - } - else { - module.remove.checked(); - if(settings.fireOnInit) { - $.proxy(settings.onUnchecked, $input.get())(); - } - } - module.observeChanges(); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module'); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - $input - .off(eventNamespace, module.event.keydown) - ; - $label - .off(eventNamespace) - ; - }, - - refresh: function() { - $module = $(this); - $label = $(this).next(selector.label).first(); - $input = $(this).find(selector.input); - }, - - observeChanges: function() { - if(MutationObserver !== undefined) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, updating selector cache'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.size() > 0) { - module.debug('Attaching checkbox events to element', selector, event); - $toggle - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound); - } - }, - - event: { - keydown: function(event) { - var - key = event.which, - keyCode = { - enter : 13, - escape : 27 - } - ; - if( key == keyCode.escape) { - module.verbose('Escape key pressed blurring field'); - $module - .blur() - ; - } - if(!event.ctrlKey && key == keyCode.enter) { - module.verbose('Enter key pressed, toggling checkbox'); - $.proxy(module.toggle, this)(); - event.preventDefault(); - } - } - }, - - is: { - radio: function() { - return $module.hasClass(className.radio); - }, - checked: function() { - return $input.prop('checked') !== undefined && $input.prop('checked'); - }, - unchecked: function() { - return !module.is.checked(); - } - }, - - can: { - change: function() { - return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') ); - }, - uncheck: function() { - return (typeof settings.uncheckable === 'boolean') - ? settings.uncheckable - : !module.is.radio() - ; - } - }, - - set: { - checked: function() { - $module.addClass(className.checked); - } - }, - - remove: { - checked: function() { - $module.removeClass(className.checked); - } - }, - - disable: function() { - module.debug('Enabling checkbox functionality'); - $module.addClass(className.disabled); - $input.removeProp('disabled'); - $.proxy(settings.onDisabled, $input.get())(); - }, - - enable: function() { - module.debug('Disabling checkbox functionality'); - $module.removeClass(className.disabled); - $input.prop('disabled', 'disabled'); - $.proxy(settings.onEnabled, $input.get())(); - }, - - check: function() { - module.debug('Enabling checkbox', $input); - $input - .prop('checked', true) - .trigger('change') - ; - module.set.checked(); - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onChecked, $input.get())(); - }, - - uncheck: function() { - module.debug('Disabling checkbox'); - $input - .prop('checked', false) - .trigger('change') - ; - module.remove.checked(); - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onUnchecked, $input.get())(); - }, - - toggle: function(event) { - if( !module.can.change() ) { - console.log(module.can.change()); - module.debug('Checkbox is read-only or disabled, ignoring toggle'); - return; - } - module.verbose('Determining new checkbox state'); - if( module.is.unchecked() ) { - module.check(); - } - else if( module.is.checked() && module.can.uncheck() ) { - module.uncheck(); - } - }, - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.checkbox.settings = { - - name : 'Checkbox', - namespace : 'checkbox', - - debug : false, - verbose : true, - performance : true, - - // delegated event context - uncheckable : 'auto', - fireOnInit : true, - - onChange : function(){}, - onChecked : function(){}, - onUnchecked : function(){}, - onEnabled : function(){}, - onDisabled : function(){}, - - className : { - checked : 'checked', - disabled : 'disabled', - radio : 'radio', - readOnly : 'read-only' - }, - - error : { - method : 'The method you called is not defined.' - }, - - selector : { - input : 'input[type=checkbox], input[type=radio]', - label : 'label' - } - -}; - -})( jQuery, window , document ); diff --git a/definitions/modules/checkbox.less b/definitions/modules/checkbox.less deleted file mode 100644 index d49bcbf0f4..0000000000 --- a/definitions/modules/checkbox.less +++ /dev/null @@ -1,461 +0,0 @@ -/* - * # Semantic - Checkbox - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'checkbox'; - -@import '../../semantic.config'; - - -/******************************* - Checkbox -*******************************/ - - -/*-------------- - Content ----------------*/ - -.ui.checkbox { - position: relative; - display: inline-block; - - height: @checkboxSize; - - font-size: 1rem; - line-height: @checkboxLineHeight; - min-width: @checkboxSize; - backface-visibility: hidden; - - outline: none; - vertical-align: middle; -} -.ui.checkbox input { - position: absolute; - top: 0px; - left: 0px; - opacity: 0 !important; - outline: none; - z-index: -1; -} - - -/*-------------- - Box ----------------*/ - - -.ui.checkbox .box, -.ui.checkbox label { - cursor: pointer; - padding-left: @labelPadding; - outline: none; -} -.ui.checkbox label { - font-size: @fontSize; -} - -.ui.checkbox .box:before, -.ui.checkbox label:before { - position: absolute; - - line-height: 1; - width: @checkboxSize; - height: @checkboxSize; - top: 0em; - left: 0em; - content: ''; - - background: @checkboxBackground; - border-radius: @checkboxBorderRadius; - - transition: @checkboxTransition; - border: @checkboxBorder; -} - -/*-------------- - Checkmark ----------------*/ - -.ui.checkbox .box:after, -.ui.checkbox label:after { - position: absolute; - top: @checkboxCheckTop; - left: @checkboxCheckLeft; - line-height: @checkboxSize; - width: @checkboxSize; - height: @checkboxSize; - text-align: center; - - opacity: 0; - color: @checkboxColor; - transition: all 0.1s ease; -} - -/*-------------- - Label ----------------*/ - -/* Inside */ -.ui.checkbox label, -.ui.checkbox + label { - cursor: pointer; - color: @labelColor; - transition: color 0.2s ease; - user-select: none; -} - -/* Outside */ -.ui.checkbox + label { - vertical-align: middle; -} - - -/******************************* - States -*******************************/ - - -/*-------------- - Hover ----------------*/ - -.ui.checkbox .box:hover::before, -.ui.checkbox label:hover::before { - background: @checkboxHoverBackground; - border: @checkboxHoverBorder; -} -.ui.checkbox label:hover, -.ui.checkbox + label:hover { - color: @labelHoverColor; -} - -/*-------------- - Down ----------------*/ - -.ui.checkbox .box:active::before, -.ui.checkbox label:active::before { - background: @checkboxSelectedBackground; - border: 1px solid @checkboxSelectedBorder; -} -.ui.checkbox input:active ~ label { - color: @labelSelectedColor; -} - -/*-------------- - Focus ----------------*/ - -.ui.checkbox input:focus ~ .box:before, -.ui.checkbox input:focus ~ label:before { - background: @checkboxSelectedBackground; - border: 1px solid @checkboxSelectedBorder; -} -.ui.checkbox input:focus ~ label { - color: @labelSelectedColor; -} - - -/*-------------- - Active ----------------*/ - -.ui.checkbox input:checked ~ .box:after, -.ui.checkbox input:checked ~ label:after { - opacity: 1; -} - -/*-------------- - Read-Only ----------------*/ - -.ui.read-only.checkbox, -.ui.read-only.checkbox label { - cursor: default; -} - - -/*-------------- - Disabled ----------------*/ - -.ui.disabled.checkbox .box:after, -.ui.disabled.checkbox label, -.ui.checkbox input[disabled] ~ .box:after, -.ui.checkbox input[disabled] ~ label { - cursor: default; - opacity: @disabledCheckboxOpacity; - color: @disabledCheckboxLabelColor; -} - - -/******************************* - Types -*******************************/ - - -/*-------------- - Radio ----------------*/ - -.ui.radio.checkbox { - height: @checkboxRadioSize; -} - -/* Box */ -.ui.radio.checkbox .box:before, -.ui.radio.checkbox label:before { - width: @checkboxRadioSize; - height: @checkboxRadioSize; - border-radius: @circularRadius; - top: @checkboxRadioTop; - left: @checkboxRadioLeft; - transform: none; -} - -/* Circle */ -.ui.radio.checkbox .box:after, -.ui.radio.checkbox label:after { - border: none; - width: @checkboxRadioSize; - height: @checkboxRadioSize; - line-height: @checkboxRadioSize; - top: @checkboxRadioTop; - left: @checkboxRadioLeft; - font-size: @checkboxRadioCircleSize; -} -/* Radio Checkbox */ -.ui.radio.checkbox .box:after, -.ui.radio.checkbox label:after { - width: @checkboxRadioSize; - height: @checkboxRadioSize; - border-radius: @checkboxBulletRadius; - transform: scale(@checkboxBulletScale); - background-color: @checkboxBulletColor; -} - - -/*-------------- - Slider ----------------*/ - -.ui.slider.checkbox { - cursor: pointer; - height: @sliderHeight; -} - -.ui.slider.checkbox .box, -.ui.slider.checkbox label { - padding-left: @sliderLabelDistance; - line-height: @sliderLabelLineHeight; - color: @sliderOffLabelColor; -} - -/* Line */ -.ui.slider.checkbox .box:before, -.ui.slider.checkbox label:before { - cursor: pointer; - display: block; - - position: absolute; - content: ''; - top: @sliderLineVerticalOffset; - left: 0em; - z-index: 1; - border: none !important; - - background-color: @sliderLineColor; - width: @sliderLineWidth; - height: @sliderLineHeight; - - transform: none; - border-radius: @sliderLineRadius; - transition: - background 0.3s ease - ; -} - -/* Handle */ -.ui.slider.checkbox .box:after, -.ui.slider.checkbox label:after { - background: @handleBackground; - position: absolute; - content: ''; - opacity: 1; - z-index: 2; - - border: none; - box-shadow: @handleBoxShadow; - width: @sliderHandleSize; - height: @sliderHandleSize; - top: @sliderHandleOffset; - left: 0em; - transform: none; - - border-radius: @circularRadius; - transition: - left 0.3s ease 0s - ; -} - -/* Focus */ -.ui.slider.checkbox input:focus ~ .box:before, -.ui.slider.checkbox input:focus ~ label:before { - background-color: @toggleFocusColor; - border: none; -} - -/* Hover */ -.ui.slider.checkbox .box:hover, -.ui.slider.checkbox label:hover { - color: @sliderHoverLabelColor; -} -.ui.slider.checkbox .box:hover::before, -.ui.slider.checkbox label:hover::before { - background: @sliderHoverLaneBackground; -} - -/* Active */ -.ui.slider.checkbox input:checked ~ .box, -.ui.slider.checkbox input:checked ~ label { - color: @sliderOnLabelColor; -} -.ui.slider.checkbox input:checked ~ .box:before, -.ui.slider.checkbox input:checked ~ label:before { - background-color: @sliderOnLineColor; -} -.ui.slider.checkbox input:checked ~ .box:after, -.ui.slider.checkbox input:checked ~ label:after { - left: @sliderTravelDistance; -} - - -/*-------------- - Toggle ----------------*/ - -.ui.toggle.checkbox { - cursor: pointer; - height: @toggleHeight; -} - -.ui.toggle.checkbox .box, -.ui.toggle.checkbox label { - height: @toggleHandleSize; - padding-left: @toggleLabelDistance; - line-height: @toggleLabelLineHeight; - color: @toggleOffLabelColor; -} - -/* Switch */ -.ui.toggle.checkbox .box:before, -.ui.toggle.checkbox label:before { - cursor: pointer; - display: block; - - position: absolute; - content: ''; - - top: @toggleLaneVerticalOffset; - z-index: 1; - border: none; - - background-color: @neutralCheckbox; - width: @toggleLaneWidth; - height: @toggleLaneHeight; - border-radius: @toggleHandleRadius; -} - -/* Handle */ -.ui.toggle.checkbox .box:after, -.ui.toggle.checkbox label:after { - background: @handleBackground; - position: absolute; - content: ''; - opacity: 1; - z-index: 2; - - border: none; - box-shadow: @handleBoxShadow; - width: @toggleHandleSize; - height: @toggleHandleSize; - top: @toggleHandleOffset; - left: 0em; - - border-radius: @circularRadius; - transition: - background 0.3s ease 0s, - left 0.3s ease 0s - ; -} - -.ui.toggle.checkbox input ~ .box:after, -.ui.toggle.checkbox input ~ label:after { - left: @toggleOffOffset; -} - -/* Focus */ -.ui.toggle.checkbox input:focus ~ .box:before, -.ui.toggle.checkbox input:focus ~ label:before { - background-color: @toggleFocusColor; - border: none; -} - -/* Hover */ -.ui.toggle.checkbox .box:hover::before, -.ui.toggle.checkbox label:hover::before { - background-color: @toggleHoverColor; - border: none; -} - -/* Active */ -.ui.toggle.checkbox input:checked ~ .box, -.ui.toggle.checkbox input:checked ~ label { - color: @toggleOnLabelColor; -} -.ui.toggle.checkbox input:checked ~ .box:before, -.ui.toggle.checkbox input:checked ~ label:before { - background-color: @toggleOnLaneColor; -} -.ui.toggle.checkbox input:checked ~ .box:after, -.ui.toggle.checkbox input:checked ~ label:after { - left: @toggleOnOffset; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Fitted ----------------*/ - -.ui.fitted.checkbox .box, -.ui.fitted.checkbox label { - padding-left: 0em !important; -} - -.ui.fitted.toggle.checkbox, -.ui.fitted.toggle.checkbox { - width: @toggleWidth; -} - -.ui.fitted.slider.checkbox, -.ui.fitted.slider.checkbox { - width: @sliderWidth; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/dimmer.js b/definitions/modules/dimmer.js deleted file mode 100644 index 236b7749fe..0000000000 --- a/definitions/modules/dimmer.js +++ /dev/null @@ -1,626 +0,0 @@ -/* - * # Semantic - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -$.fn.dimmer = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.dimmer.settings, parameters) - : $.extend({}, $.fn.dimmer.settings), - - selector = settings.selector, - namespace = settings.namespace, - className = settings.className, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - clickEvent = ('ontouchstart' in document.documentElement) - ? 'touchstart' - : 'click', - - $module = $(this), - $dimmer, - $dimmable, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - preinitialize: function() { - if( module.is.dimmer() ) { - $dimmable = $module.parent(); - $dimmer = $module; - } - else { - $dimmable = $module; - if( module.has.dimmer() ) { - if(settings.dimmerName) { - $dimmer = $dimmable.children(selector.dimmer).filter('.' + settings.dimmerName); - } - else { - $dimmer = $dimmable.children(selector.dimmer); - } - } - else { - $dimmer = module.create(); - } - } - }, - - initialize: function() { - module.debug('Initializing dimmer', settings); - if(settings.on == 'hover') { - $dimmable - .on('mouseenter' + eventNamespace, module.show) - .on('mouseleave' + eventNamespace, module.hide) - ; - } - else if(settings.on == 'click') { - $dimmable - .on(clickEvent + eventNamespace, module.toggle) - ; - } - if( module.is.page() ) { - module.debug('Setting as a page dimmer', $dimmable); - module.set.pageDimmer(); - } - - if( module.is.closable() ) { - module.verbose('Adding dimmer close event', $dimmer); - $dimmer - .on(clickEvent + eventNamespace, module.event.click) - ; - } - module.set.dimmable(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', $dimmer); - $module - .removeData(moduleNamespace) - ; - $dimmable - .off(eventNamespace) - ; - $dimmer - .off(eventNamespace) - ; - }, - - event: { - click: function(event) { - module.verbose('Determining if event occured on dimmer', event); - if( $dimmer.find(event.target).size() === 0 || $(event.target).is(selector.content) ) { - module.hide(); - event.stopImmediatePropagation(); - } - } - }, - - addContent: function(element) { - var - $content = $(element) - ; - module.debug('Add content to dimmer', $content); - if($content.parent()[0] !== $dimmer[0]) { - $content.detach().appendTo($dimmer); - } - }, - - create: function() { - var - $element = $( settings.template.dimmer() ) - ; - if(settings.variation) { - module.debug('Creating dimmer with variation', settings.variation); - $element.addClass(className.variation); - } - if(settings.dimmerName) { - module.debug('Creating named dimmer', settings.dimmerName); - $element.addClass(settings.dimmerName); - } - $element - .appendTo($dimmable) - ; - return $element; - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.debug('Showing dimmer', $dimmer, settings); - if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) { - module.animate.show(callback); - $.proxy(settings.onShow, element)(); - $.proxy(settings.onChange, element)(); - } - else { - module.debug('Dimmer is already shown or disabled'); - } - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( module.is.dimmed() || module.is.animating() ) { - module.debug('Hiding dimmer', $dimmer); - module.animate.hide(callback); - $.proxy(settings.onHide, element)(); - $.proxy(settings.onChange, element)(); - } - else { - module.debug('Dimmer is not visible'); - } - }, - - toggle: function() { - module.verbose('Toggling dimmer visibility', $dimmer); - if( !module.is.dimmed() ) { - module.show(); - } - else { - module.hide(); - } - }, - - animate: { - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) { - $dimmer - .transition({ - animation : settings.transition + ' in', - queue : false, - duration : module.get.duration(), - start : function() { - module.set.dimmed(); - }, - complete : function() { - module.set.active(); - callback(); - } - }) - ; - } - else { - module.verbose('Showing dimmer animation with javascript'); - module.set.dimmed(); - $dimmer - .stop() - .css({ - opacity : 0, - width : '100%', - height : '100%' - }) - .fadeTo(module.get.duration(), 1, function() { - $dimmer.removeAttr('style'); - module.set.active(); - callback(); - }) - ; - } - }, - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) { - module.verbose('Hiding dimmer with css'); - $dimmer - .transition({ - animation : settings.transition + ' out', - queue : false, - duration : module.get.duration(), - start: function() { - module.remove.dimmed(); - }, - complete : function() { - module.remove.active(); - callback(); - } - }) - ; - } - else { - module.verbose('Hiding dimmer with javascript'); - module.remove.dimmed(); - $dimmer - .stop() - .fadeOut(module.get.duration(), function() { - module.remove.active(); - $dimmer.removeAttr('style'); - callback(); - }) - ; - } - } - }, - - get: { - dimmer: function() { - return $dimmer; - }, - duration: function() { - if(typeof settings.duration == 'object') { - if( module.is.active() ) { - return settings.duration.hide; - } - else { - return settings.duration.show; - } - } - return settings.duration; - } - }, - - has: { - dimmer: function() { - if(settings.dimmerName) { - return ($module.children(selector.dimmer).filter('.' + settings.dimmerName).size() > 0); - } - else { - return ( $module.children(selector.dimmer).size() > 0 ); - } - } - }, - - is: { - active: function() { - return $dimmer.hasClass(className.active); - }, - animating: function() { - return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) ); - }, - closable: function() { - if(settings.closable == 'auto') { - if(settings.on == 'hover') { - return false; - } - return true; - } - return settings.closable; - }, - dimmer: function() { - return $module.is(selector.dimmer); - }, - dimmable: function() { - return $module.is(selector.dimmable); - }, - dimmed: function() { - return $dimmable.hasClass(className.dimmed); - }, - disabled: function() { - return $dimmable.hasClass(className.disabled); - }, - enabled: function() { - return !module.is.disabled(); - }, - page: function () { - return $dimmable.is('body'); - }, - pageDimmer: function() { - return $dimmer.hasClass(className.pageDimmer); - } - }, - - can: { - show: function() { - return !$dimmer.hasClass(className.disabled); - } - }, - - set: { - active: function() { - $dimmer.addClass(className.active); - }, - dimmable: function() { - $dimmable.addClass(className.dimmable); - }, - dimmed: function() { - $dimmable.addClass(className.dimmed); - }, - pageDimmer: function() { - $dimmer.addClass(className.pageDimmer); - }, - disabled: function() { - $dimmer.addClass(className.disabled); - } - }, - - remove: { - active: function() { - $dimmer - .removeClass(className.active) - ; - }, - dimmed: function() { - $dimmable.removeClass(className.dimmed); - }, - disabled: function() { - $dimmer.removeClass(className.disabled); - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - module.preinitialize(); - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.dimmer.settings = { - - name : 'Dimmer', - namespace : 'dimmer', - - debug : false, - verbose : true, - performance : true, - - dimmerName : false, - variation : false, - closable : 'auto', - transition : 'fade', - useCSS : true, - on : false, - - duration : { - show : 500, - hide : 500 - }, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - error : { - method : 'The method you called is not defined.' - }, - - selector: { - dimmable : '.dimmable', - dimmer : '.ui.dimmer', - content : '.ui.dimmer > .content, .ui.dimmer > .content > .center' - }, - - template: { - dimmer: function() { - return $('
').attr('class', 'ui dimmer'); - } - }, - - className : { - active : 'active', - animating : 'animating', - dimmable : 'dimmable', - dimmed : 'dimmed', - disabled : 'disabled', - hide : 'hide', - pageDimmer : 'page', - show : 'show' - } - -}; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/modules/dimmer.less b/definitions/modules/dimmer.less deleted file mode 100644 index 7cd8e21a31..0000000000 --- a/definitions/modules/dimmer.less +++ /dev/null @@ -1,174 +0,0 @@ -/* - * # Semantic - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'dimmer'; - -@import '../../semantic.config'; - - -/******************************* - Dimmer -*******************************/ - -.dimmable { - position: @dimmablePosition; -} - -.ui.dimmer { - display: none; - position: @dimmerPosition; - top: 0em !important; - left: 0em !important; - - width: 100%; - height: 100%; - - text-align: @textAlign; - vertical-align: @verticalAlign; - - background: @background; - opacity: @hiddenOpacity; - line-height: @lineHeight; - - animation-fill-mode: both; - animation-duration: @duration; - transition: @transition; - - user-select: none; - will-change: opacity; - z-index: @zIndex; -} - -/* Dimmer Content */ -.ui.dimmer > .content { - width: 100%; - height: 100%; - display: @contentDisplay; - user-select: text; -} -.ui.dimmer > .content > div { - display: @contentChildDisplay; - vertical-align: @verticalAlign; - color: @textColor; -} - - -/* Loose Coupling */ -.ui.segment > .ui.dimmer { - border-radius: inherit !important; -} - -/******************************* - States -*******************************/ - -.animating.dimmable:not(body), -.dimmed.dimmable:not(body) { - overflow: @overflow; -} - -.dimmed.dimmable > .ui.animating.dimmer, -.dimmed.dimmable > .ui.visible.dimmer, -.ui.active.dimmer { - display: block; - opacity: @visibleOpacity; -} - -.ui.disabled.dimmer { - width: 0 !important; - height: 0 !important; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Page ----------------*/ - -.ui.page.dimmer { - position: @pageDimmerPosition; - transform-style: @transformStyle; - perspective: @perspective; - transform-origin: center center; -} - -body.animating.in.dimmable, -body.dimmed.dimmable { - overflow: hidden; -} -body.dimmable > .dimmer { - position: fixed; -} - -body.dimmed.dimmable > :not(.dimmer){ - filter: @elementFilter; -} - -/*-------------- - Aligned ----------------*/ - -.ui.dimmer > .top.aligned.content > * { - vertical-align: top; -} -.ui.dimmer > .bottom.aligned.content > * { - vertical-align: bottom; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.dimmer { - background: @invertedBackground; -} -.ui.inverted.dimmer > .content > * { - color: @textColor; -} - -/*-------------- - Simple ----------------*/ - -/* Displays without javascript */ -.ui.simple.dimmer { - display: block; - overflow: hidden; - opacity: 1; - width: 0%; - height: 0%; - z-index: -100; - background-color: @simpleStartBackground; -} -.dimmed.dimmable > .ui.simple.dimmer { - overflow: visible; - opacity: 1; - width: 100%; - height: 100%; - background: @simpleEndBackground; - z-index: @simpleZIndex; -} - -.ui.simple.inverted.dimmer { - background: @simpleInvertedStartBackground; -} -.dimmed.dimmable > .ui.simple.inverted.dimmer { - background: @simpleInvertedEndBackground; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/dropdown.js b/definitions/modules/dropdown.js deleted file mode 100644 index 9e8d9ceb20..0000000000 --- a/definitions/modules/dropdown.js +++ /dev/null @@ -1,1440 +0,0 @@ -/* - * # Semantic - Dropdown - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.dropdown = function(parameters) { - var - $allModules = $(this), - $document = $(document), - - moduleSelector = $allModules.selector || '', - - hasTouch = ('ontouchstart' in document.documentElement), - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.dropdown.settings, parameters) - : $.extend({}, $.fn.dropdown.settings), - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $text = $module.find(selector.text), - $search = $module.find(selector.search), - $input = $module.find(selector.input), - - $combo = ($module.prev().find(selector.text).size() > 0) - ? $module.prev().find(selector.text) - : $module.prev(), - - $menu = $module.children(selector.menu), - $item = $menu.find(selector.item), - - activated = false, - selectionCache = false, - element = this, - instance = $module.data(moduleNamespace), - observer, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing dropdown', settings); - module.setup.layout(); - module.save.defaults(); - module.set.selected(); - - if(hasTouch) { - module.bind.touchEvents(); - } - module.observeChanges(); - module.bind.mouseEvents(); - module.bind.keyboardEvents(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of dropdown', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous dropdown for', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - observeChanges: function() { - if(MutationObserver !== undefined) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, updating selector cache'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - setup: { - - layout: function() { - if( $module.is('select') ) { - module.setup.select(); - } - if( module.is.search() && !module.is.searchable() ) { - $search = $('') - .addClass(className.search) - .insertBefore($text) - ; - } - if(settings.allowTab) { - if( module.is.searchable() ) { - module.debug('Searchable dropdown initialized'); - $search - .val('') - .attr('tabindex', 0) - ; - $menu - .attr('tabindex', '-1') - ; - } - else { - module.debug('Simple selection dropdown initialized'); - if(!$module.attr('tabindex') ) { - $module - .attr('tabindex', 0) - ; - $menu - .attr('tabindex', '-1') - ; - } - } - } - }, - select: function() { - var - selectValues = module.get.selectValues() - ; - module.debug('Dropdown initialized on a select', selectValues); - // see if select exists inside a dropdown - $input = $module; - if($input.parents(selector.dropdown).size() > 0) { - module.debug('Creating dropdown menu only from template'); - $module = $input.closest(selector.dropdown); - if($module.find('.' + className.dropdown).size() === 0) { - $('
') - .addClass(className.menu) - .html( settings.templates.menu( selectValues )) - .appendTo($module) - ; - } - } - else { - module.debug('Creating entire dropdown from template'); - $module = $('
') - .attr('class', $input.attr('class') ) - .addClass(className.selection) - .addClass(className.dropdown) - .html( settings.templates.dropdown(selectValues) ) - .insertBefore($input) - ; - $input - .removeAttr('class') - .prependTo($module) - ; - } - module.refresh(); - } - }, - - refresh: function() { - $text = $module.find(selector.text); - $search = $module.find(selector.search); - $input = $module.find(selector.input); - $menu = $module.children(selector.menu); - $item = $menu.find(selector.item); - }, - - toggle: function() { - module.verbose('Toggling menu visibility'); - console.log(module.is.active()); - if( !module.is.active() ) { - module.show(); - } - else { - module.hide(); - } - }, - - show: function() { - module.debug('Checking if dropdown can show'); - if( !module.is.active() ) { - module.animate.show(function() { - if( module.can.click() ) { - module.bind.intent(); - } - module.set.visible(); - }); - $.proxy(settings.onShow, element)(); - } - }, - - hide: function() { - if( module.is.active() ) { - module.debug('Hiding dropdown'); - module.animate.hide(function() { - module.remove.filteredItem(); - module.remove.visible(); - }); - $.proxy(settings.onHide, element)(); - } - }, - - hideOthers: function() { - module.verbose('Finding other dropdowns to hide'); - $allModules - .not($module) - .has(selector.menu + ':visible:not(.' + className.animating + ')') - .dropdown('hide') - ; - }, - - hideSubMenus: function() { - var - $subMenus = $menu.find(selector.menu), - $activeSubMenu = $subMenus.has(selector.item + '.' + className.active) - ; - console.log($subMenus.not($activeSubMenu)); - $subMenus - .not($activeSubMenu) - .removeClass(className.visible) - .removeAttr('style') - ; - }, - - bind: { - keyboardEvents: function() { - module.debug('Binding keyboard events'); - $module - .on('keydown' + eventNamespace, module.event.keydown) - ; - if( module.is.searchable() ) { - $module - .on(module.get.inputEvent(), selector.search, module.event.input) - ; - } - if( module.is.searchSelection() ) { - $module - .on('focus' + eventNamespace, selector.search, module.event.searchFocus) - .on('blur' + eventNamespace, selector.search, module.event.searchBlur) - ; - } - else { - $module - .on('mousedown', module.event.mousedown) - .on('mouseup', module.event.mouseup) - .on('focus' + eventNamespace, module.event.focus) - .on('blur' + eventNamespace, module.event.blur) - ; - } - }, - touchEvents: function() { - module.debug('Touch device detected binding touch events'); - if( !module.is.searchSelection() ) { - $module - .on('touchstart' + eventNamespace, module.event.test.toggle) - ; - } - $module - .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter) - .on('touchstart' + eventNamespace, selector.item, module.event.item.click) - ; - }, - mouseEvents: function() { - module.verbose('Mouse detected binding mouse events'); - if( !module.is.searchSelection() ) { - if(settings.on == 'click') { - $module - .on('click' + eventNamespace, module.event.test.toggle) - ; - } - else if(settings.on == 'hover') { - $module - .on('mouseenter' + eventNamespace, module.delay.show) - .on('mouseleave' + eventNamespace, module.delay.hide) - ; - } - else { - $module - .on(settings.on + eventNamespace, module.toggle) - ; - } - } - $module - .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter) - .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave) - .on('click' + eventNamespace, selector.item, module.event.item.click) - ; - }, - intent: function() { - module.verbose('Binding hide intent event to document'); - if(hasTouch) { - $document - .on('touchstart' + eventNamespace, module.event.test.touch) - .on('touchmove' + eventNamespace, module.event.test.touch) - ; - } - $document - .on('click' + eventNamespace, module.event.test.hide) - ; - } - }, - - unbind: { - intent: function() { - module.verbose('Removing hide intent event from document'); - if(hasTouch) { - $document - .off('touchstart' + eventNamespace) - .off('touchmove' + eventNamespace) - ; - } - $document - .off('click' + eventNamespace) - ; - } - }, - - filter: function(searchTerm) { - var - $results = $(), - exactRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'), - fullTextRegExp = new RegExp(searchTerm, 'i'), - $filteredItems - ; - $item - .each(function(){ - var - $choice = $(this), - text = ( $choice.data(metadata.text) !== undefined ) - ? $choice.data(metadata.text) - : (settings.preserveHTML) - ? $choice.html() - : $choice.text(), - value = ( $choice.data(metadata.value) !== undefined) - ? $choice.data(metadata.value) - : (typeof text === 'string') - ? text.toLowerCase() - : text - ; - if( exactRegExp.test( text ) || exactRegExp.test( value ) ) { - $results = $results.add($choice); - } - else if(settings.fullTextSearch) { - if( fullTextRegExp.test( text ) || fullTextRegExp.test( value ) ) { - $results = $results.add($choice); - } - } - }) - ; - $filteredItems = $item.not($results); - module.remove.filteredItem(); - module.remove.selectedItem(); - $filteredItems - .addClass(className.filtered) - ; - $item - .not('.' + className.filtered) - .eq(0) - .addClass(className.selected) - ; - }, - - event: { - // prevents focus callback from occuring on mousedown - mousedown: function() { - activated = true; - }, - mouseup: function() { - activated = false; - }, - focus: function() { - if(!activated) { - module.show(); - } - }, - blur: function(event) { - if(!activated) { - module.hide(); - } - }, - searchFocus: function() { - activated = true; - module.show(); - }, - searchBlur: function(event) { - module.hide(); - }, - input: function(event) { - var - query = $search.val() - ; - $text.addClass(className.filtered); - module.filter(query); - }, - keydown: function(event) { - var - $selectedItem = $item.not(className.filtered).filter('.' + className.selected).eq(0), - $visibleItems = $item.not('.' + className.filtered), - pressedKey = event.which, - keys = { - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - selectedClass = className.selected, - currentIndex = $visibleItems.index( $selectedItem ), - hasSelectedItem = ($selectedItem.size() > 0), - $nextItem, - newIndex - ; - // default to activated choice if no selection present - if(!hasSelectedItem) { - $selectedItem = $item.filter('.' + className.active).eq(0); - hasSelectedItem = ($selectedItem.size() > 0); - } - // close shortcuts - if(pressedKey == keys.escape) { - module.verbose('Escape key pressed, closing dropdown'); - $search.blur(); - module.hide(); - } - // result shortcuts - if(module.is.visible()) { - if(pressedKey == keys.enter && hasSelectedItem) { - module.verbose('Enter key pressed, choosing selected item'); - if(module.is.searchable()) { - module.verbose('Removing focus from search input'); - $search.blur(); - } - $.proxy(module.event.item.click, $selectedItem)(event); - event.preventDefault(); - return false; - } - else if(pressedKey == keys.upArrow) { - if(!hasSelectedItem) { - $nextItem = $visibleItems.eq(0); - } - else { - $nextItem = $selectedItem.prevAll(selector.item + ':not(.' + className.filtered + ')').eq(0); - } - if(currentIndex !== 0) { - module.verbose('Up key pressed, changing active item'); - $item - .removeClass(selectedClass) - ; - $nextItem - .addClass(selectedClass) - ; - module.set.scrollPosition($nextItem); - } - event.preventDefault(); - } - else if(pressedKey == keys.downArrow) { - if(!hasSelectedItem) { - $nextItem = $visibleItems.eq(0); - } - else { - $nextItem = $selectedItem.nextAll(selector.item + ':not(.' + className.filtered + ')').eq(0); - } - if(currentIndex + 1 < $visibleItems.size() ) { - module.verbose('Down key pressed, changing active item'); - $item - .removeClass(selectedClass) - ; - $nextItem - .addClass(selectedClass) - ; - module.set.scrollPosition($nextItem); - } - event.preventDefault(); - } - } - else { - if(pressedKey == keys.enter) { - module.show(); - } - } - }, - test: { - toggle: function(event) { - if( module.determine.eventInMenu(event, module.toggle) ) { - event.preventDefault(); - } - }, - touch: function(event) { - module.determine.eventInMenu(event, function() { - if(event.type == 'touchstart') { - module.timer = setTimeout(module.hide, settings.delay.touch); - } - else if(event.type == 'touchmove') { - clearTimeout(module.timer); - } - }); - event.stopPropagation(); - }, - hide: function(event) { - module.determine.eventInModule(event, module.hide); - } - }, - - item: { - - mouseenter: function(event) { - var - $currentMenu = $(this).find(selector.menu), - $otherMenus = $(this).siblings(selector.item).children(selector.menu) - ; - if( $currentMenu.size() > 0 ) { - clearTimeout(module.itemTimer); - module.itemTimer = setTimeout(function() { - module.animate.hide(false, $otherMenus); - module.verbose('Showing sub-menu', $currentMenu); - module.animate.show(false, $currentMenu); - }, settings.delay.show * 2); - event.preventDefault(); - } - }, - - mouseleave: function(event) { - var - $currentMenu = $(this).find(selector.menu) - ; - if($currentMenu.size() > 0) { - clearTimeout(module.itemTimer); - module.itemTimer = setTimeout(function() { - module.verbose('Hiding sub-menu', $currentMenu); - module.animate.hide(false, $currentMenu); - }, settings.delay.hide); - } - }, - - click: function (event) { - var - $choice = $(this), - text = ( $choice.data(metadata.text) !== undefined ) - ? $choice.data(metadata.text) - : (settings.preserveHTML) - ? $choice.html() - : $choice.text(), - value = ( $choice.data(metadata.value) !== undefined) - ? $choice.data(metadata.value) - : (typeof text === 'string') - ? text.toLowerCase() - : text, - callback = function() { - $search.val(''); - module.determine.selectAction(text, value); - $.proxy(settings.onChange, element)(value, text, $choice); - }, - openingSubMenu = ($choice.find(selector.menu).size() > 0) - ; - if( !openingSubMenu ) { - if(event.type == 'touchstart') { - $choice.one('click', callback); - } - else { - callback(); - } - } - } - - }, - - resetStyle: function() { - $(this).removeAttr('style'); - } - - }, - - determine: { - selectAction: function(text, value) { - module.verbose('Determining action', settings.action); - if( $.isFunction( module.action[settings.action] ) ) { - module.verbose('Triggering preset action', settings.action, text, value); - module.action[ settings.action ](text, value); - } - else if( $.isFunction(settings.action) ) { - module.verbose('Triggering user action', settings.action, text, value); - settings.action(text, value); - } - else { - module.error(error.action, settings.action); - } - }, - eventInModule: function(event, callback) { - callback = callback || function(){}; - if( $(event.target).closest($module).size() === 0 ) { - module.verbose('Triggering event', callback); - callback(); - return true; - } - else { - module.verbose('Event occurred in dropdown, canceling callback'); - return false; - } - }, - eventInMenu: function(event, callback) { - callback = callback || function(){}; - if( $(event.target).closest($menu).size() === 0 ) { - module.verbose('Triggering event', callback); - callback(); - return true; - } - else { - module.verbose('Event occurred in dropdown menu, canceling callback'); - return false; - } - } - }, - - action: { - - nothing: function() {}, - - hide: function() { - module.hide(); - }, - - select: function(text, value) { - value = (value !== undefined) - ? value - : text - ; - module.set.selected(value); - module.set.value(value); - module.hide(); - }, - - activate: function(text, value) { - value = (value !== undefined) - ? value - : text - ; - module.set.selected(value); - module.set.value(value); - module.hide(); - }, - - combo: function(text, value) { - value = (value !== undefined) - ? value - : text - ; - module.set.selected(value); - module.set.value(value); - module.hide(); - } - - }, - - get: { - text: function() { - return $text.text(); - }, - value: function() { - return ($input.size() > 0) - ? $input.val() - : $module.data(metadata.value) - ; - }, - inputEvent: function() { - var - input = $search[0] - ; - if(input) { - return (input.oninput !== undefined) - ? 'input' - : (input.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - } - return false; - }, - selectValues: function() { - var - select = { - values : {} - } - ; - $module - .find('option') - .each(function() { - var - name = $(this).html(), - value = ( $(this).attr('value') !== undefined ) - ? $(this).attr('value') - : name - ; - if(value === '') { - select.placeholder = name; - } - else { - select.values[value] = name; - } - }) - ; - module.debug('Retrieved values from select', select); - return select; - }, - item: function(value, strict) { - var - $selectedItem = false - ; - value = (value !== undefined) - ? value - : ( module.get.value() !== undefined) - ? module.get.value() - : module.get.text() - ; - strict = (value === '' || value === 0) - ? true - : strict || false - ; - if(value !== undefined) { - $item - .each(function() { - var - $choice = $(this), - optionText = ( $choice.data(metadata.text) !== undefined ) - ? $choice.data(metadata.text) - : (settings.preserveHTML) - ? $choice.html() - : $choice.text(), - optionValue = ( $choice.data(metadata.value) !== undefined ) - ? $choice.data(metadata.value) - : (typeof optionText === 'string') - ? optionText.toLowerCase() - : optionText - ; - if(strict) { - module.debug('Ambiguous dropdown value using strict type check', value); - if( optionValue === value ) { - $selectedItem = $(this); - } - else if( !$selectedItem && optionText === value ) { - $selectedItem = $(this); - } - } - else { - if( optionValue == value ) { - module.verbose('Found select item by value', optionValue, value); - $selectedItem = $(this); - } - else if( !$selectedItem && optionText == value ) { - module.verbose('Found select item by text', optionText, value); - $selectedItem = $(this); - } - } - }) - ; - } - else { - value = module.get.text(); - } - return $selectedItem || false; - } - }, - - restore: { - defaults: function() { - module.restore.defaultText(); - module.restore.defaultValue(); - }, - defaultText: function() { - var - defaultText = $module.data(metadata.defaultText) - ; - module.debug('Restoring default text', defaultText); - module.set.text(defaultText); - }, - defaultValue: function() { - var - defaultValue = $module.data(metadata.defaultValue) - ; - if(defaultValue !== undefined) { - module.debug('Restoring default value', defaultValue); - module.set.selected(defaultValue); - module.set.value(defaultValue); - } - } - }, - - save: { - defaults: function() { - module.save.defaultText(); - module.save.defaultValue(); - }, - defaultValue: function() { - $module.data(metadata.defaultValue, module.get.value() ); - }, - defaultText: function() { - $module.data(metadata.defaultText, $text.text() ); - } - }, - - set: { - scrollPosition: function($item) { - var - $item = $item || module.get.item(), - hasActive = ($item && $item.size() > 0), - edgeTolerance = 5, - offset, - itemHeight, - itemOffset, - menuOffset, - menuScroll, - menuHeight, - abovePage, - belowPage - ; - if($item && hasActive) { - menuHeight = $menu.height(); - itemHeight = $item.height(); - menuScroll = $menu.scrollTop(); - menuOffset = $menu.offset().top; - itemOffset = $item.offset().top; - offset = menuScroll - menuOffset + itemOffset; - belowPage = menuScroll + menuHeight < (offset + edgeTolerance); - abovePage = ((offset - edgeTolerance) < menuScroll); - if(abovePage || belowPage) { - module.debug('Scrolling to active item'); - $menu - .scrollTop(offset) - ; - } - } - }, - text: function(text) { - if(settings.action == 'combo') { - module.debug('Changing combo button text', text, $combo); - if(settings.preserveHTML) { - $combo.html(text); - } - else { - $combo.text(text); - } - } - else if(settings.action !== 'select') { - module.debug('Changing text', text, $text); - $text - .removeClass(className.filtered) - .removeClass(className.placeholder) - ; - if(settings.preserveHTML) { - $text.html(text); - } - else { - $text.text(text); - } - } - }, - value: function(value) { - module.debug('Adding selected value to hidden input', value, $input); - if($input.size() > 0) { - $input - .val(value) - .trigger('change') - ; - } - else { - $module.data(metadata.value, value); - } - }, - active: function() { - $module - .addClass(className.active) - ; - }, - visible: function() { - $module.addClass(className.visible); - }, - selected: function(value) { - var - $selectedItem = module.get.item(value), - selectedText - ; - if($selectedItem) { - module.debug('Setting selected menu item to', $selectedItem); - selectedText = ($selectedItem.data(metadata.text) !== undefined) - ? $selectedItem.data(metadata.text) - : (settings.preserveHTML) - ? $selectedItem.html() - : $selectedItem.text() - ; - module.remove.activeItem(); - module.remove.selectedItem(); - $selectedItem - .addClass(className.active) - .addClass(className.selected) - ; - module.set.text(selectedText); - } - } - }, - - remove: { - active: function() { - $module.removeClass(className.active); - }, - visible: function() { - $module.removeClass(className.visible); - }, - activeItem: function() { - $item.removeClass(className.active); - }, - filteredItem: function() { - $item.removeClass(className.filtered); - }, - selectedItem: function() { - $item.removeClass(className.selected); - } - }, - - is: { - search: function() { - return $module.hasClass(className.search); - }, - searchable: function() { - return ($search.size() > 0); - }, - searchSelection: function() { - return ( module.is.searchable() && $search.parent().is($module) ); - }, - selection: function() { - return $module.hasClass(className.selection); - }, - animated: function($subMenu) { - return ($subMenu) - ? $subMenu.is(':animated') || $subMenu.transition && $subMenu.transition('is animating') - : $menu.is(':animated') || $menu.transition && $menu.transition('is animating') - ; - }, - active: function() { - return $module.hasClass(className.active); - }, - visible: function($subMenu) { - return ($subMenu) - ? $subMenu.is(':visible') - : $menu.is(':visible') - ; - }, - hidden: function($subMenu) { - return ($subMenu) - ? $subMenu.is(':hidden') - : $menu.is(':hidden') - ; - } - }, - - can: { - click: function() { - return (hasTouch || settings.on == 'click'); - }, - show: function() { - return !$module.hasClass(className.disabled); - } - }, - - animate: { - show: function(callback, $subMenu) { - var - $currentMenu = $subMenu || $menu, - start = ($subMenu) - ? function() {} - : function() { - module.hideOthers(); - module.set.active(); - module.set.scrollPosition(); - } - ; - callback = callback || function(){}; - module.verbose('Doing menu show animation', $currentMenu); - if( module.is.hidden($currentMenu) ) { - if(settings.transition == 'none') { - $.proxy(callback, element)(); - } - else if($.fn.transition !== undefined && $module.transition('is supported')) { - console.log('showing menu'); - $currentMenu - .transition({ - animation : settings.transition + ' in', - duration : settings.duration, - queue : true, - start : start, - complete : function() { - $.proxy(callback, element)(); - } - }) - ; - } - else if(settings.transition == 'slide down') { - start(); - $currentMenu - .hide() - .clearQueue() - .children() - .clearQueue() - .css('opacity', 0) - .delay(50) - .animate({ - opacity : 1 - }, settings.duration, 'easeOutQuad', module.event.resetStyle) - .end() - .slideDown(100, 'easeOutQuad', function() { - $.proxy(module.event.resetStyle, this)(); - $.proxy(callback, element)(); - }) - ; - } - else if(settings.transition == 'fade') { - start(); - $currentMenu - .hide() - .clearQueue() - .fadeIn(settings.duration, function() { - $.proxy(module.event.resetStyle, this)(); - $.proxy(callback, element)(); - }) - ; - } - else { - module.error(error.transition, settings.transition); - } - } - }, - hide: function(callback, $subMenu) { - var - $currentMenu = $subMenu || $menu, - start = ($subMenu) - ? function() {} - : function() { - if( module.can.click() ) { - module.unbind.intent(); - } - module.hideSubMenus(); - module.remove.active(); - } - ; - callback = callback || function(){}; - if( module.is.visible($currentMenu) ) { - module.verbose('Doing menu hide animation', $currentMenu); - - if(settings.transition == 'none') { - $.proxy(callback, element)(); - } - else if($.fn.transition !== undefined && $module.transition('is supported')) { - $currentMenu - .transition({ - animation : settings.transition + ' out', - duration : settings.duration, - queue : true, - start : start, - complete : function() { - $.proxy(callback, element)(); - } - }) - ; - } - else if(settings.transition == 'slide down') { - start(); - $currentMenu - .show() - .clearQueue() - .children() - .clearQueue() - .css('opacity', 1) - .animate({ - opacity : 0 - }, 100, 'easeOutQuad', module.event.resetStyle) - .end() - .delay(50) - .slideUp(100, 'easeOutQuad', function() { - $.proxy(module.event.resetStyle, this)(); - $.proxy(callback, element)(); - }) - ; - } - else if(settings.transition == 'fade') { - start(); - $currentMenu - .show() - .clearQueue() - .fadeOut(150, function() { - $.proxy(module.event.resetStyle, this)(); - $.proxy(callback, element)(); - }) - ; - } - else { - module.error(error.transition); - } - } - } - }, - - delay: { - show: function() { - module.verbose('Delaying show event to ensure user intent'); - clearTimeout(module.timer); - module.timer = setTimeout(module.show, settings.delay.show); - }, - hide: function() { - module.verbose('Delaying hide event to ensure user intent'); - clearTimeout(module.timer); - module.timer = setTimeout(module.hide, settings.delay.hide); - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.dropdown.settings = { - - /* Behavior */ - on : 'click', - action : 'activate', - - allowTab : true, - fullTextSearch : true, - preserveHTML : true, - - delay : { - show : 200, - hide : 300, - touch : 50 - }, - - transition : 'slide down', - duration : 250, - - /* Callbacks */ - onChange : function(value, text){}, - onShow : function(){}, - onHide : function(){}, - - /* Component */ - name : 'Dropdown', - namespace : 'dropdown', - - debug : false, - verbose : true, - performance : true, - - error : { - action : 'You called a dropdown action that was not defined', - method : 'The method you called is not defined.', - transition : 'The requested transition was not found' - }, - - metadata: { - defaultText : 'defaultText', - defaultValue : 'defaultValue', - text : 'text', - value : 'value' - }, - - selector : { - dropdown : '.ui.dropdown', - text : '> .text:not(.icon)', - input : '> input[type="hidden"], > select', - search : '> .search, .menu > .search > input, .menu > input.search', - menu : '.menu', - item : '.item' - }, - - className : { - active : 'active', - animating : 'animating', - disabled : 'disabled', - dropdown : 'ui dropdown', - filtered : 'filtered', - menu : 'menu', - placeholder : 'default', - search : 'search', - selected : 'selected', - selection : 'selection', - visible : 'visible' - } - -}; - -/* Templates */ -$.fn.dropdown.settings.templates = { - menu: function(select) { - var - placeholder = select.placeholder || false, - values = select.values || {}, - html = '' - ; - $.each(select.values, function(value, name) { - if(value === name) { - html += '
' + name + '
'; - } - else { - html += '
' + name + '
'; - } - }); - return html; - }, - dropdown: function(select) { - var - placeholder = select.placeholder || false, - values = select.values || {}, - html = '' - ; - html += ''; - if(select.placeholder) { - html += '
' + placeholder + '
'; - } - else { - html += '
'; - } - html += ''; - return html; - } -}; - - -/* Dependencies */ -$.extend( $.easing, { - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - }, -}); - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/modules/dropdown.less b/definitions/modules/dropdown.less deleted file mode 100644 index 05d7dced3d..0000000000 --- a/definitions/modules/dropdown.less +++ /dev/null @@ -1,795 +0,0 @@ -/* - * # Semantic - Dropdown - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'dropdown'; - -@import '../../semantic.config'; - - -/******************************* - Dropdown -*******************************/ - -.ui.dropdown { - cursor: pointer; - position: relative; - display: inline-block; - line-height: @lineHeight; - transition: @transition; - tap-highlight-color: rgba(0, 0, 0, 0); - outline: none; - text-align: left; -} - - -/******************************* - Content -*******************************/ - -/*-------------- - Menu ----------------*/ - -.ui.dropdown .menu { - cursor: auto; - position: absolute; - display: none; - outline: none; - top: 100%; - transition: @menuTransition; - - margin: @menuMargin; - padding: @menuPadding; - background: @menuBackground; - min-width: 100%; - - white-space: @menuWrap; - font-size: 1rem; - text-shadow: none; - text-align: @menuTextAlign; - - box-shadow: @menuBoxShadow; - border: @menuBorder; - border-radius: @menuBorderRadius; - transition: @menuTransition; - z-index: @menuZIndex; - will-change: transform, opacity; -} - -/*-------------- - Hidden Input ----------------*/ - -.ui.dropdown > input[type="hidden"], -.ui.dropdown > select { - display: none !important; -} - -/*-------------- - Dropdown Icon ----------------*/ - -.ui.dropdown > .dropdown.icon { - width: auto; - margin: @dropdownIconMargin; -} -.ui.dropdown .menu > .item .dropdown.icon { - width: auto; - float: @dropdownSubMenuIconFloat; - margin: @dropdownSubMenuIconMargin; -} - - -/*-------------- - Text ----------------*/ - -.ui.dropdown > .text { - display: inline-block; - transition: @textTransition; -} - -/*-------------- - Menu Item ----------------*/ - -.ui.dropdown .menu > .item { - position: relative; - cursor: pointer; - display: block; - border: @itemBorder; - height: @itemHeight; - - border-top: @itemDivider; - line-height: @itemLineHeight; - font-size: @itemFontSize; - color: @itemColor; - - padding: @itemVerticalPadding @itemHorizontalPadding !important; - font-size: @itemFontSize; - text-transform: @itemTextTransform; - font-weight: @itemFontWeight; - box-shadow: @itemBoxShadow; - -webkit-touch-callout: none; -} -.ui.dropdown .menu > .item:first-child { - border-top: none; -} - -/*-------------- - Menu Divider ----------------*/ - -.ui.dropdown .menu > .header { - margin: @menuHeaderMargin; - padding: @menuHeaderPadding; - color: @menuHeaderColor; - font-size: @menuHeaderFontSize; - font-weight: @menuHeaderFontWeight; - text-transform: @menuHeaderTextTransform; -} - -.ui.dropdown .menu > .divider { - border-top: @menuDividerBorder; - height: 0em; - margin: @menuDividerMargin; -} - -.ui.dropdown .menu > .input { - margin: @menuInputMargin; - min-width: @menuInputMinWidth; -} -.ui.dropdown .menu > .header + .input { - margin-top: 0em; -} -.ui.dropdown .menu > .input:not(.transparent) input { - padding: @menuInputPadding; -} - -/*-------------- - Item Image ----------------*/ - -.ui.dropdown > .text > img, -.ui.dropdown > .text > .image, -.ui.dropdown .menu > .item > .image, -.ui.dropdown .menu > .item > img { - display: inline-block; - vertical-align: middle; - width: auto; - max-height: @menuImageMaxHeight; - margin: @itemImageMargin; -} - - -/*-------------- - Sub Menu ----------------*/ - -.ui.dropdown .menu .menu { - top: @subMenuTop !important; - left: @subMenuLeft !important; - right: @subMenuRight !important; - margin: @subMenuMargin !important; - border-radius: @subMenuBorderRadius !important; - z-index: @subMenuZIndex !important; -} - -/* Hide Arrow */ -.ui.dropdown .menu .menu:after { - display: none; -} - - -/******************************* - Coupling -*******************************/ - -/* Icons / Flags / Labels */ -.ui.dropdown > .text > .icon, -.ui.dropdown .menu > .item > .icon { - margin: @itemIconMargin; -} -.ui.dropdown > .text > .label, -.ui.dropdown .menu > .item > .label { - margin: @itemLabelMargin; -} -.ui.dropdown > .text > .flag, -.ui.dropdown .menu > .item > .flag { - margin: @itemFlagMargin; -} -.ui.dropdown .menu > .item > .icon + .text { - display: block; - margin-right: @dropdownSubMenuIconDistance; -} - - -/* Remove Menu Item Divider */ -.ui.dropdown .ui.menu > .item:before, -.ui.menu .ui.dropdown .menu > .item:before { - display: none; -} - -/* Prevent Menu Item Border */ -.ui.menu .ui.dropdown .menu .active.item { - border-left: none; -} - -/* No Margin On Icon Button */ -.ui.dropdown.icon.button > .dropdown.icon { - margin: 0em; -} -.ui.dropdown.button:not(.pointing):not(.floating).active, -.ui.dropdown.button:not(.pointing):not(.floating).visible { - border-bottom-left-radius: 0em; - border-bottom-right-radius: 0em; -} - -/* Automatically float dropdown menu right on last menu item */ -.ui.menu .right.menu .dropdown:last-child .menu, -.ui.buttons > .ui.dropdown:last-child .menu { - left: auto; - right: 0em; -} - - -/******************************* - Types -*******************************/ - -/*-------------- - Selection ----------------*/ - -/* Displays like a select box */ -.ui.selection.dropdown { - cursor: pointer; - word-wrap: break-word; - white-space: normal; - outline: 0; - transform: rotateZ(0deg); - - min-width: @selectionMinWidth; - - background: @selectionBackground; - display: @selectionDisplay; - padding: @selectionPadding; - color: @selectionTextColor; - box-shadow: @selectionBoxShadow; - border: @selectionBorder; - border-radius: @selectionBorderRadius; - transition: @selectionTransition; -} -.ui.selection.dropdown.visible, -.ui.selection.dropdown.active { - z-index: @selectionZIndex; -} - -select.ui.dropdown { - height: 38px; - padding: 0em; - margin: 0em; - visibility: hidden; -} -.ui.selection.dropdown > .text { - margin-right: @selectionTextIconDistance; -} -.ui.selection.dropdown > .search.icon, -.ui.selection.dropdown > .delete.icon, -.ui.selection.dropdown > .dropdown.icon { - position: absolute; - top: auto; - margin: 0em; - width: auto; - right: @selectionHorizontalPadding; - opacity: @selectionIconOpacity; - transition: @selectionIconTransition; -} - -/* Compact */ -.ui.compact.selection.dropdown { - min-width: 0px; -} - -/* Remove Selection */ -.ui.selection.dropdown > .delete.icon { - opacity: 0.6; -} -.ui.selection.dropdown > .delete.icon:hover { - opacity: 1; -} - -/* Search Selection Input */ -.ui.selection > input.search { - cursor: pointer; - background: none transparent; - border: none; - position: absolute; - top: 0em; - left: 0em; - width: 100%; - line-height: 1.2em; - padding: @selectionPadding; - outline: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -} -.ui.selection.active > input.search, -.ui.selection.visible > input.search { - cursor: auto; -} -.ui.selection > input.search:focus + .text { - color: @unselectedTextColor !important; -} - - -/* Selection Menu */ -.ui.selection.dropdown .menu { - overflow-x: hidden; - overflow-y: auto; - backface-visibility: hidden; - -webkit-overflow-scrolling: touch; - border-top: none !important; - width: auto; - margin: 0px -1px; - min-width: ~"calc(100% + 2px)"; - outline: none; - - box-shadow: @selectionMenuBoxShadow; - transition: @selectionMenuTransition; -} -.ui.selection.dropdown .menu:after, -.ui.selection.dropdown .menu:before { - display: none; -} - -@media only screen and (max-width : @largestMobileScreen) { - .ui.selection.dropdown .menu { - max-height: @selectionMobileMaxMenuHeight; - } -} -@media only screen and (min-width: @tabletBreakpoint) { - .ui.selection.dropdown .menu { - max-height: @selectionTabletMaxMenuHeight; - } -} -@media only screen and (min-width: @computerBreakpoint) { - .ui.selection.dropdown .menu { - max-height: @selectionComputerMaxMenuHeight; - } -} -@media only screen and (min-width: @widescreenMonitorBreakpoint) { - .ui.selection.dropdown .menu { - max-height: @selectionWidescreenMaxMenuHeight; - } -} - -/* Menu Item */ -.ui.selection.dropdown .menu > .item { - border-top: @selectionItemDivider; - padding-left: @selectionHorizontalPadding !important; - /* Add in spacing for scroll bar */ - padding-right: calc(@selectionHorizontalPadding + 1em) !important; - white-space: normal; - word-wrap: normal; -} - -/* Hover */ -.ui.selection.dropdown:hover { - border-color: @selectionHoverBorderColor; - box-shadow: @selectionHoverBoxShadow; -} - -/* Visible Hover */ -.ui.selection.visible.dropdown:hover { - border-color: @selectionVisibleHoverBorderColor; - box-shadow: @selectionVisibleHoverBoxShadow; -} -.ui.selection.visible.dropdown:hover .menu { - border: @selectionVisibleHoverMenuBorder; - box-shadow: @selectionVisibleHoverMenuBoxShadow; -} - -/* Visible */ -.ui.selection.dropdown.visible { - border-color: @selectionVisibleBorderColor; - box-shadow: @selectionVisibleBoxShadow; -} -.ui.visible.selection.dropdown > .dropdown.icon { - opacity: @selectionVisibleIconOpacity; -} - -/* Active Item */ -.ui.selection.active.dropdown > .text:not(.default), -.ui.selection.visible.dropdown > .text:not(.default) { - font-weight: @selectionVisibleTextFontWeight; - color: @selectionVisibleTextColor; -} - - -/* Connecting Border */ -.ui.active.selection.dropdown, -.ui.visible.selection.dropdown { - border-bottom-left-radius: @selectionVisibleConnectingBorder !important; - border-bottom-right-radius: @selectionVisibleConnectingBorder !important; -} - -/*-------------- - Inline ----------------*/ - -.ui.inline.dropdown { - cursor: pointer; - display: inline-block; - color: @inlineTextColor; -} -.ui.inline.dropdown .dropdown.icon { - margin: @inlineIconMargin; - vertical-align: top; -} -.ui.inline.dropdown > .text { - font-weight: @inlineTextFontWeight; -} -.ui.inline.dropdown .menu { - cursor: auto; - margin-top: @inlineMenuDistance; - border-radius: @inlineMenuBorderRadius; -} - - -/******************************* - States -*******************************/ - - -/*-------------------- - Hover -----------------------*/ - -/* Menu Item Hover */ -.ui.dropdown .menu > .item:hover { - background: @hoveredItemBackground; - color: @hoveredItemColor; - z-index: 12; -} - -/*-------------------- - Active -----------------------*/ - -/* Menu Item Active */ -.ui.dropdown .menu .active.item { - background: @activeItemBackground; - font-weight: @activeItemFontWeight; - color: @activeItemColor; - box-shadow: @activeItemBoxShadow; - z-index: @activeItemZIndex; -} - -/*-------------------- - Default Text -----------------------*/ - -.ui.dropdown > .default.text, -.ui.default.dropdown > .text { - color: @defaultTextColor; -} -.ui.dropdown:hover > .default.text, -.ui.default.dropdown:hover > .text { - color: @defaultTextHoverColor; -} - - -/*-------------------- - Keyboard Select -----------------------*/ - -/* Selected Item */ -.ui.dropdown.selected, -.ui.dropdown .menu .selected.item { - background: @selectedBackground; - color: @selectedColor; -} - - -/*-------------------- - Search Filtered -----------------------*/ - -/* Filtered Item */ -.ui.dropdown > .filtered.text { - visibility: hidden; -} -.ui.dropdown .filtered.item { - display: none; -} - - -/*-------------------- - Error -----------------------*/ - -.ui.dropdown.error, -.ui.dropdown.error > .text, -.ui.dropdown.error > .default.text { - color: @errorTextColor; -} - -.ui.selection.dropdown.error { - background: @errorBackgroundColor; - border-color: @errorBorderColor; -} - -.ui.selection.dropdown.error:hover { - border-color: @errorBorderColor; -} - -.ui.dropdown.error > .menu, -.ui.dropdown.error > .menu .menu { - border-color: @errorBorderColor; -} - -.ui.dropdown.error > .menu > .item { - color: @errorItemTextColor; -} - -/* Item Hover */ -.ui.dropdown.error > .menu > .item:hover { - background-color: @errorItemHoverBackground; -} - -/* Item Active */ -.ui.dropdown.error > .menu .active.item { - background-color: @errorItemActiveBackground; -} - - -/******************************* - Variations -*******************************/ - -/*-------------- - Direction ----------------*/ - -/* Flyout Direction */ -.ui.dropdown .menu { - left: 0px; -} - - -/*-------------- - Simple ----------------*/ - -/* Displays without javascript */ - -.ui.simple.dropdown .menu:before, -.ui.simple.dropdown .menu:after { - display: none; -} -.ui.simple.dropdown .menu { - position: absolute; - display: block; - overflow: hidden; - top: -9999px !important; - opacity: 0; - width: 0; - height: 0; - transition: @simpleTransition; -} - -.ui.simple.active.dropdown, -.ui.simple.dropdown:hover { - border-bottom-left-radius: 0em !important; - border-bottom-right-radius: 0em !important; -} - -.ui.simple.active.dropdown > .menu, -.ui.simple.dropdown:hover > .menu { - overflow: visible; - width: auto; - height: auto; - top: 100% !important; - opacity: 1; -} -.ui.simple.dropdown > .menu > .item:active > .menu, -.ui.simple.dropdown:hover > .menu > .item:hover > .menu { - overflow: visible; - width: auto; - height: auto; - top: 0% !important; - left: 100% !important; - opacity: 1; -} -.ui.simple.disabled.dropdown:hover .menu { - display: none; - height: 0px; - width: 0px; - overflow: hidden; -} - -/* Visible */ -.ui.simple.visible.dropdown > .menu { - display: block; -} - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.dropdown { - display: block; - width: 100%; - min-width: 0em; -} -.ui.fluid.dropdown > .dropdown.icon { - float: right; -} - - -/*-------------- - Floating ----------------*/ - -.ui.floating.dropdown .menu { - left: 0; - right: auto; - margin-top: @floatingMenuDistance !important; - box-shadow: @floatingMenuBoxShadow; - border-radius: @floatingMenuBorderRadius; -} - -/*-------------- - Pointing ----------------*/ - - -.ui.pointing.dropdown > .menu { - top: 100%; - margin-top: @pointingMenuDistance; - border-radius: @pointingMenuBorderRadius; -} - -.ui.pointing.dropdown > .menu:after { - display: block; - position: absolute; - pointer-events: none; - content: ''; - visibility: visible; - transform: rotate(45deg); - - width: @pointingArrowSize; - height: @pointingArrowSize; - box-shadow: @pointingArrowBoxShadow; - background: @pointingArrowBackground; - z-index: @pointingArrowZIndex; -} - -.ui.pointing.dropdown > .menu:after { - top: @pointingArrowOffset; - left: 50%; - margin: 0em 0em 0em @pointingArrowOffset; -} - -/* Top Left Pointing */ -.ui.top.left.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - left: 0%; - right: auto; - margin: @pointingArrowDistanceFromEdge 0em 0em; -} -.ui.top.left.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - left: 0%; - right: auto; - margin: @pointingArrowDistanceFromEdge 0em 0em; -} -.ui.top.left.pointing.dropdown > .menu:after { - top: @pointingArrowOffset; - left: @pointingArrowDistanceFromEdge; - right: auto; - margin: 0em; - transform: rotate(45deg); -} -/* Top Right Pointing */ -.ui.top.right.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - right: 0%; - left: auto; - margin: @pointingArrowDistanceFromEdge 0em 0em; -} -.ui.top.right.pointing.dropdown > .menu:after { - top: @pointingArrowOffset; - left: auto; - right: @pointingArrowDistanceFromEdge; - margin: 0em; - transform: rotate(45deg); -} - -/* Left Pointing */ -.ui.left.pointing.dropdown > .menu { - top: 0%; - left: 100%; - right: auto; - margin: 0em 0em 0em @pointingArrowDistanceFromEdge; -} -.ui.left.pointing.dropdown > .menu:after { - top: 1em; - left: @pointingArrowOffset; - margin: 0em 0em 0em 0em; - transform: rotate(-45deg); -} - -/* Right Pointing */ -.ui.right.pointing.dropdown > .menu { - top: 0%; - left: auto; - right: 100%; - margin: 0em @pointingArrowDistanceFromEdge 0em 0em; -} -.ui.right.pointing.dropdown > .menu:after { - top: 1em; - left: auto; - right: @pointingArrowOffset; - margin: 0em 0em 0em 0em; - transform: rotate(135deg); -} - -/* Bottom Pointing */ -.ui.bottom.pointing.dropdown > .menu { - top: auto; - bottom: 100%; - left: 0%; - right: auto; - margin: 0em 0em @pointingArrowDistanceFromEdge ; -} -.ui.bottom.pointing.dropdown > .menu:after { - top: auto; - bottom: @pointingArrowOffset; - right: auto; - margin: 0em; - transform: rotate(-135deg); -} -/* Reverse Sub-Menu Direction */ -.ui.bottom.pointing.dropdown > .menu .menu { - top: auto !important; - bottom: 0px !important; -} - -/* Bottom Left */ -.ui.bottom.left.pointing.dropdown > .menu { - left: 0%; - right: auto; -} -.ui.bottom.left.pointing.dropdown > .menu:after { - left: @pointingArrowDistanceFromEdge; - right: auto; -} - -/* Bottom Right */ -.ui.bottom.right.pointing.dropdown > .menu { - right: 0%; - left: auto; -} -.ui.bottom.right.pointing.dropdown > .menu:after { - left: auto; - right: @pointingArrowDistanceFromEdge; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/modal.js b/definitions/modules/modal.js deleted file mode 100644 index 0231079039..0000000000 --- a/definitions/modules/modal.js +++ /dev/null @@ -1,790 +0,0 @@ -/* - * # Semantic - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.modal = function(parameters) { - var - $allModules = $(this), - $window = $(window), - $document = $(document), - $body = $('body'), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.modal.settings, parameters) - : $.extend({}, $.fn.modal.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - $close = $module.find(selector.close), - - $allModals, - $otherModals, - $focusedElement, - $dimmable, - $dimmer, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - module = { - - initialize: function() { - module.verbose('Initializing dimmer', $context); - - if($.fn.dimmer === undefined) { - module.error(error.dimmer); - return; - } - $dimmable = $context - .dimmer({ - debug : settings.debug, - dimmerName : 'modals', - closable : false, - useCSS : true, - duration : { - show : settings.duration * 0.9, - hide : settings.duration * 1.1 - } - }) - ; - - if(settings.detachable) { - $dimmable.dimmer('add content', $module); - } - - $dimmer = $dimmable - .dimmer('get dimmer') - ; - - $otherModals = $module.siblings(selector.modal); - $allModals = $otherModals.add($module); - - module.verbose('Attaching close events', $close); - $close - .on('click' + eventNamespace, module.event.close) - ; - $window - .on('resize' + eventNamespace, module.event.resize) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of modal'); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous modal'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - $close - .off(eventNamespace) - ; - $context - .dimmer('destroy') - ; - }, - - refresh: function() { - module.remove.scrolling(); - module.cacheSizes(); - module.set.screenHeight(); - module.set.type(); - module.set.position(); - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.size() > 0) { - module.debug('Attaching modal events to element', selector, event); - $toggle - .off(eventNamespace) - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound, selector); - } - }, - - event: { - close: function() { - module.verbose('Closing element pressed'); - if( $(this).is(selector.approve) ) { - if($.proxy(settings.onApprove, element)() !== false) { - module.hide(); - } - else { - module.verbose('Approve callback returned false cancelling hide'); - } - } - else if( $(this).is(selector.deny) ) { - if($.proxy(settings.onDeny, element)() !== false) { - module.hide(); - } - else { - module.verbose('Deny callback returned false cancelling hide'); - } - } - else { - module.hide(); - } - }, - click: function(event) { - if( $(event.target).closest(selector.modal).size() === 0 ) { - module.debug('Dimmer clicked, hiding all modals'); - if(settings.allowMultiple) { - module.hide(); - } - else { - module.hideAll(); - } - event.stopImmediatePropagation(); - } - }, - debounce: function(method, delay) { - clearTimeout(module.timer); - module.timer = setTimeout(method, delay); - }, - keyboard: function(event) { - var - keyCode = event.which, - escapeKey = 27 - ; - if(keyCode == escapeKey) { - if(settings.closable) { - module.debug('Escape key pressed hiding modal'); - module.hide(); - } - else { - module.debug('Escape key pressed, but closable is set to false'); - } - event.preventDefault(); - } - }, - resize: function() { - if( $dimmable.dimmer('is active') ) { - requestAnimationFrame(module.refresh); - } - } - }, - - toggle: function() { - if( module.is.active() || module.is.animating() ) { - module.hide(); - } - else { - module.show(); - } - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.showDimmer(); - module.showModal(callback); - }, - - showModal: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( !module.is.active() ) { - - if( $otherModals.filter(':visible').size() > 0 && !settings.allowMultiple) { - module.debug('Other modals visible, queueing show animation'); - module.hideOthers(module.showModal); - } - else { - $.proxy(settings.onShow, element)(); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.debug('Showing modal with css animations'); - $module - .transition({ - debug : settings.debug, - animation : settings.transition + ' in', - queue : false, - duration : settings.duration, - start : function() { - module.cacheSizes(); - module.set.position(); - module.set.screenHeight(); - module.set.type(); - module.set.clickaway(); - }, - complete : function() { - $.proxy(settings.onVisible, element)(); - module.add.keyboardShortcuts(); - module.save.focus(); - module.set.active(); - module.set.autofocus(); - callback(); - } - }) - ; - } - else { - module.debug('Showing modal with javascript'); - $module - .fadeIn(settings.duration, settings.easing, function() { - $.proxy(settings.onVisible, element)(); - module.add.keyboardShortcuts(); - module.save.focus(); - module.set.active(); - callback(); - }) - ; - } - } - } - else { - module.debug('Modal is already visible'); - } - }, - - showDimmer: function() { - if( !$dimmable.dimmer('is active') ) { - module.debug('Showing dimmer'); - $dimmable.dimmer('show'); - } - else { - module.debug('Dimmer already visible'); - } - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if($allModals.filter(':visible').size() <= 1) { - module.hideDimmer(); - } - module.hideModal(callback); - }, - - hideDimmer: function() { - if( !($dimmable.dimmer('is active') || $dimmable.dimmer('is animating')) ) { - module.debug('Dimmer is not visible cannot hide'); - return; - } - module.debug('Hiding dimmer'); - module.remove.clickaway(); - $dimmable.dimmer('hide', function() { - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.remove.screenHeight(); - } - module.remove.active(); - }); - }, - - hideModal: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.debug('Hiding modal'); - $.proxy(settings.onHide, element)(); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $module - .transition({ - debug : settings.debug, - animation : settings.transition + ' out', - queue : false, - duration : settings.duration, - start : function() { - module.remove.keyboardShortcuts(); - }, - complete : function() { - $.proxy(settings.onHidden, element)(); - module.remove.active(); - module.restore.focus(); - callback(); - } - }) - ; - } - else { - module.remove.keyboardShortcuts(); - $module - .fadeOut(settings.duration, settings.easing, function() { - $.proxy(settings.onHidden, element)(); - module.remove.active(); - module.restore.focus(); - callback(); - }) - ; - } - }, - - hideAll: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( $allModals.is(':visible') ) { - module.debug('Hiding all visible modals'); - module.hideDimmer(); - $allModals - .filter(':visible') - .modal('hide modal', callback) - ; - } - }, - - hideOthers: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( $otherModals.is(':visible') ) { - module.debug('Hiding other modals', $otherModals); - $otherModals - .filter(':visible') - .modal('hide modal', callback) - ; - } - }, - - add: { - keyboardShortcuts: function() { - module.verbose('Adding keyboard shortcuts'); - $document - .on('keyup' + eventNamespace, module.event.keyboard) - ; - } - }, - - save: { - focus: function() { - $focusedElement = $(document.activeElement).blur(); - } - }, - - restore: { - focus: function() { - if($focusedElement && $focusedElement.size() > 0) { - $focusedElement.focus(); - } - } - }, - - remove: { - active: function() { - $module.removeClass(className.active); - }, - clickaway: function() { - if(settings.closable) { - $dimmer - .off('click' + eventNamespace) - ; - } - }, - screenHeight: function() { - if(module.cache.height > module.cache.pageHeight) { - module.debug('Removing page height'); - $body - .css('height', '') - ; - } - }, - keyboardShortcuts: function() { - module.verbose('Removing keyboard shortcuts'); - $document - .off('keyup' + eventNamespace) - ; - }, - scrolling: function() { - $dimmable.removeClass(className.scrolling); - $module.removeClass(className.scrolling); - } - }, - - cacheSizes: function() { - var - modalHeight = $module.outerHeight() - ; - if(modalHeight !== 0) { - module.cache = { - pageHeight : $(document).outerHeight(), - height : modalHeight + settings.offset, - contextHeight : (settings.context == 'body') - ? $(window).height() - : $dimmable.height() - }; - } - module.debug('Caching modal and container sizes', module.cache); - }, - - can: { - fit: function() { - return (module.cache.height < module.cache.contextHeight); - } - }, - - is: { - active: function() { - return $module.hasClass(className.active); - }, - animating: function() { - return $module.transition('is supported') - ? $module.transition('is animating') - : $module.is(':visible') - ; - }, - modernBrowser: function() { - // appName for IE11 reports 'Netscape' can no longer use - return !(window.ActiveXObject || "ActiveXObject" in window); - } - }, - - set: { - autofocus: function() { - if(settings.autofocus) { - var - $inputs = $module.find(':input:visible'), - $autofocus = $inputs.filter('[autofocus]'), - $input = ($autofocus.size() > 0) - ? $autofocus - : $inputs - ; - $input.first().focus(); - } - }, - clickaway: function() { - if(settings.closable) { - $dimmer - .off('click' + eventNamespace) - .on('click' + eventNamespace, module.event.click) - ; - } - }, - screenHeight: function() { - if(module.cache.height > module.cache.pageHeight) { - module.debug('Modal is taller than page content, resizing page height'); - $body - .css('height', module.cache.height + settings.padding) - ; - } - }, - active: function() { - $module.addClass(className.active); - }, - scrolling: function() { - $dimmable.addClass(className.scrolling); - $module.addClass(className.scrolling); - }, - type: function() { - if(module.can.fit()) { - module.verbose('Modal fits on screen'); - module.remove.scrolling(); - } - else { - module.verbose('Modal cannot fit on screen setting to scrolling'); - module.set.scrolling(); - } - }, - position: function() { - module.verbose('Centering modal on page', module.cache); - if(module.can.fit()) { - $module - .css({ - top: '', - marginTop: -(module.cache.height / 2) - }) - ; - } - else { - $module - .css({ - marginTop : '', - top : $document.scrollTop() - }) - ; - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.modal.settings = { - - name : 'Modal', - namespace : 'modal', - - debug : false, - verbose : true, - performance : true, - - allowMultiple : false, - detachable : true, - closable : true, - autofocus : true, - - context : 'body', - - duration : 500, - easing : 'easeOutExpo', - offset : 0, - transition : 'scale', - - padding : 30, - - onShow : function(){}, - onHide : function(){}, - - onVisible : function(){}, - onHidden : function(){}, - - onApprove : function(){ return true; }, - onDeny : function(){ return true; }, - - selector : { - close : '.close, .actions .button', - approve : '.actions .positive, .actions .approve, .actions .ok', - deny : '.actions .negative, .actions .deny, .actions .cancel', - modal : '.ui.modal' - }, - error : { - dimmer : 'UI Dimmer, a required component is not included in this page', - method : 'The method you called is not defined.', - notFound : 'The element you specified could not be found' - }, - className : { - active : 'active', - scrolling : 'scrolling' - } -}; - - -})( jQuery, window , document ); diff --git a/definitions/modules/modal.less b/definitions/modules/modal.less deleted file mode 100644 index 30c715c676..0000000000 --- a/definitions/modules/modal.less +++ /dev/null @@ -1,439 +0,0 @@ -/* - * # Semantic - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'modal'; - -@import '../../semantic.config'; - -/******************************* - Modal -*******************************/ - -.ui.modal { - display: none; - position: fixed; - z-index: 1001; - - top: 50%; - left: 50%; - text-align: left; - - width: @width; - margin-left: @xOffset; - - background: @background; - border: @border; - box-shadow: @boxShadow; - - border-radius: @borderRadius; - user-select: text; - will-change: top, left, margin, transform, opacity; -} - -.ui.modal > :first-child:not(.icon), -.ui.modal > .icon:first-child + * { - border-top-left-radius: @borderRadius; - border-top-right-radius: @borderRadius; -} - -.ui.modal > :last-child { - border-bottom-left-radius: @borderRadius; - border-bottom-right-radius: @borderRadius; -} - -/******************************* - Content -*******************************/ - -/*-------------- - Close ----------------*/ - -.ui.modal > .close { - cursor: pointer; - position: absolute; - top: @closeTop; - right: @closeRight; - z-index: 1; - - opacity: @closeOpacity; - font-size: @closeSize; - color: @closeColor; - - width: @closeHitbox; - height: @closeHitbox; - padding: @closePadding; -} -.ui.modal > .close:hover { - opacity: 1; -} - -/*-------------- - Header ----------------*/ - -.ui.modal > .header { - display: block; - font-family: @headerFontFamily; - background: @headerBackground; - margin: @headerMargin; - padding: @headerPadding; - box-shadow: @headerBoxShadow; - - font-size: @headerFontSize; - line-height: @headerLineHeight; - font-weight: @headerFontWeight; - color: @headerColor; - border-bottom: @headerBorder; -} - -/*-------------- - Content ----------------*/ - -.ui.modal > .content { - display: table; - table-layout: fixed; - width: 100%; - font-size: @contentFontSize; - line-height: @contentLineHeight; - padding: @contentPadding; - background: @contentBackground; -} - -/* Image */ -.ui.modal > .content > .image { - display: table-cell; - width: @imageWidth; - vertical-align: @imageVerticalAlign; -} -.ui.modal > .content > .image[class*="top aligned"] { - vertical-align: top; -} -.ui.modal > .content > .image[class*="top aligned"] { - vertical-align: middle; -} - -/* Description */ -.ui.modal > .content > .description { - display: table-cell; - vertical-align: top; - vertical-align: @descriptionVerticalAlign; -} - -.ui.modal > .content > .icon + .description, -.ui.modal > .content > .image + .description { - min-width: @descriptionMinWidth; - width: @descriptionWidth; - padding-left: @descriptionDistance; -} - -/*rtl:ignore*/ -.ui.modal > .content > .image > i.icon { - font-size: @imageIconSize; - margin: 0em; - opacity: 1; - width: auto; -} - -/*-------------- - Actions ----------------*/ - -.ui.modal .actions { - background: @actionBackground; - padding: @actionPadding; - border-top: @actionBorder; - text-align: @actionAlign; -} -.ui.modal .actions > .button { - margin-left: @buttonDistance; -} - -/*------------------- - Responsive ---------------------*/ - -/* Modal Width */ -@media only screen and (max-width : @largestMobileScreen) { - .ui.modal { - width: @mobileWidth; - margin: @mobileMargin; - } -} -@media only screen and (min-width : @tabletBreakpoint) { - .ui.modal { - width: @tabletWidth; - margin: @tabletMargin; - } -} -@media only screen and (min-width : @computerBreakpoint) { - .ui.modal { - width: @computerWidth; - margin: @computerMargin; - } -} -@media only screen and (min-width : @largeMonitorBreakpoint) { - .ui.modal { - width: @largeMonitorWidth; - margin: @largeMonitorMargin; - } -} -@media only screen and (min-width : @widescreenMonitorBreakpoint) { - .ui.modal { - width: @widescreenMonitorWidth; - margin: @widescreenMonitorMargin; - } -} - -/* Tablet and Mobile */ -@media only screen and (max-width : @computerBreakpoint) { - .ui.modal > .header { - padding-right: @closeHitbox; - } - .ui.modal > .close { - top: @innerCloseTop; - right: @innerCloseRight; - color: @innerCloseColor; - } -} - -/* Mobile */ -@media only screen and (max-width : @largestMobileScreen) { - - .ui.modal > .header { - padding: @mobileHeaderPadding !important; - padding-right: @closeHitbox !important; - } - .ui.modal > .content { - display: block; - padding: @mobileContentPadding !important; - } - .ui.modal > .close { - top: @mobileCloseTop !important; - right: @mobileCloseRight !important; - } - - /*rtl:ignore*/ - .ui.modal .content > .image { - display: block; - max-width: 100%; - margin: 0em auto !important; - text-align: center; - padding: @mobileImagePadding !important; - } - .ui.modal > .content > .image > i.icon { - font-size: @mobileImageIconSize; - text-align: center; - } - - /*rtl:ignore*/ - .ui.modal .content > .description { - display: block; - width: 100% !important; - margin: 0em !important; - padding: @mobileDescriptionPadding !important; - box-shadow: none; - } - - .ui.modal > .actions { - padding: @mobileActionPadding !important; - } - .ui.modal .actions > .buttons, - .ui.modal .actions > .button { - margin-bottom: @mobileButtonDistance; - } -} - -/******************************* - Types -*******************************/ - -.ui.basic.modal { - background-color: transparent; - border: none; - box-shadow: none; - color: @basicModalColor; -} -.ui.basic.modal > .header, -.ui.basic.modal > .content, -.ui.basic.modal > .actions { - background-color: transparent; -} -.ui.basic.modal > .header { - color: @basicModalHeaderColor; -} -.ui.basic.modal > .close { - top: @basicModalCloseTop; - right: @basicModalCloseRight; -} - -/* Tablet and Mobile */ -@media only screen and (max-width : @computerBreakpoint) { - - .ui.basic.modal > .close { - color: @basicInnerCloseColor; - } -} - -/******************************* - Variations -*******************************/ - -/* A modal that cannot fit on the page */ -.scrolling.dimmable.dimmed { - overflow: hidden; -} -.scrolling.dimmable.dimmed > .dimmer { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.scrolling.dimmable > .dimmer { - position: fixed; -} - -.ui.scrolling.modal { - position: static; - margin: @scrollingMargin auto; -} - -@media only screen and (max-width : @computerBreakpoint) { - .ui.scrolling.modal { - margin-top: @mobileScrollingMargin; - margin-bottom: @mobileScrollingMargin; - } -} - -/******************************* - States -*******************************/ - -.ui.active.modal { - display: block; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Full Screen ----------------*/ - -.ui.fullscreen.modal { - width: @fullScreenWidth !important; - margin: @fullScreenMargin; -} -.ui.fullscreen.modal > .header { - padding-right: @closeHitbox; -} -.ui.fullscreen.modal > .close { - top: @innerCloseTop; - right: @innerCloseRight; - color: @innerCloseColor; -} - -@media only screen and (max-width : @largestMobileScreen) { - .ui.fullscreen.modal { - width: auto !important; - margin: @fullScreenMobileMargin !important; - top: 0% !important; - left: 0% !important; - } -} - -/*-------------- - Size ----------------*/ - -.ui.modal { - font-size: @medium; -} - -/* Small */ -.ui.small.modal > .header { - font-size: @smallHeaderSize; -} - -/* Small Modal Width */ -@media only screen and (max-width : @largestMobileScreen) { - .ui.small.modal { - width: @smallMobileWidth; - margin: @smallMobileMargin; - } -} -@media only screen and (min-width : @tabletBreakpoint) { - .ui.small.modal { - width: @smallTabletWidth; - margin: @smallTabletMargin; - } -} -@media only screen and (min-width : @computerBreakpoint) { - .ui.small.modal { - width: @smallComputerWidth; - margin: @smallComputerMargin; - } -} -@media only screen and (min-width : @largeMonitorBreakpoint) { - .ui.small.modal { - width: @smallLargeMonitorWidth; - margin: @smallLargeMonitorMargin; - } -} -@media only screen and (min-width : @widescreenMonitorBreakpoint) { - .ui.small.modal { - width: @smallWidescreenMonitorWidth; - margin: @smallWidescreenMonitorMargin; - } -} - -/* Large Modal Width */ -.ui.large.modal > .header { - font-size: @largeHeaderSize; -} -@media only screen and (max-width : @largestMobileScreen) { - .ui.large.modal { - width: @largeMobileWidth; - margin: @largeMobileMargin; - } -} -@media only screen and (min-width : @tabletBreakpoint) { - .ui.large.modal { - width: @largeTabletWidth; - margin: @largeTabletMargin; - } -} -@media only screen and (min-width : @computerBreakpoint) { - .ui.large.modal { - width: @largeComputerWidth; - margin: @largeComputerMargin; - } -} -@media only screen and (min-width : @largeMonitorBreakpoint) { - .ui.large.modal { - width: @largeLargeMonitorWidth; - margin: @largeLargeMonitorMargin; - } -} -@media only screen and (min-width : @widescreenMonitorBreakpoint) { - .ui.large.modal { - width: @largeWidescreenMonitorWidth; - margin: @largeWidescreenMonitorMargin; - } -} - - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/nag.js b/definitions/modules/nag.js deleted file mode 100644 index 757d23a139..0000000000 --- a/definitions/modules/nag.js +++ /dev/null @@ -1,480 +0,0 @@ -/* - * # Semantic - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.nag = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.nag.settings, parameters) - : $.extend({}, $.fn.nag.settings), - - className = settings.className, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - - $close = $module.find(selector.close), - $context = (settings.context) - ? $(settings.context) - : $('body'), - - element = this, - instance = $module.data(moduleNamespace), - - moduleOffset, - moduleHeight, - - contextWidth, - contextHeight, - contextOffset, - - yOffset, - yPosition, - - timer, - module, - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - module = { - - initialize: function() { - module.verbose('Initializing element'); - - $module - .data(moduleNamespace, module) - ; - $close - .on('click' + eventNamespace, module.dismiss) - ; - - if(settings.detachable && $module.parent()[0] !== $context[0]) { - $module - .detach() - .prependTo($context) - ; - } - - if(settings.displayTime > 0) { - setTimeout(module.hide, settings.displayTime); - } - module.show(); - }, - - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - show: function() { - if( module.should.show() && !$module.is(':visible') ) { - module.debug('Showing nag', settings.animation.show); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideDown(settings.duration, settings.easing) - ; - } - } - }, - - hide: function() { - module.debug('Showing nag', settings.animation.hide); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideUp(settings.duration, settings.easing) - ; - } - }, - - onHide: function() { - module.debug('Removing nag', settings.animation.hide); - $module.remove(); - if (settings.onHide) { - settings.onHide(); - } - }, - - dismiss: function(event) { - if(settings.storageMethod) { - module.storage.set(settings.key, settings.value); - } - module.hide(); - event.stopImmediatePropagation(); - event.preventDefault(); - }, - - should: { - show: function() { - if(settings.persist) { - module.debug('Persistent nag is set, can show nag'); - return true; - } - if( module.storage.get(settings.key) != settings.value.toString() ) { - module.debug('Stored value is not set, can show nag', module.storage.get(settings.key)); - return true; - } - module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key)); - return false; - } - }, - - get: { - storageOptions: function() { - var - options = {} - ; - if(settings.expires) { - options.expires = settings.expires; - } - if(settings.domain) { - options.domain = settings.domain; - } - if(settings.path) { - options.path = settings.path; - } - return options; - } - }, - - clear: function() { - module.storage.remove(settings.key); - }, - - storage: { - set: function(key, value) { - var - options = module.get.storageOptions() - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - window.localStorage.setItem(key, value); - module.debug('Value stored using local storage', key, value); - } - else if($.cookie !== undefined) { - $.cookie(key, value, options); - module.debug('Value stored using cookie', key, value, options); - } - else { - module.error(error.noCookieStorage); - return; - } - }, - get: function(key, value) { - var - storedValue - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - storedValue = window.localStorage.getItem(key); - } - // get by cookie - else if($.cookie !== undefined) { - storedValue = $.cookie(key); - } - else { - module.error(error.noCookieStorage); - } - if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) { - storedValue = undefined; - } - return storedValue; - }, - remove: function(key) { - var - options = module.get.storageOptions() - ; - if(settings.storageMethod == 'local' && window.store !== undefined) { - window.localStorage.removeItem(key); - } - // store by cookie - else if($.cookie !== undefined) { - $.removeCookie(key, options); - } - else { - module.error(error.noStorage); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.nag.settings = { - - name : 'Nag', - - debug : false, - verbose : true, - performance : true, - - namespace : 'Nag', - - // allows cookie to be overriden - persist : false, - - // set to zero to require manually dismissal, otherwise hides on its own - displayTime : 0, - - animation : { - show : 'slide', - hide : 'slide' - }, - - context : false, - detachable : false, - - expires : 30, - domain : false, - path : '/', - - // type of storage to use - storageMethod : 'cookie', - - // value to store in dismissed localstorage/cookie - key : 'nag', - value : 'dismiss', - - error: { - noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state', - method : 'The method you called is not defined.' - }, - - className : { - bottom : 'bottom', - fixed : 'fixed' - }, - - selector : { - close : '.close.icon' - }, - - speed : 500, - easing : 'easeOutQuad', - - onHide: function() {} - -}; - -})( jQuery, window , document ); - -/*! jquery.cookie v1.4.1 | MIT */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); \ No newline at end of file diff --git a/definitions/modules/nag.less b/definitions/modules/nag.less deleted file mode 100644 index 76c8ab992f..0000000000 --- a/definitions/modules/nag.less +++ /dev/null @@ -1,159 +0,0 @@ -/* - * # Semantic - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'nag'; - -@import '../../semantic.config'; - - -/******************************* - Nag -*******************************/ - -.ui.nag { - display: none; - opacity: @opacity; - position: @position; - - top: @top; - left: 0px; - z-index: @zIndex; - - min-height: @minHeight; - width: @width; - - margin: @margin; - padding: @padding; - - background: @background; - box-shadow: @boxShadow; - - font-size: @fontSize; - text-align: @textAlign; - color: @color; - - border-radius: @topBorderRadius; - transition: @transition; -} - -a.ui.nag { - cursor: pointer; -} - -.ui.nag > .title { - display: inline-block; - margin: @titleMargin; - color: @titleColor; -} - - -.ui.nag > .close.icon { - cursor: pointer; - opacity: @closeOpacity; - - position: absolute; - top: @closeTop; - right: @closeRight; - - font-size: @closeSize; - - margin: @closeMargin; - color: @closeColor; - transition: @closeTransition; -} - - - -/******************************* - States -*******************************/ - -/* Hover */ -.ui.nag:hover { - background: @nagHoverBackground; - opacity: @nagHoverOpacity; -} - -.ui.nag .close:hover { - opacity: @closeHoverOpacity; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Static ----------------*/ - -.ui.overlay.nag { - position: absolute; - display: block; -} - -/*-------------- - Fixed ----------------*/ - -.ui.fixed.nag { - position: fixed; -} - -/*-------------- - Bottom ----------------*/ - -.ui.bottom.nags, -.ui.bottom.nag { - border-radius: @bottomBorderRadius; - top: auto; - bottom: @bottom; -} - -/*-------------- - White ----------------*/ - -.ui.inverted.nags .nag, -.ui.inverted.nag { - background-color: @invertedBackground; - color: @darkTextColor; -} -.ui.inverted.nags .nag .close, -.ui.inverted.nags .nag .title, -.ui.inverted.nag .close, -.ui.inverted.nag .title { - color: @lightTextColor; -} - - -/******************************* - Groups -*******************************/ - -.ui.nags .nag { - border-radius: @groupedBorderRadius !important; -} -.ui.nags .nag:last-child { - border-radius: @topBorderRadius; -} -.ui.bottom.nags .nag:last-child { - border-radius: @bottomBorderRadius; -} - -.loadUIOverrides(); diff --git a/definitions/modules/popup.js b/definitions/modules/popup.js deleted file mode 100644 index 3dae3378ea..0000000000 --- a/definitions/modules/popup.js +++ /dev/null @@ -1,997 +0,0 @@ -/* - * # Semantic - Popup - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.popup = function(parameters) { - var - $allModules = $(this), - $document = $(document), - - moduleSelector = $allModules.selector || '', - - hasTouch = ('ontouchstart' in document.documentElement), - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.popup.settings, parameters) - : $.extend({}, $.fn.popup.settings), - - selector = settings.selector, - className = settings.className, - error = settings.error, - metadata = settings.metadata, - namespace = settings.namespace, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - $target = (settings.target) - ? $(settings.target) - : $module, - - $window = $(window), - $body = $('body'), - $popup, - $offsetParent, - - searchDepth = 0, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - // binds events - initialize: function() { - module.debug('Initializing module', $module); - module.refresh(); - if(settings.on == 'click') { - $module - .on('click' + eventNamespace, module.toggle) - ; - } - else if( module.get.startEvent() ) { - $module - .on(module.get.startEvent() + eventNamespace, module.event.start) - .on(module.get.endEvent() + eventNamespace, module.event.end) - ; - } - if(settings.target) { - module.debug('Target set to element', $target); - } - $window - .on('resize' + eventNamespace, module.event.resize) - ; - if( !module.exists() ) { - module.create(); - } - else if(settings.hoverable) { - module.bind.popup(); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - refresh: function() { - $popup = (settings.popup) - ? $(settings.popup) - : (settings.inline) - ? $target.next(settings.selector.popup) - : false - ; - $offsetParent = (settings.popup) - ? $popup.offsetParent() - : (settings.inline) - ? $target.offsetParent() - : $body - ; - }, - - destroy: function() { - module.debug('Destroying previous module'); - if($popup && !settings.preserve) { - module.remove(); - } - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - event: { - start: function(event) { - var - delay = ($.isPlainObject(settings.delay)) - ? settings.delay.show - : settings.delay - ; - clearTimeout(module.hideTimer); - module.showTimer = setTimeout(function() { - if( module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) { - module.show(); - } - }, delay); - }, - end: function() { - var - delay = ($.isPlainObject(settings.delay)) - ? settings.delay.hide - : settings.delay - ; - clearTimeout(module.showTimer); - module.hideTimer = setTimeout(function() { - if( module.is.visible() ) { - module.hide(); - } - }, delay); - }, - resize: function() { - if( module.is.visible() ) { - module.set.position(); - } - } - }, - - // generates popup html from metadata - create: function() { - var - html = $module.data(metadata.html) || settings.html, - variation = $module.data(metadata.variation) || settings.variation, - title = $module.data(metadata.title) || settings.title, - content = $module.data(metadata.content) || $module.attr('title') || settings.content - ; - if(html || content || title) { - module.debug('Creating pop-up html'); - if(!html) { - html = settings.templates.popup({ - title : title, - content : content - }); - } - $popup = $('
') - .addClass(className.popup) - .addClass(variation) - .html(html) - ; - if(variation) { - $popup - .addClass(variation) - ; - } - if(settings.inline) { - module.verbose('Inserting popup element inline', $popup); - $popup - .insertAfter($module) - ; - } - else { - module.verbose('Appending popup element to body', $popup); - $popup - .appendTo( $context ) - ; - } - if(settings.hoverable) { - module.bind.popup(); - } - $.proxy(settings.onCreate, $popup)(); - } - else if($target.next(settings.selector.popup).size() !== 0) { - module.verbose('Pre-existing popup found, reverting to inline'); - settings.inline = true; - module.refresh(); - if(settings.hoverable) { - module.bind.popup(); - } - } - else { - module.debug('No content specified skipping display', element); - } - }, - - // determines popup state - toggle: function() { - module.debug('Toggling pop-up'); - if( module.is.hidden() ) { - module.debug('Popup is hidden, showing pop-up'); - module.unbind.close(); - module.hideAll(); - module.show(); - } - else { - module.debug('Popup is visible, hiding pop-up'); - module.hide(); - } - }, - - show: function(callback) { - callback = callback || function(){}; - module.debug('Showing pop-up', settings.transition); - if(!settings.preserve && !settings.popup) { - module.refresh(); - } - if( !module.exists() ) { - module.create(); - } - if( $popup && module.set.position() ) { - module.save.conditions(); - module.animate.show(callback); - } - }, - - - hide: function(callback) { - callback = callback || function(){}; - $module - .removeClass(className.visible) - ; - module.unbind.close(); - if( module.is.visible() ) { - module.restore.conditions(); - module.animate.hide(callback); - } - }, - - hideAll: function() { - $(selector.popup) - .filter(':visible') - .popup('hide') - ; - }, - - hideGracefully: function(event) { - // don't close on clicks inside popup - if(event && $(event.target).closest(selector.popup).size() === 0) { - module.debug('Click occurred outside popup hiding popup'); - module.hide(); - } - else { - module.debug('Click was inside popup, keeping popup open'); - } - }, - - exists: function() { - if(!$popup) { - return false; - } - if(settings.inline || settings.popup) { - return ( $popup.size() !== 0 ); - } - else { - return ( $popup.closest($context).size() ); - } - }, - - remove: function() { - module.debug('Removing popup'); - $popup - .remove() - ; - }, - - save: { - conditions: function() { - module.cache = { - title: $module.attr('title') - }; - if (module.cache.title) { - $module.removeAttr('title'); - } - module.verbose('Saving original attributes', module.cache.title); - } - }, - restore: { - conditions: function() { - if(module.cache && module.cache.title) { - $module.attr('title', module.cache.title); - module.verbose('Restoring original attributes', module.cache.title); - } - return true; - } - }, - animate: { - show: function(callback) { - callback = callback || function(){}; - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $popup - .transition({ - animation : settings.transition + ' in', - queue : false, - duration : settings.duration, - start: function() { - $module - .addClass(className.visible) - ; - }, - complete : function() { - module.bind.close(); - $.proxy(callback, element)(); - } - }) - ; - } - else { - $module - .addClass(className.visible) - ; - $popup - .stop() - .fadeIn(settings.duration, settings.easing, function() { - module.bind.close(); - $.proxy(callback, element)(); - }) - ; - } - $.proxy(settings.onShow, element)(); - }, - hide: function(callback) { - callback = callback || function(){}; - module.debug('Hiding pop-up'); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $popup - .transition({ - animation : settings.transition + ' out', - queue : false, - duration : settings.duration, - complete : function() { - module.reset(); - callback(); - } - }) - ; - } - else { - $popup - .stop() - .fadeOut(settings.duration, settings.easing, function() { - module.reset(); - callback(); - }) - ; - } - $.proxy(settings.onHide, element)(); - } - }, - - get: { - startEvent: function() { - if(settings.on == 'hover') { - return 'mouseenter'; - } - else if(settings.on == 'focus') { - return 'focus'; - } - return false; - }, - endEvent: function() { - if(settings.on == 'hover') { - return 'mouseleave'; - } - else if(settings.on == 'focus') { - return 'blur'; - } - return false; - }, - offstagePosition: function() { - var - boundary = { - top : $(window).scrollTop(), - bottom : $(window).scrollTop() + $(window).height(), - left : 0, - right : $(window).width() - }, - popup = { - width : $popup.width(), - height : $popup.outerHeight(), - offset : $popup.offset() - }, - offstage = {}, - offstagePositions = [] - ; - if(popup.offset) { - offstage = { - top : (popup.offset.top < boundary.top), - bottom : (popup.offset.top + popup.height > boundary.bottom), - right : (popup.offset.left + popup.width > boundary.right), - left : (popup.offset.left < boundary.left) - }; - } - module.verbose('Checking if outside viewable area', popup.offset); - // return only boundaries that have been surpassed - $.each(offstage, function(direction, isOffstage) { - if(isOffstage) { - offstagePositions.push(direction); - } - }); - return (offstagePositions.length > 0) - ? offstagePositions.join(' ') - : false - ; - }, - nextPosition: function(position) { - switch(position) { - case 'top left': - position = 'bottom left'; - break; - case 'bottom left': - position = 'top right'; - break; - case 'top right': - position = 'bottom right'; - break; - case 'bottom right': - position = 'top center'; - break; - case 'top center': - position = 'bottom center'; - break; - case 'bottom center': - position = 'right center'; - break; - case 'right center': - position = 'left center'; - break; - case 'left center': - position = 'top center'; - break; - } - return position; - } - }, - - set: { - position: function(position, arrowOffset) { - var - windowWidth = $(window).width(), - windowHeight = $(window).height(), - - targetWidth = $target.outerWidth(), - targetHeight = $target.outerHeight(), - - popupWidth = $popup.outerWidth(), - popupHeight = $popup.outerHeight(), - - parentWidth = $offsetParent.outerWidth(), - parentHeight = $offsetParent.outerHeight(), - - distanceAway = settings.distanceAway, - - targetElement = $target[0], - - marginTop = (settings.inline) - ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10) - : 0, - marginLeft = (settings.inline) - ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10) - : 0, - - target = (settings.inline || settings.popup) - ? $target.position() - : $target.offset(), - - positioning, - offstagePosition - ; - position = position || $module.data(metadata.position) || settings.position; - arrowOffset = arrowOffset || $module.data(metadata.offset) || settings.offset; - - if(settings.inline) { - module.debug('Adding targets margin to calculation'); - if(position == 'left center' || position == 'right center') { - arrowOffset += marginTop; - distanceAway += -marginLeft; - } - else if (position == 'top left' || position == 'top center' || position == 'top right') { - arrowOffset += marginLeft; - distanceAway -= marginTop; - } - else { - arrowOffset += marginLeft; - distanceAway += marginTop; - } - } - module.debug('Calculating popup positioning', position); - switch(position) { - case 'top left': - positioning = { - top : 'auto', - bottom : parentHeight - target.top + distanceAway, - left : target.left + arrowOffset, - right : 'auto' - }; - break; - case 'top center': - positioning = { - bottom : parentHeight - target.top + distanceAway, - left : target.left + (targetWidth / 2) - (popupWidth / 2) + arrowOffset, - top : 'auto', - right : 'auto' - }; - break; - case 'top right': - positioning = { - bottom : parentHeight - target.top + distanceAway, - right : parentWidth - target.left - targetWidth - arrowOffset, - top : 'auto', - left : 'auto' - }; - break; - case 'left center': - positioning = { - top : target.top + (targetHeight / 2) - (popupHeight / 2) + arrowOffset, - right : parentWidth - target.left + distanceAway, - left : 'auto', - bottom : 'auto' - }; - break; - case 'right center': - positioning = { - top : target.top + (targetHeight / 2) - (popupHeight / 2) + arrowOffset, - left : target.left + targetWidth + distanceAway, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom left': - positioning = { - top : target.top + targetHeight + distanceAway, - left : target.left + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom center': - positioning = { - top : target.top + targetHeight + distanceAway, - left : target.left + (targetWidth / 2) - (popupWidth / 2) + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom right': - positioning = { - top : target.top + targetHeight + distanceAway, - right : parentWidth - target.left - targetWidth - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - } - if(positioning === undefined) { - module.error(error.invalidPosition); - } - // tentatively place on stage - $popup - .css(positioning) - .removeClass(className.position) - .addClass(position) - .addClass(className.loading) - ; - // check if is offstage - offstagePosition = module.get.offstagePosition(); - // recursively find new positioning - if(offstagePosition) { - module.debug('Element is outside boundaries', offstagePosition); - if(searchDepth < settings.maxSearchDepth) { - position = module.get.nextPosition(position); - searchDepth++; - module.debug('Trying new position', position); - return ($popup) - ? module.set.position(position) - : false - ; - } - else { - module.error(error.recursion); - searchDepth = 0; - module.reset(); - $popup.removeClass(className.loading); - return false; - } - } - else { - module.debug('Position is on stage', position); - searchDepth = 0; - $popup.removeClass(className.loading); - return true; - } - } - - }, - - bind: { - popup: function() { - module.verbose('Allowing hover events on popup to prevent closing'); - $popup - .on('mouseenter', module.event.start) - .on('mouseleave', module.event.end) - ; - }, - close:function() { - if(settings.on == 'click' && settings.closable) { - module.verbose('Binding popup close event to document'); - $document - .on('click' + eventNamespace, function(event) { - module.verbose('Pop-up clickaway intent detected'); - $.proxy(module.hideGracefully, element)(event); - }) - ; - } - } - }, - - unbind: { - close: function() { - if(settings.on == 'click' && settings.closable) { - module.verbose('Removing close event from document'); - $document - .off('click' + eventNamespace) - ; - } - } - }, - - is: { - active: function() { - return $module.hasClass(className.active); - }, - animating: function() { - return ( $popup && $popup.is(':animated') || $popup.hasClass(className.animating) ); - }, - visible: function() { - return $popup && $popup.is(':visible'); - }, - dropdown: function() { - return $module.hasClass(className.dropdown); - }, - hidden: function() { - return !module.is.visible(); - } - }, - - reset: function() { - $popup - .removeClass(className.visible) - ; - if(settings.preserve || settings.popup) { - if($.fn.transition !== undefined) { - $popup - .transition('remove transition') - ; - } - } - else { - module.remove(); - } - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.popup.settings = { - - name : 'Popup', - - debug : false, - verbose : false, - performance : false, - namespace : 'popup', - - onCreate : function(){}, - onRemove : function(){}, - onShow : function(){}, - onHide : function(){}, - - variation : '', - content : false, - html : false, - title : false, - - on : 'hover', - closable : true, - - context : 'body', - position : 'top left', - delay : { - show : 30, - hide : 0 - }, - - target : false, - popup : false, - inline : false, - preserve : true, - hoverable : false, - - duration : 200, - easing : 'easeOutQuint', - transition : 'scale', - - distanceAway : 0, - offset : 0, - maxSearchDepth : 10, - - error: { - invalidPosition : 'The position you specified is not a valid position', - method : 'The method you called is not defined.', - recursion : 'Popup attempted to reposition element to fit, but could not find an adequate position.' - }, - - metadata: { - content : 'content', - html : 'html', - offset : 'offset', - position : 'position', - title : 'title', - variation : 'variation' - }, - - className : { - active : 'active', - animating : 'animating', - dropdown : 'dropdown', - loading : 'loading', - popup : 'ui popup', - position : 'top left center bottom right', - visible : 'visible' - }, - - selector : { - popup : '.ui.popup' - }, - - templates: { - escape: function(string) { - var - badChars = /[&<>"'`]/g, - shouldEscape = /[&<>"'`]/, - escape = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }, - escapedChar = function(chr) { - return escape[chr]; - } - ; - if(shouldEscape.test(string)) { - return string.replace(badChars, escapedChar); - } - return string; - }, - popup: function(text) { - var - html = '', - escape = $.fn.popup.settings.templates.escape - ; - if(typeof text !== undefined) { - if(typeof text.title !== undefined && text.title) { - text.title = escape(text.title); - html += '
' + text.title + '
'; - } - if(typeof text.content !== undefined && text.content) { - text.content = escape(text.content); - html += '
' + text.content + '
'; - } - } - return html; - } - } - -}; - -// Adds easing -$.extend( $.easing, { - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - } -}); - - -})( jQuery, window , document ); diff --git a/definitions/modules/popup.less b/definitions/modules/popup.less deleted file mode 100644 index b2d7cb78b8..0000000000 --- a/definitions/modules/popup.less +++ /dev/null @@ -1,272 +0,0 @@ -/* - * # Semantic - Popup - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'popup'; - -@import '../../semantic.config'; - -/******************************* - Popup -*******************************/ - -.ui.popup { - display: none; - position: absolute; - top: 0px; - right: 0px; - z-index: @zIndex; - - border: @border; - max-width: @maxWidth; - background-color: @background; - - padding: @verticalPadding @horizontalPadding; - font-weight: @fontWeight; - font-style: @fontStyle; - color: @color; - - border-radius: @borderRadius; - box-shadow: @boxShadow; -} -.ui.popup > .header { - padding: 0em; - - font-family: @headerFont; - font-size: @headerFontSize; - line-height: @headerLineHeight; - font-weight: bold; -} -.ui.popup > .header + .content { - padding-top: @headerDistance; -} - -.ui.popup:before { - position: absolute; - content: ''; - width: @arrowSize; - height: @arrowSize; - - background: @arrowBackground; - transform: rotate(45deg); - - z-index: @arrowZIndex; - box-shadow: @arrowBoxShadow; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Spacing ----------------*/ - -.ui.popup { - margin: 0em; -} -.ui.popup.bottom { - margin: @popupDistanceAway 0em 0em; -} -.ui.popup.top { - margin: 0em 0em @popupDistanceAway; -} -.ui.popup.left.center { - margin: 0em @popupDistanceAway 0em 0em; -} -.ui.popup.right.center { - margin: 0em 0em 0em @popupDistanceAway; -} - -/*-------------- - Pointer ----------------*/ - -/*--- Below ---*/ -.ui.bottom.center.popup:before { - margin-left: @arrowOffset; - top: @arrowOffset; - left: 50%; - right: auto; - bottom: auto; - box-shadow: @bottomArrowBoxShadow; -} - -.ui.bottom.left.popup { - margin-left: @boxArrowOffset; -} -.ui.bottom.left.popup:before { - top: @arrowOffset; - left: @arrowDistanceFromEdge; - right: auto; - bottom: auto; - margin-left: 0em; - box-shadow: @bottomArrowBoxShadow; -} - -.ui.bottom.right.popup { - margin-right: @boxArrowOffset; -} -.ui.bottom.right.popup:before { - top: @arrowOffset; - right: @arrowDistanceFromEdge; - bottom: auto; - left: auto; - margin-left: 0em; - box-shadow: @bottomArrowBoxShadow; -} - -/*--- Above ---*/ -.ui.top.center.popup:before { - top: auto; - right: auto; - bottom: @arrowOffset; - left: 50%; - margin-left: @arrowOffset; -} -.ui.top.left.popup { - margin-left: @boxArrowOffset; -} -.ui.top.left.popup:before { - bottom: @arrowOffset; - left: @arrowDistanceFromEdge; - top: auto; - right: auto; - margin-left: 0em; -} -.ui.top.right.popup { - margin-right: @boxArrowOffset; -} -.ui.top.right.popup:before { - bottom: @arrowOffset; - right: @arrowDistanceFromEdge; - top: auto; - left: auto; - margin-left: 0em; -} - -/*--- Left Center ---*/ -.ui.left.center.popup:before { - top: 50%; - right: @arrowOffset; - bottom: auto; - left: auto; - margin-top: @arrowOffset; - box-shadow: @leftArrowBoxShadow; -} - -/*--- Right Center ---*/ -.ui.right.center.popup:before { - top: 50%; - left: @arrowOffset; - bottom: auto; - right: auto; - margin-top: @arrowOffset; - box-shadow: @rightArrowBoxShadow; -} - -/******************************* - States -*******************************/ - -.ui.loading.popup { - display: block; - visibility: hidden; - z-index: @loadingZIndex; -} - -.ui.animating.popup, -.ui.visible.popup { - display: block; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Wide ----------------*/ - -.ui.wide.popup { - width: @wideWidth; - max-width: @wideWidth; -} -.ui[class*="very wide"].popup { - width: @veryWideWidth; - max-width: @veryWideWidth; -} - - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.popup { - width: 100%; - max-width: 99999px; -} - - -/*-------------- - Colors ----------------*/ - -/* Inverted colors */ -.ui.inverted.popup { - background: @invertedBackground; - color: @invertedColor; - border: @invertedBorder; - box-shadow: @invertedBoxShadow; -} -.ui.inverted.popup .header { - background-color: @invertedHeaderBackground; - color: @invertedHeaderColor; -} -.ui.inverted.popup:before { - background-color: @invertedArrowColor; - box-shadow: none; -} - -/*-------------- - Flowing ----------------*/ - -.ui.flowing.popup { - max-width: 9999px; -} - - -/*-------------- - Sizes ----------------*/ - -.ui.small.popup { - font-size: @small; -} -.ui.popup { - font-size: @medium; -} -.ui.large.popup { - font-size: @large; -} -.ui.huge.popup { - font-size: @huge; -} - - -.loadUIOverrides(); diff --git a/definitions/modules/progress.js b/definitions/modules/progress.js deleted file mode 100644 index 00702b3222..0000000000 --- a/definitions/modules/progress.js +++ /dev/null @@ -1,645 +0,0 @@ -/* - * # Semantic - Progress - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.progress = function(parameters) { - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - hasTouch = ('ontouchstart' in document.documentElement), - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.progress.settings, parameters) - : $.extend({}, $.fn.progress.settings), - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $bar = $(this).find(selector.bar), - $progress = $(this).find(selector.progress), - $label = $(this).find(selector.label), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing progress', settings); - module.read.metadata(); - module.set.initials(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of progress', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous dropdown for', $module); - $module - .removeData(moduleNamespace) - ; - instance = undefined; - }, - - reset: function() { - module.set.percent(0); - }, - - complete: function() { - if(module.percent === undefined || module.percent < 100) { - module.set.percent(100); - } - }, - - read: { - metadata: function() { - if( $module.data(metadata.percent) ) { - module.verbose('Current percent value set from metadata'); - module.percent = $module.data(metadata.percent); - } - if( $module.data(metadata.total) ) { - module.verbose('Total value set from metadata'); - module.total = $module.data(metadata.total); - } - if( $module.data(metadata.value) ) { - module.verbose('Current value set from metadata'); - module.value = $module.data(metadata.value); - } - }, - currentValue: function() { - return (module.value !== undefined) - ? module.value - : false - ; - } - }, - - increment: function(incrementValue) { - var - total = module.total || false, - edgeValue, - startValue, - newValue - ; - if(total) { - startValue = module.value || 0; - incrementValue = incrementValue || 1; - newValue = startValue + incrementValue; - edgeValue = module.total; - module.debug('Incrementing value by', incrementValue, startValue, edgeValue); - if(newValue > edgeValue ) { - module.debug('Value cannot increment above total', edgeValue); - newValue = edgeValue; - } - module.set.progress(newValue); - } - else { - startValue = module.percent || 0; - incrementValue = incrementValue || module.get.randomValue(); - newValue = startValue + incrementValue; - edgeValue = 100; - module.debug('Incrementing percentage by', incrementValue, startValue); - if(newValue > edgeValue ) { - module.debug('Value cannot increment above 100 percent'); - newValue = edgeValue; - } - module.set.progress(newValue); - } - }, - decrement: function(decrementValue) { - var - total = module.total || false, - edgeValue = 0, - startValue, - newValue - ; - if(total) { - startValue = module.value || 0; - decrementValue = decrementValue || 1; - newValue = startValue - decrementValue; - module.debug('Decrementing value by', decrementValue, startValue); - } - else { - startValue = module.percent || 0; - decrementValue = decrementValue || module.get.randomValue(); - newValue = startValue - decrementValue; - module.debug('Decrementing percentage by', decrementValue, startValue); - } - - if(newValue < edgeValue) { - module.debug('Value cannot decrement below 0'); - newValue = 0; - } - module.set.progress(newValue); - }, - - get: { - text: function(templateText) { - var - value = module.value || 0, - total = module.total || 0, - percent = module.percent || 0 - ; - templateText = templateText || ''; - templateText = templateText - .replace('{value}', value) - .replace('{total}', total) - .replace('{percent}', percent) - ; - module.debug('Adding variables to progress bar text', templateText); - return templateText; - }, - randomValue: function() { - module.debug('Generating random increment percentage'); - return Math.floor((Math.random() * settings.random.max) + settings.random.min); - }, - percent: function() { - return module.percent || 0; - }, - value: function() { - return module.value || false; - }, - total: function() { - return module.total || false; - } - }, - - is: { - success: function() { - return $module.hasClass(className.success); - }, - warning: function() { - return $module.hasClass(className.warning); - }, - error: function() { - return $module.hasClass(className.error); - } - }, - - remove: { - active: function() { - module.verbose('Removing active state'); - $module.removeClass(className.active); - }, - success: function() { - module.verbose('Removing success state'); - $module.removeClass(className.success); - }, - warning: function() { - module.verbose('Removing warning state'); - $module.removeClass(className.warning); - }, - error: function() { - module.verbose('Removing error state'); - $module.removeClass(className.error); - } - }, - - set: { - barWidth: function(value) { - if(value > 100) { - module.error(error.tooHigh, value); - } - $bar - .css('width', value + '%') - ; - }, - initials: function() { - if(settings.value) { - module.verbose('Current value set in settings', settings.value); - module.value = settings.value; - } - if(settings.total) { - module.verbose('Current total set in settings', settings.total); - module.total = settings.total; - } - if(settings.percent) { - module.verbose('Current percent set in settings', settings.percent); - module.percent = settings.percent; - } - if(module.percent) { - module.set.percent(module.percent); - } - else if(module.value) { - module.set.progress(module.value); - } - }, - percent: function(percent) { - percent = (typeof percent == 'string') - ? +(percent.replace('%', '')) - : percent - ; - if(percent > 0 && percent < 1) { - module.verbose('Module percentage passed as decimal, converting'); - percent = percent * 100; - } - // round percentage - if(settings.precision === 0) { - percent = Math.round(percent); - } - else { - percent = Math.round(percent * (10 * settings.precision) / (10 * settings.precision) ); - } - module.percent = percent; - if(module.total) { - module.value = Math.round( (percent / 100) * module.total); - } - module.set.barWidth(percent); - module.set.barLabel(); - if(percent === 100) { - if(settings.autoSuccess && !(module.is.warning() || module.is.error())) { - module.set.success(); - module.debug('Automatically triggering success at 100%'); - } - else { - module.remove.active(); - } - } - else { - module.set.active(); - } - $.proxy(settings.onChange, element)(percent, module.value, module.total); - }, - label: function(text) { - text = text || ''; - if(text) { - text = module.get.text(text); - module.debug('Setting label to text', text); - $label.text(text); - } - }, - barLabel: function(text) { - if(text !== undefined) { - $progress.text( module.get.text(text) ); - } - else if(settings.label == 'ratio' && module.total) { - module.debug('Adding ratio to bar label'); - $progress.text( module.get.text(settings.text.ratio) ); - } - else if(settings.label == 'percent') { - module.debug('Adding percentage to bar label'); - $progress.text( module.get.text(settings.text.percent) ); - } - }, - active: function(text) { - text = text || settings.text.active; - module.debug('Setting active state'); - if(settings.showActivity) { - $module.addClass(className.active); - } - module.remove.warning(); - module.remove.error(); - module.remove.success(); - if(text) { - module.set.label(text); - } - }, - success : function(text) { - text = text || settings.text.success; - module.debug('Setting success state'); - $module.addClass(className.success); - module.remove.active(); - module.remove.warning(); - module.remove.error(); - module.complete(); - if(text) { - module.set.label(text); - } - }, - warning : function(text) { - text = text || settings.text.warning; - module.debug('Setting warning state'); - $module.addClass(className.warning); - module.remove.active(); - module.remove.success(); - module.remove.error(); - module.complete(); - if(text) { - module.set.label(text); - } - }, - error : function(text) { - text = text || settings.text.error; - module.debug('Setting error state'); - $module.addClass(className.error); - module.remove.active(); - module.remove.success(); - module.remove.warning(); - module.complete(); - if(text) { - module.set.label(text); - } - }, - total: function(totalValue) { - module.total = totalValue; - }, - progress: function(value) { - var - numericValue = (typeof value === 'string') - ? (value.replace(/[^\d.]/g, '') !== '') - ? +(value.replace(/[^\d.]/g, '')) - : false - : value, - percentComplete - ; - if(!numericValue) { - module.error(error.nonNumeric); - } - if(module.total) { - module.value = numericValue; - percentComplete = (numericValue / module.total) * 100; - module.debug('Calculating percent complete from total', percentComplete); - module.set.percent( percentComplete ); - } - else { - percentComplete = numericValue; - module.debug('Setting value to exact percentage value', percentComplete); - module.set.percent( percentComplete ); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.progress.settings = { - - name : 'Progress', - namespace : 'progress', - - debug : false, - verbose : true, - performance : true, - - random : { - min : 2, - max : 5 - }, - - autoSuccess : true, - showActivity : true, - - label : 'percent', - precision : 1, - - percent : false, - total : false, - value : false, - - onChange : function(percent, value, total){}, - - error : { - method : 'The method you called is not defined.', - nonNumeric : 'Progress value is non numeric' - }, - - regExp: { - variable: /\{\$*[A-z0-9]+\}/g - }, - - metadata: { - percent : 'percent', - total : 'total', - value : 'value' - }, - - - selector : { - bar : '> .bar', - label : '> .label', - progress : '.bar > .progress' - }, - - text : { - active : false, - error : false, - success : false, - warning : false, - percent : '{percent}%', - ratio : '{value} of {total}' - }, - - className : { - active : 'active', - error : 'error', - success : 'success', - warning : 'warning' - } - -}; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/modules/progress.less b/definitions/modules/progress.less deleted file mode 100644 index 187297547c..0000000000 --- a/definitions/modules/progress.less +++ /dev/null @@ -1,390 +0,0 @@ - /* - * # Semantic - Progress Bar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'progress'; - -@import '../../semantic.config'; - -.ui.progress { - position: relative; - display: block; - max-width: 100%; - border: @border; - margin: @margin; - box-shadow: @boxShadow; - background: @background; - padding: @padding; - border-radius: @borderRadius; -} - -.ui.progress:first-child { - margin: @firstMargin; -} -.ui.progress:last-child { - margin: @lastMargin; -} - -/* Indicating */ -.ui.indicating.progress .bar[style^="width: 3"] { - background-color: @indicatingSecondColor; -} -.ui.indicating.progress .bar[style^="width: 4"], -.ui.indicating.progress .bar[style^="width: 5"] { - background-color: @indicatingThirdColor; -} -.ui.indicating.progress .bar[style^="width: 6"] { - background-color: @indicatingFourthColor; -} -.ui.indicating.progress .bar[style^="width: 7"], -.ui.indicating.progress .bar[style^="width: 8"] { - background-color: @indicatingFifthColor; -} -.ui.indicating.progress .bar[style^="width: 9"], -.ui.indicating.progress .bar[style^="width: 100"] { - background-color: @indicatingSixthColor; -} -.ui.indicating.progress .bar[style^="width: 1%"], -.ui.indicating.progress .bar[style^="width: 2%"], -.ui.indicating.progress .bar[style^="width: 3%"], -.ui.indicating.progress .bar[style^="width: 4%"], -.ui.indicating.progress .bar[style^="width: 5%"], -.ui.indicating.progress .bar[style^="width: 6%"], -.ui.indicating.progress .bar[style^="width: 7%"], -.ui.indicating.progress .bar[style^="width: 8%"], -.ui.indicating.progress .bar[style^="width: 9%"], -.ui.indicating.progress .bar[style^="width: 1"], -.ui.indicating.progress .bar[style^="width: 2"] { - background-color: @indicatingFirstColor; -} - -/* Single Digits Last */ -.ui.indicating.progress .bar[style^="width: 1%"] + .label, -.ui.indicating.progress .bar[style^="width: 2%"] + .label, -.ui.indicating.progress .bar[style^="width: 3%"] + .label, -.ui.indicating.progress .bar[style^="width: 4%"] + .label, -.ui.indicating.progress .bar[style^="width: 5%"] + .label, -.ui.indicating.progress .bar[style^="width: 6%"] + .label, -.ui.indicating.progress .bar[style^="width: 7%"] + .label, -.ui.indicating.progress .bar[style^="width: 8%"] + .label, -.ui.indicating.progress .bar[style^="width: 9%"] + .label, -.ui.indicating.progress .bar[style^="width: 1"] + .label, -.ui.indicating.progress .bar[style^="width: 2"] + .label { - color: @indicatingFirstColor; -} -.ui.indicating.progress .bar[style^="width: 3"] + .label { - color: @indicatingSecondColor; -} -.ui.indicating.progress .bar[style^="width: 4"] + .label, -.ui.indicating.progress .bar[style^="width: 5"] + .label { - color: @indicatingThirdColor; -} -.ui.indicating.progress .bar[style^="width: 6"] + .label { - color: @indicatingFourthColor; -} -.ui.indicating.progress .bar[style^="width: 7"] + .label, -.ui.indicating.progress .bar[style^="width: 8"] + .label { - color: @indicatingFifthColor; -} -.ui.indicating.progress .bar[style^="width: 9"] + .label, -.ui.indicating.progress .bar[style^="width: 100"] + .label { - color: @indicatingSixthColor; -} - -/******************************* - Content -*******************************/ - -/* Activity Bar */ -.ui.progress .bar { - display: block; - line-height: 1; - position: @barPosition; - width: @barInitialWidth; - min-width: @barMinWidth; - height: @barHeight; - background: @barBackground; - border-radius: @barBorderRadius; - transition: @barTransition; -} - -/* Percent Complete */ -.ui.progress .bar > .progress { - white-space: nowrap; - position: absolute; - width: @progressWidth; - font-size: @progressSize; - top: @progressTop; - right: @progressRight; - left: @progressLeft; - bottom: @progressBottom; - color: @progressColor; - text-shadow: @progressTextShadow; - margin-top: @progressOffset; - font-weight: @progressFontWeight; - text-align: @progressTextAlign; -} - -/* Label */ -.ui.progress > .label { - position: absolute; - width: @labelWidth; - font-size: @labelSize; - top: @labelTop; - right: @labelRight; - left: @labelLeft; - bottom: @labelBottom; - color: @labelColor; - font-weight: @labelFontWeight; - text-shadow: @labelTextShadow; - margin-top: @labelOffset; - text-align: @labelTextAlign; - transition: @labelTransition; -} - - -/******************************* - States -*******************************/ - - -/*-------------- - Success ----------------*/ - -.ui.progress.success .bar { - background-color: @successColor !important; -} -.ui.progress.success .bar, -.ui.progress.success .bar::after { - animation: none !important; -} -.ui.progress.success > .label { - color: @successHeaderColor; -} - -/*-------------- - Warning ----------------*/ - -.ui.progress.warning .bar { - background-color: @warningColor !important; -} -.ui.progress.warning .bar, -.ui.progress.warning .bar::after { - animation: none !important; -} -.ui.progress.warning > .label { - color: @warningHeaderColor; -} - -/*-------------- - Error ----------------*/ - -.ui.progress.error .bar { - background-color: @errorColor !important; -} -.ui.progress.error .bar, -.ui.progress.error .bar::after { - animation: none !important; -} -.ui.progress.error > .label { - color: @errorHeaderColor; -} - -/*-------------- - Active ----------------*/ - -.ui.active.progress .bar { - position: relative; - min-width: @activeMinWidth; -} -.ui.active.progress .bar::after { - content: ''; - opacity: 0; - - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background: @activePulseColor; - - border-radius: @barBorderRadius; - - animation: progress-active @activePulseDuration @defaultEasing infinite; -} -@keyframes progress-active { - 0% { - opacity: @activePulseMaxOpacity; - width: 0; - } - 90% { - } - 100% { - opacity: 0; - width: 100%; - } -} - -/*-------------- - Disabled ----------------*/ - -.ui.disabled.progress { - opacity: 0.35; -} -.ui.disabled.progress .bar, -.ui.disabled.progress .bar::after { - animation: none !important; -} - - -/******************************* - Variations -*******************************/ - - -/*-------------- - Inverted ----------------*/ - -/* bottom attached */ -.ui.inverted.progress { - background: @invertedBackground; - border: @invertedBorder; -} -.ui.inverted.progress .bar { - background: @invertedBarBackground; -} -.ui.inverted.progress .bar > .progress { - color: @invertedProgressColor; -} -.ui.inverted.progress > .label { - color: @invertedLabelColor; -} -.ui.inverted.progress.success > .label { - color: @successColor; -} -.ui.inverted.progress.warning > .label { - color: @warningColor; -} -.ui.inverted.progress.error > .label { - color: @errorColor; -} - -/*-------------- - Attached ----------------*/ - -/* bottom attached */ -.ui.progress.attached { - background: none transparent; - position: relative; - border: none; - margin: 0em; -} -.ui.progress.attached, -.ui.progress.attached .bar { - display: block; - height: @attachedHeight; - padding: 0px; - overflow: hidden; - border-radius: 0em 0em @attachedBorderRadius @attachedBorderRadius; -} -.ui.progress.attached .bar { - border-radius: 0em; -} - -/* top attached */ -.ui.progress.top.attached, -.ui.progress.top.attached .bar { - top: 0px; - border-radius: @attachedBorderRadius @attachedBorderRadius 0em 0em; -} -.ui.progress.top.attached .bar { - border-radius: 0em; -} - - -/*-------------- - Colors ----------------*/ - -.ui.black.progress .bar { - background-color: @black; -} -.ui.blue.progress .bar { - background-color: @blue; -} -.ui.green.progress .bar { - background-color: @green; -} -.ui.orange.progress .bar { - background-color: @orange; -} -.ui.pink.progress .bar { - background-color: @pink; -} -.ui.purple.progress .bar { - background-color: @purple; -} -.ui.red.progress .bar { - background-color: @red; -} -.ui.teal.progress .bar { - background-color: @teal; -} -.ui.yellow.progress .bar { - background-color: @yellow; -} - -.ui.black.inverted.progress .bar { - background-color: @lightBlack; -} -.ui.blue.inverted.progress .bar { - background-color: @lightBlue; -} -.ui.green.inverted.progress .bar { - background-color: @lightGreen; -} -.ui.orange.inverted.progress .bar { - background-color: @lightOrange; -} -.ui.pink.inverted.progress .bar { - background-color: @lightPink; -} -.ui.purple.inverted.progress .bar { - background-color: @lightPurple; -} -.ui.red.inverted.progress .bar { - background-color: @lightRed; -} -.ui.teal.inverted.progress .bar { - background-color: @lightTeal; -} -.ui.yellow.inverted.progress .bar { - background-color: @lightYellow; -} - -/*-------------- - Sizes ----------------*/ - -.ui.small.progress .bar { - height: 14px; -} \ No newline at end of file diff --git a/definitions/modules/rating.js b/definitions/modules/rating.js deleted file mode 100644 index dff1d490e7..0000000000 --- a/definitions/modules/rating.js +++ /dev/null @@ -1,451 +0,0 @@ -/* - * # Semantic - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.rating = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.rating.settings, parameters) - : $.extend({}, $.fn.rating.settings), - - namespace = settings.namespace, - className = settings.className, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - element = this, - instance = $(this).data(moduleNamespace), - - $module = $(this), - $icon = $module.find(selector.icon), - - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing rating module', settings); - - if($icon.size() === 0) { - module.setup.layout(); - } - - if(settings.interactive) { - module.enable(); - } - else { - module.disable(); - } - if(settings.initialRating) { - module.debug('Setting initial rating'); - module.setRating(settings.initialRating); - } - if( $module.data(metadata.rating) ) { - module.debug('Rating found in metadata'); - module.setRating( $module.data(metadata.rating) ); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Instantiating module', settings); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous instance', instance); - $module - .removeData(moduleNamespace) - ; - $icon - .off(eventNamespace) - ; - }, - - refresh: function() { - $icon = $module.find(selector.icon); - }, - - setup: { - layout: function() { - var - maxRating = $module.data(metadata.maxRating) || settings.maxRating - ; - module.debug('Generating icon html dynamically'); - $module - .html($.fn.rating.settings.templates.icon(maxRating)) - ; - module.refresh(); - } - }, - - event: { - mouseenter: function() { - var - $activeIcon = $(this) - ; - $activeIcon - .nextAll() - .removeClass(className.selected) - ; - $module - .addClass(className.selected) - ; - $activeIcon - .addClass(className.selected) - .prevAll() - .addClass(className.selected) - ; - }, - mouseleave: function() { - $module - .removeClass(className.selected) - ; - $icon - .removeClass(className.selected) - ; - }, - click: function() { - var - $activeIcon = $(this), - currentRating = module.getRating(), - rating = $icon.index($activeIcon) + 1, - canClear = (settings.clearable == 'auto') - ? ($icon.size() === 1) - : settings.clearable - ; - if(canClear && currentRating == rating) { - module.clearRating(); - } - else { - module.setRating( rating ); - } - } - }, - - clearRating: function() { - module.debug('Clearing current rating'); - module.setRating(0); - }, - - getRating: function() { - var - currentRating = $icon.filter('.' + className.active).size() - ; - module.verbose('Current rating retrieved', currentRating); - return currentRating; - }, - - enable: function() { - module.debug('Setting rating to interactive mode'); - $icon - .on('mouseenter' + eventNamespace, module.event.mouseenter) - .on('mouseleave' + eventNamespace, module.event.mouseleave) - .on('click' + eventNamespace, module.event.click) - ; - $module - .removeClass(className.disabled) - ; - }, - - disable: function() { - module.debug('Setting rating to read-only mode'); - $icon - .off(eventNamespace) - ; - $module - .addClass(className.disabled) - ; - }, - - setRating: function(rating) { - var - ratingIndex = (rating - 1 >= 0) - ? (rating - 1) - : 0, - $activeIcon = $icon.eq(ratingIndex) - ; - $module - .removeClass(className.selected) - ; - $icon - .removeClass(className.selected) - .removeClass(className.active) - ; - if(rating > 0) { - module.verbose('Setting current rating to', rating); - $activeIcon - .prevAll() - .andSelf() - .addClass(className.active) - ; - } - $.proxy(settings.onRate, element)(rating); - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.rating.settings = { - - name : 'Rating', - namespace : 'rating', - - debug : false, - verbose : true, - performance : true, - - initialRating : 0, - interactive : true, - maxRating : 4, - clearable : 'auto', - - onRate : function(rating){}, - - error : { - method : 'The method you called is not defined', - noMaximum : 'No maximum rating specified. Cannot generate HTML automatically' - }, - - - metadata: { - rating : 'rating', - maxRating : 'maxRating' - }, - - className : { - active : 'active', - disabled : 'disabled', - selected : 'selected', - loading : 'loading' - }, - - selector : { - icon : '.icon' - }, - - templates: { - icon: function(maxRating) { - var - icon = 1, - html = '' - ; - while(icon <= maxRating) { - html += ''; - icon++; - } - return html; - } - } - -}; - -})( jQuery, window , document ); diff --git a/definitions/modules/rating.less b/definitions/modules/rating.less deleted file mode 100644 index 30b6b00e3a..0000000000 --- a/definitions/modules/rating.less +++ /dev/null @@ -1,199 +0,0 @@ -/* - * # Semantic - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'rating'; - -@import '../../semantic.config'; - - -/******************************* - Rating -*******************************/ - -.ui.rating { - display: @display; - font-size: 0em; - vertical-align: @verticalAlign; - margin: @margin; -} -.ui.rating:last-child { - margin-right: 0em; -} - -.ui.rating:before { - display: block; - content: ''; - visibility: hidden; - clear: both; - height: 0; -} - -/* Icon */ -.ui.rating .icon { - cursor: pointer; - - margin: 0em; - width: @iconHitbox; - text-align: center; - height: auto; - padding: 0em; - - font-weight: normal; - font-style: normal; - vertical-align: @verticalAlign; -} - - -/******************************* - Types -*******************************/ - -/*------------------- - Star ---------------------*/ - -/* Inactive */ -.ui.star.rating .icon { - width: @starIconHitbox; - color: @starInactiveColor; -} - -/* Active Star */ -.ui.star.rating .active.icon { - color: @starActiveColor !important; - text-shadow: @starActiveShadow; -} - -/* Selected Star */ -.ui.star.rating .icon.selected, -.ui.star.rating .icon.selected.active { - color: @starSelectedColor !important; -} - -.ui.star.rating.partial { - position: relative; - z-index: 1; -} -.ui.star.rating.partial:before { - position: absolute; - z-index: -1; -} - - - -/*------------------- - Heart ---------------------*/ - -.ui.heart.rating .icon { - width: @heartIconHitbox; - color: @heartInactiveColor; -} - -/* Active Heart */ -.ui.heart.rating .active.icon { - color: @heartActiveColor !important; - text-shadow: @heartActiveShadow; -} - -/* Selected Heart */ -.ui.heart.rating .icon.selected, -.ui.heart.rating .icon.selected.active { - color: @heartSelectedColor !important; -} - - -/******************************* - States -*******************************/ - - -/* Inactive Icon */ -.ui.rating .icon { - color: @inactiveColor; -} - -/* Active Icon */ -.ui.rating .active.icon { - color: @activeColor; -} - -/* Selected Icon */ -.ui.rating .icon.selected, -.ui.rating .icon.selected.active { - color: @hoverColor; -} - - -/*------------------- - Disabled ---------------------*/ - -/* disabled rating */ -.ui.disabled.rating .icon { - cursor: default; -} - - -/*------------------- - Interacting (Active) ---------------------*/ - -/* Selected Rating */ -.ui.rating.selected .active.icon { - opacity: @interactiveIconOpacity; -} -.ui.rating.selected .icon.selected, -.ui.rating .icon.selected { - opacity: @interactiveSelectedIconOpacity; -} - - - -/******************************* - Variations -*******************************/ - -.ui.mini.rating .icon { - font-size: @mini; -} -.ui.tiny.rating .icon { - font-size: @tiny; -} -.ui.small.rating .icon { - font-size: @small; -} -.ui.rating .icon { - font-size: @medium; -} -.ui.large.rating .icon { - font-size: @large; -} -.ui.huge.rating .icon { - font-size: @huge; -} -.ui.massive.rating .icon { - font-size: @massive; -} - -/* Realign */ -.ui.large.rating, -.ui.huge.rating, -.ui.massive.rating { - vertical-align: @oversizedVerticalAlign; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/search.js b/definitions/modules/search.js deleted file mode 100644 index d8955f42a6..0000000000 --- a/definitions/modules/search.js +++ /dev/null @@ -1,844 +0,0 @@ -/* - * # Semantic - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.search = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $(this) - .each(function() { - var - settings = $.extend(true, {}, $.fn.search.settings, parameters), - - className = settings.className, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - $prompt = $module.find(selector.prompt), - $searchButton = $module.find(selector.searchButton), - $results = $module.find(selector.results), - $result = $module.find(selector.result), - $category = $module.find(selector.category), - - element = this, - instance = $module.data(moduleNamespace), - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module'); - var - prompt = $prompt[0], - inputEvent = (prompt !== undefined && prompt.oninput !== undefined) - ? 'input' - : (prompt !== undefined && prompt.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - // attach events - $prompt - .on('focus' + eventNamespace, module.event.focus) - .on('blur' + eventNamespace, module.event.blur) - .on('keydown' + eventNamespace, module.handleKeyboard) - ; - if(settings.automatic) { - $prompt - .on(inputEvent + eventNamespace, module.search.throttle) - ; - } - $searchButton - .on('click' + eventNamespace, module.search.query) - ; - $results - .on('click' + eventNamespace, selector.result, module.results.select) - ; - module.instantiate(); - }, - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - ; - $prompt - .off(eventNamespace) - ; - $searchButton - .off(eventNamespace) - ; - $results - .off(eventNamespace) - ; - }, - event: { - focus: function() { - $module - .addClass(className.focus) - ; - clearTimeout(module.timer); - module.search.throttle(); - module.results.show(); - }, - blur: function() { - module.search.cancel(); - $module - .removeClass(className.focus) - ; - module.timer = setTimeout(module.results.hide, settings.hideDelay); - } - }, - handleKeyboard: function(event) { - var - // force latest jq dom - $result = $module.find(selector.result), - $category = $module.find(selector.category), - keyCode = event.which, - keys = { - backspace : 8, - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - activeClass = className.active, - currentIndex = $result.index( $result.filter('.' + activeClass) ), - resultSize = $result.size(), - newIndex - ; - // search shortcuts - if(keyCode == keys.escape) { - module.verbose('Escape key pressed, blurring search field'); - $prompt - .trigger('blur') - ; - } - // result shortcuts - if($results.filter(':visible').size() > 0) { - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, selecting active result'); - if( $result.filter('.' + activeClass).size() > 0 ) { - $.proxy(module.results.select, $result.filter('.' + activeClass) )(event); - event.preventDefault(); - return false; - } - } - else if(keyCode == keys.upArrow) { - module.verbose('Up key pressed, changing active result'); - newIndex = (currentIndex - 1 < 0) - ? currentIndex - : currentIndex - 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - else if(keyCode == keys.downArrow) { - module.verbose('Down key pressed, changing active result'); - newIndex = (currentIndex + 1 >= resultSize) - ? currentIndex - : currentIndex + 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - } - else { - // query shortcuts - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, executing query'); - module.search.query(); - $searchButton - .addClass(className.down) - ; - $prompt - .one('keyup', function(){ - $searchButton - .removeClass(className.down) - ; - }) - ; - } - } - }, - search: { - cancel: function() { - var - xhr = $module.data('xhr') || false - ; - if( xhr && xhr.state() != 'resolved') { - module.debug('Cancelling last search'); - xhr.abort(); - } - }, - throttle: function() { - var - searchTerm = $prompt.val(), - numCharacters = searchTerm.length - ; - clearTimeout(module.timer); - if(numCharacters >= settings.minCharacters) { - module.timer = setTimeout(module.search.query, settings.searchThrottle); - } - else { - module.results.hide(); - } - }, - query: function() { - var - searchTerm = $prompt.val(), - cachedHTML = module.search.cache.read(searchTerm) - ; - if(cachedHTML) { - module.debug("Reading result for '" + searchTerm + "' from cache"); - module.results.add(cachedHTML); - } - else { - module.debug("Querying for '" + searchTerm + "'"); - if($.isPlainObject(settings.source) || $.isArray(settings.source)) { - module.search.local(searchTerm); - } - else if(settings.apiSettings) { - module.search.remote(searchTerm); - } - else if($.api !== undefined && $.api.settings.api.search !== undefined) { - module.debug('Searching with default search API endpoint'); - settings.apiSettings = { - action: 'search' - }; - module.search.remote(searchTerm); - } - else { - module.error(error.source); - } - $.proxy(settings.onSearchQuery, $module)(searchTerm); - } - }, - local: function(searchTerm) { - var - results = [], - fullTextResults = [], - searchFields = $.isArray(settings.searchFields) - ? settings.searchFields - : [settings.searchFields], - searchRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'), - fullTextRegExp = new RegExp(searchTerm, 'i'), - searchHTML - ; - $module - .addClass(className.loading) - ; - // iterate through search fields in array order - $.each(searchFields, function(index, field) { - $.each(settings.source, function(label, content) { - var - fieldExists = (typeof content[field] == 'string'), - notAlreadyResult = ($.inArray(content, results) == -1 && $.inArray(content, fullTextResults) == -1) - ; - if(fieldExists && notAlreadyResult) { - if( searchRegExp.test( content[field] ) ) { - results.push(content); - } - else if( fullTextRegExp.test( content[field] ) ) { - fullTextResults.push(content); - } - } - }); - }); - searchHTML = module.results.generate({ - results: $.merge(results, fullTextResults) - }); - $module - .removeClass(className.loading) - ; - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - remote: function(searchTerm) { - var - apiSettings = { - stateContext : $module, - urlData: { - query: searchTerm - }, - onSuccess : function(response) { - searchHTML = module.results.generate(response); - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - failure : module.error - }, - searchHTML - ; - module.search.cancel(); - module.debug('Executing search'); - $.extend(true, apiSettings, settings.apiSettings); - $.api(apiSettings); - }, - - cache: { - read: function(name) { - var - cache = $module.data('cache') - ; - return (settings.cache && (typeof cache == 'object') && (cache[name] !== undefined) ) - ? cache[name] - : false - ; - }, - write: function(name, value) { - var - cache = ($module.data('cache') !== undefined) - ? $module.data('cache') - : {} - ; - cache[name] = value; - $module - .data('cache', cache) - ; - } - } - }, - - results: { - generate: function(response) { - module.debug('Generating html from response', response); - var - template = settings.templates[settings.type], - html = '' - ; - if(($.isPlainObject(response.results) && !$.isEmptyObject(response.results)) || ($.isArray(response.results) && response.results.length > 0) ) { - if(settings.maxResults > 0) { - response.results = $.makeArray(response.results).slice(0, settings.maxResults); - } - if($.isFunction(template)) { - html = template(response); - } - else { - module.error(error.noTemplate, false); - } - } - else { - html = module.message(error.noResults, 'empty'); - } - $.proxy(settings.onResults, $module)(response); - return html; - }, - add: function(html) { - if(settings.onResultsAdd == 'default' || $.proxy(settings.onResultsAdd, $results)(html) == 'default') { - $results - .html(html) - ; - } - module.results.show(); - }, - show: function() { - if( ($results.filter(':visible').size() === 0) && ($prompt.filter(':focus').size() > 0) && $results.html() !== '') { - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.debug('Showing results with css animations'); - $results - .transition(settings.transition + ' in', settings.duration) - ; - } - else { - module.debug('Showing results with javascript'); - $results - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - $.proxy(settings.onResultsOpen, $results)(); - } - }, - hide: function() { - if($results.filter(':visible').size() > 0) { - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.debug('Hiding results with css animations'); - $results - .transition(settings.transition + ' out', settings.duration) - ; - } - else { - module.debug('Hiding results with javascript'); - $results - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - $.proxy(settings.onResultsClose, $results)(); - } - }, - select: function(event) { - module.debug('Search result selected'); - var - $result = $(this), - $title = $result.find('.title'), - title = $title.html() - ; - if(settings.onSelect == 'default' || $.proxy(settings.onSelect, this)(event) == 'default') { - var - $link = $result.find('a[href]').eq(0), - href = $link.attr('href') || false, - target = $link.attr('target') || false - ; - module.results.hide(); - if(href) { - if(target == '_blank' || event.ctrlKey) { - window.open(href); - } - else { - window.location.href = (href); - } - } - } - } - }, - - // displays mesage visibly in search results - message: function(text, type) { - type = type || 'standard'; - module.results.add( settings.templates.message(text, type) ); - return settings.templates.message(text, type); - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.search.settings = { - - name : 'Search Module', - namespace : 'search', - - debug : false, - verbose : true, - performance : true, - - // onSelect default action is defined in module - onSelect : 'default', - onResultsAdd : 'default', - - onSearchQuery : function(){}, - onResults : function(response){}, - - onResultsOpen : function(){}, - onResultsClose : function(){}, - - source : false, - - automatic : 'true', - type : 'simple', - hideDelay : 300, - minCharacters : 3, - searchThrottle : 300, - maxResults : 7, - cache : true, - - searchFields : [ - 'title', - 'description' - ], - - transition : 'scale', - duration : 300, - easing : 'easeOutExpo', - - // api config - apiSettings: false, - - className: { - active : 'active', - down : 'down', - focus : 'focus', - empty : 'empty', - loading : 'loading' - }, - - error : { - source : 'No source or api action specified', - noResults : 'Your search returned no results', - logging : 'Error in debug logging, exiting.', - noTemplate : 'A valid template name was not specified.', - serverError : 'There was an issue with querying the server.', - method : 'The method you called is not defined.' - }, - - selector : { - prompt : '.prompt', - searchButton : '.search.button', - results : '.results', - category : '.category', - result : '.result' - }, - - templates: { - escape: function(string) { - var - badChars = /[&<>"'`]/g, - shouldEscape = /[&<>"'`]/, - escape = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }, - escapedChar = function(chr) { - return escape[chr]; - } - ; - if(shouldEscape.test(string)) { - return string.replace(badChars, escapedChar); - } - return string; - }, - message: function(message, type) { - var - html = '' - ; - if(message !== undefined && type !== undefined) { - html += '' - + '
' - ; - // message type - if(type == 'empty') { - html += '' - + '
No Results
' - + '
' + message + '
' - ; - } - else { - html += '
' + message + '
'; - } - html += '
'; - } - return html; - }, - categories: function(response) { - var - html = '', - escape = $.fn.search.settings.templates.escape - ; - if(response.results !== undefined) { - // each category - $.each(response.results, function(index, category) { - if(category.results !== undefined && category.results.length > 0) { - html += '' - + '
' - + '
' + category.name + '
' - ; - // each item inside category - $.each(category.results, function(index, result) { - html += '
'; - html += ''; - if(result.image !== undefined) { - result.image = escape(result.image); - html += '' - + '
' - + ' ' - + '
' - ; - } - html += '
'; - if(result.price !== undefined) { - result.price = escape(result.price); - html += '
' + result.price + '
'; - } - if(result.title !== undefined) { - result.title = escape(result.title); - html += '
' + result.title + '
'; - } - if(result.description !== undefined) { - html += '
' + result.description + '
'; - } - html += '' - + '
' - + '
' - ; - }); - html += '' - + '
' - ; - } - }); - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - }, - simple: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - - // each result - $.each(response.results, function(index, result) { - html += ''; - if(result.image !== undefined) { - html += '' - + '
' - + ' ' - + '
' - ; - } - html += '
'; - if(result.price !== undefined) { - html += '
' + result.price + '
'; - } - if(result.title !== undefined) { - html += '
' + result.title + '
'; - } - if(result.description !== undefined) { - html += '
' + result.description + '
'; - } - html += '' - + '
' - + '
' - ; - }); - - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - } - } -}; - -})( jQuery, window , document ); diff --git a/definitions/modules/search.less b/definitions/modules/search.less deleted file mode 100644 index ad1cf5323c..0000000000 --- a/definitions/modules/search.less +++ /dev/null @@ -1,265 +0,0 @@ -/* - * # Semantic - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'search'; - -@import '../../semantic.config'; - -/******************************* - Search -*******************************/ - -.ui.search { - position: relative; - - text-shadow: none; - font-style: normal; - font-weight: normal; -} - -.ui.search input { - border-radius: @promptBorderRadius; -} - -/*-------------- - Icon ----------------*/ - -.ui.search .prompt ~ .search.icon { - cursor: pointer; -} - -/*-------------- - Results ----------------*/ - -.ui.search .results { - display: none; - - position: absolute; - z-index: 998; - top: 100%; - left: 0%; - - overflow: hidden; - background: @resultsBackground; - - margin-top: @resultsDistance; - width: @resultsWidth; - - border-radius: @resultsBorderRadius; - box-shadow: @resultsBoxShadow; -} - -/*-------------- - Result ----------------*/ - -.ui.search .result { - font-family: @pageFont; - cursor: pointer; - overflow: hidden; - font-size: @resultFontSize; - padding: @resultVerticalPadding @resultHorizontalPadding; - color: @resultTextColor; - line-height: @resultLineHeight; -} -.ui.search .result:first-child { - border-top: none; -} - -/* Image */ -.ui.search .result .image { - float: @resultImageFloat; - overflow: hidden; - background: @resultImageBackground; - width: @resultImageWidth; - height: @resultImageHeight; - border-radius: @resultImageBorderRadius; -} -.ui.search .result .image img { - display: block; - width: auto; - height: 100%; -} - -/*-------------- - Info ----------------*/ - -.ui.search .result .image + .content { - margin: @resultImageMargin; -} - -.ui.search .result .title { - font-family: @resultTitleFont; - font-weight: @resultTitleFontWeight; - color: @resultTitleColor; -} -.ui.search .result .description { - color: @resultDescriptionColor; -} -.ui.search .result .price { - float: @resultPriceFloat; - color: @resultPriceColor; -} - -/*-------------- - Message ----------------*/ - -.ui.search .message { - padding: @messageVerticalPadding @messageHorizontalPadding; -} -.ui.search .message .header { - font-family: @headerFont; - font-size: @messageHeaderFontSize; - font-weight: @messageHeaderFontWeight; - color: @messageHeaderColor; -} -.ui.search .message .description { - margin-top: @messageDescriptionDistance; - font-size: @messageDescriptionFontSize; - color: @messageDescriptionColor; -} - -/* View All Results */ -.ui.search .all { - display: block; - border-top: @allResultsBorder; - background-color: @allResultsBackground; - height: @allResultsHeight; - line-height: @allResultsHeight; - color: @allResultsColor; - font-weight: @allResultsFontWeight; - text-align: @allResultsAlign; -} - - - -/******************************* - States -*******************************/ - -/*-------------- - Hover ----------------*/ - -.ui.search .result:hover, -.ui.search .results .category .result:hover { - background: @resultHoverBackground; -} -.ui.search .all:hover { - background: @allResultsHoverBackground; -} - -/*-------------- - Loading ----------------*/ - -.ui.search.loading .input .icon { - background: url(@loaderPath) no-repeat 50% 50%; -} -.ui.search.loading .input .icon:before, -.ui.search.loading .input .icon:after { - display: none; -} - - -/*-------------- - Active ----------------*/ - -.ui.search .results .category.active { - background-color: @categoryActiveBackground; -} -.ui.search .results .category.active > .name { - color: @categoryNameActiveColor; -} - -.ui.search .result.active, -.ui.search .results .category .result.active { - border-left-color: @resultActiveBorderLeft; - background-color: @resultActiveBackground; - box-shadow: @resultActiveBoxShadow; -} -.ui.search .result.active .title { - color: @resultActiveTitleColor; -} -.ui.search .result.active .description { - color: @resultActiveDescriptionColor; -} - -/******************************* - Types -*******************************/ - - -/*------------------- - Left / Right ---------------------*/ - -.ui.right.aligned.search .results { - right: 0%; - left: auto; -} - -/*-------------- - Categories ----------------*/ - -.ui.search .results .category { - background: @categoryBackground; - box-shadow: @categoryBoxShadow; -} -.ui.search .results .category, -.ui.search .results .category .result { - position: relative; - transition: @categoryResultTransition; -} -.ui.search .results .category:first-child { - box-shadow: none; -} - -.ui.search .results .category > .name { - font-family: @categoryNameFont; - float: @categoryNameFontSize; - float: @categoryNameFloat; - padding: @categoryNamePadding; - font-weight: @categoryNameFontWeight; - color: @categoryNameColor; -} -.ui.search .results .category .result { - background-color: @categoryResultBackground; - margin-left: @categoryNameWidth; - border-left: @categoryResultLeftBorder; - border-bottom: @categoryResultTopBorder; -} - - -/******************************* - Variations -*******************************/ - -.ui.search { - font-size: @medium; -} - -.ui.large.search { - font-size: @large; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/modules/shape.js b/definitions/modules/shape.js deleted file mode 100644 index 674aa5a627..0000000000 --- a/definitions/modules/shape.js +++ /dev/null @@ -1,798 +0,0 @@ -/* - * # Semantic - Shape - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.shape = function(parameters) { - var - $allModules = $(this), - $body = $('body'), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - moduleSelector = $allModules.selector || '', - settings = $.extend(true, {}, $.fn.shape.settings, parameters), - - // internal aliases - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - className = settings.className, - - // define namespaces for modules - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - // selector cache - $module = $(this), - $sides = $module.find(selector.sides), - $side = $module.find(selector.side), - - // private variables - nextSelector = false, - $activeSide, - $nextSide, - - // standard module - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing module for', element); - module.set.defaultSide(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache for', element); - $module = $(element); - $sides = $(this).find(selector.shape); - $side = $(this).find(selector.side); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - var - shape = $sides.get(0) || document.createElement('div'), - fakeAssignment = shape.offsetWidth - ; - }, - - animate: function(propertyObject, callback) { - module.verbose('Animating box with properties', propertyObject); - callback = callback || function(event) { - module.verbose('Executing animation callback'); - if(event !== undefined) { - event.stopPropagation(); - } - module.reset(); - module.set.active(); - }; - $.proxy(settings.beforeChange, $nextSide[0])(); - if(module.get.transitionEvent()) { - module.verbose('Starting CSS animation'); - $module - .addClass(className.animating) - ; - $sides - .css(propertyObject) - .one(module.get.transitionEvent(), callback) - ; - module.set.duration(settings.duration); - requestAnimationFrame(function() { - $module - .addClass(className.animating) - ; - $activeSide - .addClass(className.hidden) - ; - }); - } - else { - callback(); - } - }, - - queue: function(method) { - module.debug('Queueing animation of', method); - $sides - .one(module.get.transitionEvent(), function() { - module.debug('Executing queued animation'); - setTimeout(function(){ - $module.shape(method); - }, 0); - }) - ; - }, - - reset: function() { - module.verbose('Animating states reset'); - $module - .removeClass(className.animating) - .attr('style', '') - .removeAttr('style') - ; - // removeAttr style does not consistently work in safari - $sides - .attr('style', '') - .removeAttr('style') - ; - $side - .attr('style', '') - .removeAttr('style') - .removeClass(className.hidden) - ; - $nextSide - .removeClass(className.animating) - .attr('style', '') - .removeAttr('style') - ; - }, - - is: { - animating: function() { - return $module.hasClass(className.animating); - } - }, - - set: { - - defaultSide: function() { - $activeSide = $module.find('.' + settings.className.active); - $nextSide = ( $activeSide.next(selector.side).size() > 0 ) - ? $activeSide.next(selector.side) - : $module.find(selector.side).first() - ; - nextSelector = false; - module.verbose('Active side set to', $activeSide); - module.verbose('Next side set to', $nextSide); - }, - - duration: function(duration) { - duration = duration || settings.duration; - duration = (typeof duration == 'number') - ? duration + 'ms' - : duration - ; - module.verbose('Setting animation duration', duration); - $sides.add($side) - .css({ - '-webkit-transition-duration': duration, - '-moz-transition-duration': duration, - '-ms-transition-duration': duration, - '-o-transition-duration': duration, - 'transition-duration': duration - }) - ; - }, - - stageSize: function() { - var - $clone = $module.clone().addClass(className.loading), - $activeSide = $clone.find('.' + settings.className.active), - $nextSide = (nextSelector) - ? $clone.find(nextSelector) - : ( $activeSide.next(selector.side).size() > 0 ) - ? $activeSide.next(selector.side) - : $clone.find(selector.side).first(), - newSize = {} - ; - $activeSide.removeClass(className.active); - $nextSide.addClass(className.active); - $clone.prependTo($body); - newSize = { - width : $nextSide.outerWidth(), - height : $nextSide.outerHeight() - }; - $clone.remove(); - $module - .css(newSize) - ; - module.verbose('Resizing stage to fit new content', newSize); - }, - - nextSide: function(selector) { - nextSelector = selector; - $nextSide = $module.find(selector); - if($nextSide.size() === 0) { - module.error(error.side); - } - module.verbose('Next side manually set to', $nextSide); - }, - - active: function() { - module.verbose('Setting new side to active', $nextSide); - $side - .removeClass(className.active) - ; - $nextSide - .addClass(className.active) - ; - $.proxy(settings.onChange, $nextSide[0])(); - module.set.defaultSide(); - } - }, - - flip: { - - up: function() { - module.debug('Flipping up', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.above(); - module.animate( module.get.transform.up() ); - } - else { - module.queue('flip up'); - } - }, - - down: function() { - module.debug('Flipping down', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.below(); - module.animate( module.get.transform.down() ); - } - else { - module.queue('flip down'); - } - }, - - left: function() { - module.debug('Flipping left', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.left(); - module.animate(module.get.transform.left() ); - } - else { - module.queue('flip left'); - } - }, - - right: function() { - module.debug('Flipping right', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.right(); - module.animate(module.get.transform.right() ); - } - else { - module.queue('flip right'); - } - }, - - over: function() { - module.debug('Flipping over', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.behind(); - module.animate(module.get.transform.over() ); - } - else { - module.queue('flip over'); - } - }, - - back: function() { - module.debug('Flipping back', $nextSide); - if( !module.is.animating() ) { - module.set.stageSize(); - module.stage.behind(); - module.animate(module.get.transform.back() ); - } - else { - module.queue('flip back'); - } - } - - }, - - get: { - - transform: { - up: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)' - }; - }, - - down: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)' - }; - }, - - left: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)' - }; - }, - - right: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)' - }; - }, - - over: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(180deg)' - }; - }, - - back: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)' - }; - } - }, - - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - }, - - nextSide: function() { - return ( $activeSide.next(selector.side).size() > 0 ) - ? $activeSide.next(selector.side) - : $module.find(selector.side).first() - ; - } - - }, - - stage: { - - above: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as above', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - below: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as below', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - left: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - right: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - behind: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as behind', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-180deg)' - }) - ; - } - }, - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.shape.settings = { - - // module info - name : 'Shape', - - // debug content outputted to console - debug : false, - - // verbose debug output - verbose : true, - - // performance data output - performance: true, - - // event namespace - namespace : 'shape', - - // callback occurs on side change - beforeChange : function() {}, - onChange : function() {}, - - // animation duration - duration : 700, - - // possible errors - error: { - side : 'You tried to switch to a side that does not exist.', - method : 'The method you called is not defined' - }, - - // classnames used - className : { - animating : 'animating', - hidden : 'hidden', - loading : 'loading', - active : 'active' - }, - - // selectors used - selector : { - sides : '.sides', - side : '.side' - } - -}; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/modules/shape.less b/definitions/modules/shape.less deleted file mode 100644 index 8dc2d6b226..0000000000 --- a/definitions/modules/shape.less +++ /dev/null @@ -1,152 +0,0 @@ -/* - * # Semantic - Shape - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'shape'; - -@import '../../semantic.config'; - - -/******************************* - Shape -*******************************/ - -.ui.shape { - position: relative; - display: @display; - perspective: @perspective; -} - -.ui.shape .sides { - transform-style: preserve-3d; -} - -.ui.shape .side { - opacity: 1; - width: 100%; - - margin: @sideMargin !important; - - backface-visibility: @backfaceVisibility; -} - -.ui.shape .side { - display: none; -} - -.ui.shape .side > * { - backface-visibility: visible !important; -} - -/******************************* - Types -*******************************/ - -.ui.cube.shape .side { - min-width: @cubeSize; - height: @cubeSize; - - padding: @cubePadding; - - background-color: @cubeBackground; - color: @cubeTextColor; - box-shadow: @cubeBoxShadow; -} -.ui.cube.shape .side > .content { - width: 100%; - height: 100%; - display: table; - - text-align: @cubeTextAlign; - user-select: text; -} -.ui.cube.shape .side > .content > div { - display: table-cell; - vertical-align: middle; - font-size: @cubeFontSize; -} - -/******************************* - Variations -*******************************/ - -.ui.text.shape.animating .sides { - position: static; -} -.ui.text.shape .side { - white-space: nowrap; -} -.ui.text.shape .side > * { - white-space: normal; -} - - -/******************************* - States -*******************************/ - -/*-------------- - Loading ----------------*/ - -.ui.loading.shape { - position: absolute; - top: -9999px; - left: -9999px; -} - - -/*-------------- - Animating ----------------*/ - -.ui.shape .animating.side { - position: absolute; - top: 0px; - left: 0px; - z-index: @animatingZIndex; -} -.ui.shape .hidden.side { - opacity: @hiddenSideOpacity; -} - - -/*-------------- - CSS ----------------*/ - -.ui.shape.animating { - transition: @transition; -} -.ui.shape.animating .sides { - position: absolute; -} -.ui.shape.animating .sides { - transition: @transition; -} -.ui.shape.animating .side { - transition: @sideTransition; -} - -/*-------------- - Active ----------------*/ - -.ui.shape .active.side { - display: block; -} - -.loadUIOverrides(); diff --git a/definitions/modules/sidebar.js b/definitions/modules/sidebar.js deleted file mode 100644 index ebf4bfb11d..0000000000 --- a/definitions/modules/sidebar.js +++ /dev/null @@ -1,853 +0,0 @@ -/* - * # Semantic - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.sidebar = function(parameters) { - var - $allModules = $(this), - $head = $('head'), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.sidebar.settings, parameters) - : $.extend({}, $.fn.sidebar.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - $style = $('style[title=' + namespace + ']'), - - $sidebars = $context.children(selector.sidebar), - $pusher = $context.children(selector.pusher), - $page = $pusher.children(selector.page), - $fixed = $pusher.find(selector.fixed), - - element = this, - instance = $module.data(moduleNamespace), - - currentScroll, - transitionEnd, - - module - ; - - module = { - - initialize: function() { - module.debug('Initializing sidebar', $module); - - transitionEnd = module.get.transitionEvent(); - - // cache on initialize - if( module.is.legacy() ) { - settings.useLegacy = true; - } - - module.setup.context(); - - // avoid locking rendering to change layout if included in onReady - requestAnimationFrame(module.setup.layout); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - event: { - clickaway: function(event) { - if( $module.find(event.target).size() === 0 && $(event.target).filter($module).size() === 0 ) { - module.verbose('User clicked on dimmed page'); - module.hide(); - } - }, - scroll: function(event) { - if( $module.find(event.target).size() === 0 && $(event.target).filter($module).size() === 0 ) { - event.preventDefault(); - } - } - }, - - bind: { - clickaway: function() { - if(settings.scrollLock) { - $(window) - .on('DOMMouseScroll' + eventNamespace, module.event.scroll) - ; - } - $context - .on('click' + eventNamespace, module.event.clickaway) - .on('touchend' + eventNamespace, module.event.clickaway) - ; - } - }, - unbind: { - clickaway: function() { - $context - .off(eventNamespace) - ; - if(settings.scrollLock) { - $(window).off('DOMMouseScroll' + eventNamespace); - } - } - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $context = $(settings.context); - $style = $('style[title=' + namespace + ']'); - $sidebars = $context.children(selector.sidebar); - $pusher = $context.children(selector.pusher); - $page = $pusher.children(selector.page); - $fixed = $pusher.find(selector.fixed); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - var fakeAssignment = $context[0].offsetWidth; - }, - - setup: { - layout: function() { - if( $context.find(selector.pusher).size() === 0 ) { - module.debug('Adding wrapper element for sidebar'); - $pusher = $('
'); - $page = $('
'); - $pusher.append($page); - $context - .children() - .not(selector.omitted) - .not($sidebars) - .wrapAll($pusher) - ; - } - if($module.prevAll($page)[0] !== $page[0]) { - module.debug('Moved sidebar to correct parent element'); - $module.detach().prependTo($context); - } - module.refresh(); - }, - context: function() { - module.verbose('Adding pusshable class to wrapper'); - $context.addClass(className.pushable); - } - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.size() > 0) { - module.debug('Attaching sidebar events to element', selector, event); - $toggle - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound, selector); - } - }, - - show: function(callback) { - var - animateMethod = (settings.useLegacy) - ? module.legacyPushPage - : module.pushPage - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.closed() || module.is.outward()) { - if(settings.overlay) { - module.error(error.overlay); - settings.transition = 'overlay'; - } - if(settings.transition !== 'overlay') { - module.hideAll(); - } - animateMethod(function() { - $.proxy(callback, element)(); - $.proxy(settings.onShow, element)(); - }); - $.proxy(settings.onChange, element)(); - $.proxy(settings.onVisible, element)(); - } - else { - module.debug('Sidebar is already visible'); - } - }, - - hide: function(callback) { - var - animateMethod = (settings.useLegacy) - ? module.legacyPullPage - : module.pullPage - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.visible() || module.is.inward()) { - module.debug('Hiding sidebar', callback); - animateMethod(function() { - $.proxy(callback, element)(); - $.proxy(settings.onHidden, element)(); - }); - $.proxy(settings.onChange, element)(); - $.proxy(settings.onHide, element)(); - } - }, - - hideAll: function() { - var - $visibleSidebars = $sidebars.find('.' + className.visible) - ; - $visibleSidebars - .sidebar('hide') - ; - }, - - toggle: function() { - module.verbose('Determining toggled direction'); - if(module.is.closed() || module.is.outward()) { - module.show(); - } - else { - module.hide(); - } - }, - - pushPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition == 'safe') - ? $context - : (transition == 'overlay') - ? $module - : $pusher, - animate - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - animate = function() { - module.remove.outward(); - module.set.visible(); - module.set.transition(); - module.set.direction(); - requestAnimationFrame(function() { - module.set.inward(); - module.set.pushed(); - }); - }; - $transition - .off(transitionEnd + eventNamespace) - .on(transitionEnd + eventNamespace, function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEnd + eventNamespace); - module.remove.inward(); - module.bind.clickaway(); - module.set.active(); - $.proxy(callback, element)(); - } - }) - ; - module.verbose('Adding context push state', $context); - if(transition === 'overlay') { - requestAnimationFrame(animate); - } - else { - if(settings.transition == 'scale down' || module.is.mobile()) { - $module.scrollTop(0); - currentScroll = $(window).scrollTop(); - window.scrollTo(0, 0); - } - module.remove.allVisible(); - requestAnimationFrame(animate); - } - }, - - pullPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition == 'safe') - ? $context - : (transition == 'overlay') - ? $module - : $pusher - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.verbose('Removing context push state', module.get.direction()); - module.unbind.clickaway(); - - $transition - .off(transitionEnd + eventNamespace) - .on(transitionEnd + eventNamespace, function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEnd + eventNamespace); - module.remove.transition(); - module.remove.direction(); - module.remove.outward(); - module.remove.visible(); - if(transition == 'scale down' || (settings.returnScroll && transition !== 'overlay' && module.is.mobile()) ) { - window.scrollTo(0, currentScroll); - } - $.proxy(callback, element)(); - } - }) - ; - requestAnimationFrame(function() { - module.remove.inward(); - module.set.outward(); - module.remove.active(); - module.remove.pushed(); - }); - }, - - legacyPushPage: function(callback) { - var - distance = $module.width(), - direction = module.get.direction(), - properties = {} - ; - distance = distance || $module.width(); - callback = $.isFunction(callback) - ? callback - : function(){} - ; - properties[direction] = distance; - module.debug('Using javascript to push context', properties); - module.set.visible(); - module.set.transition(); - module.set.direction(); - module.set.inward(); - module.set.pushed(); - $context - .animate(properties, settings.duration, settings.easing, function() { - module.remove.inward(); - module.bind.clickaway(); - module.set.active(); - $.proxy(callback, module)(); - }) - ; - }, - legacyPullPage: function(callback) { - var - distance = 0, - direction = module.get.direction(), - properties = {} - ; - distance = distance || $module.width(); - callback = $.isFunction(callback) - ? callback - : function(){} - ; - properties[direction] = '0px'; - module.debug('Using javascript to pull context', properties); - module.unbind.clickaway(); - module.set.outward(); - module.remove.active(); - module.remove.pushed(); - $context - .animate(properties, settings.duration, settings.easing, function() { - module.remove.transition(); - module.remove.direction(); - module.remove.outward(); - module.remove.visible(); - $.proxy(callback, module)(); - }) - ; - }, - - set: { - active: function() { - $context.addClass(className.active); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $context.addClass(className[direction]); - }, - visible: function() { - $module.addClass(className.visible); - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $context.addClass(transition); - }, - inward: function() { - $context.addClass(className.inward); - }, - outward: function() { - $context.addClass(className.outward); - }, - pushed: function() { - if(settings.dimPage) { - $page.addClass(className.dimmed); - } - $context.addClass(className.pushed); - } - }, - remove: { - active: function() { - $context.removeClass(className.active); - }, - visible: function() { - $module.removeClass(className.visible); - }, - allVisible: function() { - if($sidebars.hasClass(className.visible)) { - module.debug('Other sidebars visible, hiding'); - $sidebars.removeClass(className.visible); - } - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $context.removeClass(transition); - }, - pushed: function() { - if(settings.dimPage) { - $page.removeClass(className.dimmed); - } - $context.removeClass(className.pushed); - }, - inward: function() { - $context.removeClass(className.inward); - }, - outward: function() { - $context.removeClass(className.outward); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $context.removeClass(className[direction]); - } - }, - - get: { - direction: function() { - if($module.hasClass(className.top)) { - return className.top; - } - else if($module.hasClass(className.right)) { - return className.right; - } - else if($module.hasClass(className.bottom)) { - return className.bottom; - } - return className.left; - }, - transition: function() { - var - direction = module.get.direction(), - transition - ; - return ( module.is.mobile() ) - ? (settings.mobileTransition == 'auto') - ? settings.defaultTransition.mobile[direction] - : settings.mobileTransition - : (settings.transition == 'auto') - ? settings.defaultTransition.computer[direction] - : settings.transition - ; - }, - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - } - }, - - is: { - legacy: function() { - var - element = document.createElement('div'), - transforms = { - 'webkitTransform' :'-webkit-transform', - 'OTransform' :'-o-transform', - 'msTransform' :'-ms-transform', - 'MozTransform' :'-moz-transform', - 'transform' :'transform' - }, - has3D - ; - - // Add it to the body to get the computed style. - document.body.insertBefore(element, null); - for (var transform in transforms) { - if (element.style[transform] !== undefined) { - element.style[transform] = "translate3d(1px,1px,1px)"; - has3D = window.getComputedStyle(element).getPropertyValue(transforms[transform]); - } - } - document.body.removeChild(element); - return !(has3D !== undefined && has3D.length > 0 && has3D !== 'none'); - }, - mobile: function() { - var - userAgent = navigator.userAgent, - mobileRegExp = /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/, - isMobile = mobileRegExp.test(userAgent) - ; - if(isMobile) { - module.verbose('Browser was found to be mobile', userAgent); - return true; - } - else { - module.verbose('Browser is not mobile, using regular transition', userAgent); - return false; - } - }, - closed: function() { - return !module.is.visible(); - }, - visible: function() { - return $module.hasClass(className.visible); - }, - vertical: function() { - return $module.hasClass(className.top); - }, - inward: function() { - return $context.hasClass(className.inward); - }, - outward: function() { - return $context.hasClass(className.outward); - }, - animating: function() { - return module.is.inward() || module.is.outward(); - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - } - ; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }); - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.sidebar.settings = { - - name : 'Sidebar', - namespace : 'sidebar', - - debug : false, - verbose : false, - performance : false, - - workaround : false, - transition : 'auto', - mobileTransition : 'auto', - - defaultTransition : { - computer: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - }, - mobile: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - } - }, - - context : 'body', - exclusive : true, - - dimPage : true, - scrollLock : false, - returnScroll : true, - - useLegacy : false, - duration : 500, - easing : 'easeInOutQuint', - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - onHidden : function(){}, - onVisible : function(){}, - - className : { - active : 'active', - bottom : 'bottom', - dimmed : 'dimmed', - inward : 'show', - left : 'left', - outward : 'hide', - pushable : 'pushable', - pushed : 'pushed', - right : 'right', - top : 'top', - visible : 'visible' - }, - - selector: { - fixed : '.ui.fixed', - omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed', - page : '.page', - pusher : '.pusher', - sidebar : '.ui.sidebar' - }, - - error : { - method : 'The method you called is not defined.', - overlay : 'The overlay setting is no longer supported, use animation: overlay', - notFound : 'There were no elements that matched the specified selector' - } - -}; - -// Adds easing -$.extend( $.easing, { - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - } -}); - - -})( jQuery, window , document ); diff --git a/definitions/modules/sidebar.less b/definitions/modules/sidebar.less deleted file mode 100644 index d0fb65b6b0..0000000000 --- a/definitions/modules/sidebar.less +++ /dev/null @@ -1,457 +0,0 @@ -/* - * # Semantic - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'sidebar'; - -@import '../../semantic.config'; - - -/******************************* - Sidebar -*******************************/ - -/* Sidebar Menu */ -.ui.sidebar { - position: fixed; - top: 0; - left: 0; - visibility: hidden; - backface-visibility: hidden; - height: 100% !important; - border-radius: 0em !important; - margin: 0 !important; - transition: none; - will-change: transform; - overflow-y: auto !important; - backface-visibility: hidden; - - background: @sidebarBackground; - width: @sidebarWidth !important; -} - -/*-------------- - Direction ----------------*/ - -.ui.top.sidebar, -.ui.bottom.sidebar { - width: 100% !important; - height: auto !important; - overflow-y: visible !important; -} - -.ui.top.sidebar { - top: 0px !important; - bottom: auto !important; -} -.ui.right.sidebar { - right: 0px !important; - left: auto !important; -} -.ui.bottom.sidebar { - top: auto !important; - bottom: 0px !important; -} - - - -/*-------------- - Body ----------------*/ - -/* Sets 3D Perspective */ -.pushable { - background: @canvasBackground !important; - position: relative; - height: 100%; - overflow-x: hidden; -} - -/*-------------- - Fixed ----------------*/ - -.pushable > .ui.fixed { - position: fixed; - transition: transform @duration @easing; - z-index: @fixedLayer; -} - -/*-------------- - Pusher ----------------*/ - -.pushable > .pusher { - background: @canvasBackground; - height: 100%; - z-index: @middleLayer; - transition: transform @duration @easing; -} - -/*-------------- - Page ----------------*/ - -.pushable > .pusher > .page { - position: relative; - min-height: 100%; - background: @pageBackground; -} - -/*-------------- - Dimmer ----------------*/ - -.pushable > .pusher > .page:after { - position: absolute; - top: 0px; - right: 0px; - content: ''; - background-color: @dimmerColor; - width: 0px; - height: 0px; - overflow: hidden; - opacity: 0; - z-index: @dimmerLayer; - transition: opacity @duration; - will-change: opacity; -} - -/*-------------- - Coupling ----------------*/ - -.ui.sidebar.menu .item { - border-radius: 0em !important; -} - -/******************************* - States -*******************************/ - -/*-------------- - Pushed ----------------*/ - -.pushable.pushed { - overflow-x: hidden; -} - - -.pushable.pushed > .fixed, -.pushable.pushed > .pusher { - backface-visibility: hidden; - -webkit-overflow-scrolling: touch; -} - -.pushable.active > .visible.sidebar { - -webkit-overflow-scrolling: touch; - backface-visibility: hidden; - z-index: @topLayer; -} - -/*-------------- - Dimmed ----------------*/ - -.pushable > .pusher > .page.dimmed:after { - width: 100% !important; - height: 100% !important; - opacity: 1 !important; -} - - -/*-------------- - Animation ----------------*/ - -.pushable.show > .pusher, -.pushable.hide > .pusher { - backface-visibility: hidden; -} -.pushable.show > .visible.sidebar, -.pushable.hide > .visible.sidebar { - backface-visibility: hidden; -} - -/*-------------- - Visible ----------------*/ - -.pushable > .visible.ui.sidebar { - visibility: visible; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Styled ----------------*/ - -.ui.styled.sidebar { - background-color: #FFFFFF; - padding: 1em 1.25em; - border-right: 1px solid #DDDDDD; -} - - -/******************************* - Animations -*******************************/ - -/*-------------- - Overlay ----------------*/ - -/* Set-up */ -.pushable.overlay > .visible.ui.sidebar { - z-index: @topLayer; -} -/* Animation */ -.pushable.overlay.show > .visible.ui.sidebar, -.pushable.overlay.hide > .visible.ui.sidebar { - transition: transform @duration @easing; -} - -/*--- Left ---*/ - -/* Set-up */ -.left.pushable.overlay > .visible.ui.sidebar { - transform: translate3d(-100%, 0, 0); -} -/* Pushed */ -.left.pushable.overlay.pushed .visible.ui.sidebar { - transform: translate3d(0%, 0, 0); -} - -/*--- Right ---*/ - -/* Set-up */ -.right.pushable.overlay > .visible.ui.sidebar { - transform: translate3d(100%, 0, 0); -} -/* Pushed */ -.right.pushable.overlay.pushed .visible.ui.sidebar { - transform: translate3d(0%, 0, 0); -} - -/*--- Top ---*/ - -/* Set-up */ -.top.pushable.overlay > .visible.ui.sidebar { - transform: translate3d(0%, -100%, 0); -} -/* Pushed */ -.top.pushable.overlay.pushed .visible.ui.sidebar { - transform: translate3d(0%, 0%, 0); -} - -/*--- Bottom ---*/ - -/* Set-up */ -.bottom.pushable.overlay > .visible.ui.sidebar { - transform: translate3d(0%, 100%, 0); -} -/* Pushed */ -.bottom.pushable.overlay.pushed .visible.ui.sidebar { - transform: translate3d(0%, 0%, 0); -} - -/*-------------- - Push ----------------*/ - -/* Set-Up */ -.pushable.push > .fixed, -.pushable.push > .pusher { - transform: translate3d(0px, 0, 0); -} -.pushable.push > .visible.ui.sidebar { - transform: translate3d(-100%, 0, 0); -} - -/* Pushed */ -.pushable.push.pushed > .visible.ui.sidebar { - transform: translate3d(0%, 0, 0); -} -.pushable.push.pushed > .fixed, -.pushable.push.pushed > .pusher { - transform: translate3d(@sidebarWidth, 0, 0); -} - -.pushable.push.show > .visible.ui.sidebar, -.pushable.push.hide > .visible.ui.sidebar { - transition: transform @duration @easing; -} - - -/*-------------- - Uncover ----------------*/ - -/* Set-up */ -.pushable.uncover > .fixed, -.pushable.uncover > .pusher { - transform: translate3d(0px, 0px, 0px); -} -.pushable.uncover > .pusher { - z-index: @bottomLayer; -} -.pushable.uncover > .visible.ui.sidebar { - transition: none; -} - -/* Pushed */ - -/*--- Left ---*/ -.pushable.left.uncover.pushed > .fixed, -.pushable.left.uncover.pushed > .pusher { - transform: translate3d(@sidebarWidth, 0, 0); -} - -/*--- Right ---*/ -.pushable.right.uncover.pushed > .fixed, -.pushable.right.uncover.pushed > .pusher { - transform: translate3d(-@sidebarWidth, 0, 0); -} - -/*-------------- - Slide Along ----------------*/ - -/* Set-up */ -.pushable.slide.along > .fixed, -.pushable.slide.along > .pusher { - transform: translate3d(0px, 0, 0); -} -.pushable.slide.along > .pusher { - z-index: @bottomLayer; -} -.pushable.slide.along > .visible.ui.sidebar { - transform: translate3d(-50%, 0, 0); -} - -/* Pushed */ -.pushable.slide.along.pushed > .fixed, -.pushable.slide.along.pushed > .pusher { - transform: translate3d(@sidebarWidth, 0, 0); -} -.pushable.slide.along.pushed > .visible.ui.sidebar { - transform: translate3d(0%, 0, 0); -} - -.pushable.slide.along.show > .visible.ui.sidebar, -.pushable.slide.along.hide > .visible.ui.sidebar { - transition: transform @duration @easing; -} - - -/*-------------- - Slide Out ----------------*/ - -/* Set-up */ -.pushable.slide.out > .fixed, -.pushable.slide.out > .pusher { - transform: translate3d(0px, 0, 0); -} -.pushable.slide.out > .visible.ui.sidebar { - transform: translate3d(50%, 0, 0); -} - -/* Pushed */ -.pushable.slide.out.pushed > .fixed, -.pushable.slide.out.pushed > .pusher { - transform: translate3d(@sidebarWidth, 0, 0); -} -.pushable.slide.out.pushed .visible.ui.sidebar { - transform: translate3d(0%, 0, 0); -} - -.pushable.slide.out.show > .visible.ui.sidebar, -.pushable.slide.out.hide > .visible.ui.sidebar { - transition: transform @duration @easing; -} - -/*-------------- - Scale Down ----------------*/ - -/* Set-up */ -.pushable.scale.down > .fixed { - transform: translate3d(0px, 0, 0); -} -.pushable.scale.down > .pusher { - z-index: @bottomLayer; - transform-origin: 75% 50%; - overflow: hidden; -} -.pushable.scale.down > .visible.ui.sidebar { - transform: translate3d(-100%, 0, 0); - z-index: @topLayer; -} - -/* Pushed */ -.pushable.scale.down.pushed > .pusher { - transform: scale(0.75); -} -.pushable.scale.down.pushed > .visible.ui.sidebar { - transform: translate3d(0, 0, 0); -} -.pushable.scale.down.pushed > .fixed { - transform: translate3d(@sidebarWidth, 0, 0); -} - -/* 3D transition cant have duration set until animation */ -.pushable.scale.down.show > .visible.ui.sidebar, -.pushable.scale.down.hide > .visible.ui.sidebar { - transition: transform @duration @easing; -} - -/*-------------- - Safe Mode ----------------*/ - -/* Set-Up */ -.pushable.safe > .pusher { - position: relative; - transform: none !important; - transition: none !important; -} -.pushable.safe > .pusher { - transform: none !important; - transition: none !important; -} - -/* Pushed */ -.pushable.safe.pushed { - margin-left: @sidebarWidth !important; -} -.pushable.safe.pushed > .visible.ui.sidebar { - margin-left: -@sidebarWidth; -} -.pushable.safe.pushed > .fixed { - margin-left: @sidebarWidth !important; -} -.pushable.safe.show, -.pushable.safe.hide, -.pushable.safe.show > .fixed, -.pushable.safe.hide > .fixed { - transition: margin @duration @easing !important; -} diff --git a/definitions/modules/sticky.js b/definitions/modules/sticky.js deleted file mode 100644 index 4533029a8f..0000000000 --- a/definitions/modules/sticky.js +++ /dev/null @@ -1,768 +0,0 @@ - /* - * # Semantic - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.sticky = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - - $allModules - .each(function() { - var - settings = $.extend(true, {}, $.fn.sticky.settings, parameters), - - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $window = $(window), - $container = $module.offsetParent(), - $scroll = $(settings.scrollContext), - $context, - - selector = $module.selector || '', - instance = $module.data(moduleNamespace), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - element = this, - observer, - module - ; - - module = { - - initialize: function() { - if(settings.context) { - $context = $(settings.context); - } - else { - $context = $container; - } - if($context.size() === 0) { - module.error(error.invalidContext, settings.context, $module); - return; - } - module.verbose('Initializing sticky', settings, $container); - module.save.positions(); - - // error conditions - if( module.is.hidden() ) { - module.error(error.visible, $module); - } - if(module.cache.element.height > module.cache.context.height) { - module.reset(); - module.error(error.elementSize, $module); - return; - } - - $window - .on('resize' + eventNamespace, module.event.resize) - ; - $scroll - .on('scroll' + eventNamespace, module.event.scroll) - ; - - module.observeChanges(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module'); - module.reset(); - $window - .off('resize' + eventNamespace, module.event.resize) - ; - $scroll - .off('scroll' + eventNamespace, module.event.scroll) - ; - $module - .removeData(moduleNamespace) - ; - }, - - observeChanges: function() { - var - context = $context[0] - ; - if(MutationObserver !== undefined) { - observer = new MutationObserver(function(mutations) { - clearTimeout(module.timer); - module.timer = setTimeout(function() { - module.verbose('DOM tree modified, updating sticky menu'); - module.refresh(); - }, 200); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - observer.observe(context, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - event: { - resize: function() { - requestAnimationFrame(function() { - module.refresh(); - module.stick(); - }); - }, - scroll: function() { - requestAnimationFrame(function() { - module.stick(); - $.proxy(settings.onScroll, element)(); - }); - } - }, - - refresh: function(hardRefresh) { - module.reset(); - if(hardRefresh) { - $container = $module.offsetParent(); - } - module.save.positions(); - module.stick(); - $.proxy(settings.onReposition, element)(); - }, - - supports: { - sticky: function() { - var - $element = $('
'), - element = $element.get() - ; - $element - .addClass(className.supported) - ; - return($element.css('position').match('sticky')); - } - }, - - save: { - scroll: function(scroll) { - module.lastScroll = scroll; - }, - positions: function() { - var - window = { - height: $window.height() - }, - element = { - margin: { - top : parseInt($module.css('margin-top'), 10), - bottom : parseInt($module.css('margin-bottom'), 10), - }, - offset : $module.offset(), - width : $module.outerWidth(), - height : $module.outerHeight() - }, - context = { - offset: $context.offset(), - height: $context.outerHeight() - } - ; - module.cache = { - fits : ( element.height < window.height ), - window: { - height: window.height - }, - element: { - margin : element.margin, - top : element.offset.top - element.margin.top, - left : element.offset.left, - width : element.width, - height : element.height, - bottom : element.offset.top + element.height - }, - context: { - top : context.offset.top, - height : context.height, - bottom : context.offset.top + context.height - } - }; - module.set.containerSize(); - module.set.size(); - module.stick(); - module.debug('Caching element positions', module.cache); - } - }, - - get: { - direction: function(scroll) { - var - direction = 'down' - ; - scroll = scroll || $scroll.scrollTop(); - if(module.lastScroll !== undefined) { - if(module.lastScroll < scroll) { - direction = 'down'; - } - else if(module.lastScroll > scroll) { - direction = 'up'; - } - } - return direction; - }, - scrollChange: function(scroll) { - scroll = scroll || $scroll.scrollTop(); - return (module.lastScroll) - ? (scroll - module.lastScroll) - : 0 - ; - }, - currentElementScroll: function() { - return ( module.is.top() ) - ? Math.abs(parseInt($module.css('top'), 10)) || 0 - : Math.abs(parseInt($module.css('bottom'), 10)) || 0 - ; - }, - elementScroll: function(scroll) { - scroll = scroll || $scroll.scrollTop(); - var - element = module.cache.element, - window = module.cache.window, - delta = module.get.scrollChange(scroll), - maxScroll = (element.height - window.height + settings.offset), - currentScroll = module.get.currentElementScroll(), - possibleScroll = (currentScroll + delta), - elementScroll - ; - if(module.cache.fits || possibleScroll < 0) { - elementScroll = 0; - } - else if (possibleScroll > maxScroll ) { - elementScroll = maxScroll; - } - else { - elementScroll = possibleScroll; - } - return elementScroll; - } - }, - - remove: { - offset: function() { - $module.css('margin-top', ''); - } - }, - - set: { - offset: function() { - module.verbose('Setting offset on element', settings.offset); - $module.css('margin-top', settings.offset); - }, - containerSize: function() { - var - tagName = $container.get(0).tagName - ; - if(tagName === 'HTML' || tagName == 'body') { - // this can trigger for too many reasons - //module.error(error.container, tagName, $module); - $container = $module.offsetParent(); - } - else { - module.debug('Settings container size', module.cache.context.height); - $container.height(module.cache.context.height); - } - }, - scroll: function(scroll) { - module.debug('Setting scroll on element', scroll); - if( module.is.top() ) { - $module - .css('bottom', '') - .css('top', -scroll) - ; - } - if( module.is.bottom() ) { - $module - .css('top', '') - .css('bottom', scroll) - ; - } - }, - size: function() { - if(module.cache.element.height !== 0 && module.cache.element.width !== 0) { - $module - .css({ - width : module.cache.element.width, - height : module.cache.element.height - }) - ; - } - } - }, - - is: { - top: function() { - return $module.hasClass(className.top); - }, - bottom: function() { - return $module.hasClass(className.bottom); - }, - initialPosition: function() { - return (!module.is.fixed() && !module.is.bound()); - }, - hidden: function() { - return (!$module.is(':visible')); - }, - bound: function() { - return $module.hasClass(className.bound); - }, - fixed: function() { - return $module.hasClass(className.fixed); - } - }, - - stick: function() { - var - cache = module.cache, - fits = cache.fits, - element = cache.element, - window = cache.window, - context = cache.context, - scroll = { - top : $scroll.scrollTop() + settings.offset, - bottom : $scroll.scrollTop() + settings.offset + window.height - }, - direction = module.get.direction(scroll.top), - elementScroll = module.get.elementScroll(scroll.top), - - // shorthand - doesntFit = !fits, - elementVisible = (element.height !== 0) - ; - - // save current scroll for next run - module.save.scroll(scroll.top); - - if(elementVisible) { - - if( module.is.initialPosition() ) { - if(scroll.top >= element.top) { - module.debug('Element passed, fixing element to page'); - module.fixTop(); - } - } - else if( module.is.fixed() ) { - - // currently fixed top - if( module.is.top() ) { - if( scroll.top < element.top ) { - module.debug('Fixed element reached top of container'); - module.setInitialPosition(); - } - else if( (element.height + scroll.top - elementScroll) > context.bottom ) { - module.debug('Fixed element reached bottom of container'); - module.bindBottom(); - } - // scroll element if larger than screen - else if(doesntFit) { - module.set.scroll(elementScroll); - } - } - - // currently fixed bottom - else if(module.is.bottom() ) { - - // top edge - if( (scroll.bottom - element.height) < element.top) { - module.debug('Bottom fixed rail has reached top of container'); - module.setInitialPosition(); - } - // bottom edge - else if(scroll.bottom > context.bottom) { - module.debug('Bottom fixed rail has reached bottom of container'); - module.bindBottom(); - } - // scroll element if larger than screen - else if(doesntFit) { - module.set.scroll(elementScroll); - } - - } - } - else if( module.is.bottom() ) { - // fix to bottom of screen on way back up - if( module.is.bottom() ) { - if(settings.pushing) { - if(module.is.bound() && scroll.bottom < context.bottom ) { - module.debug('Fixing bottom attached element to bottom of browser.'); - module.fixBottom(); - } - } - else { - if(module.is.bound() && (scroll.top < context.bottom - element.height) ) { - module.debug('Fixing bottom attached element to top of browser.'); - module.fixTop(); - } - } - } - } - } - }, - - bindTop: function() { - module.debug('Binding element to top of parent container'); - module.remove.offset(); - $module - .css('left' , '') - .css('top' , '') - .css('bottom' , '') - .removeClass(className.fixed) - .removeClass(className.bottom) - .addClass(className.bound) - .addClass(className.top) - ; - $.proxy(settings.onTop, element)(); - $.proxy(settings.onUnstick, element)(); - }, - bindBottom: function() { - module.debug('Binding element to bottom of parent container'); - module.remove.offset(); - $module - .css('left' , '') - .css('top' , '') - .css('bottom' , '') - .removeClass(className.fixed) - .removeClass(className.top) - .addClass(className.bound) - .addClass(className.bottom) - ; - $.proxy(settings.onBottom, element)(); - $.proxy(settings.onUnstick, element)(); - }, - - setInitialPosition: function() { - module.unfix(); - module.unbind(); - }, - - - fixTop: function() { - module.debug('Fixing element to top of page'); - module.set.offset(); - $module - .css('left', module.cache.element.left) - .removeClass(className.bound) - .removeClass(className.bottom) - .addClass(className.fixed) - .addClass(className.top) - ; - $.proxy(settings.onStick, element)(); - }, - - fixBottom: function() { - module.debug('Sticking element to bottom of page'); - module.set.offset(); - $module - .css('left', module.cache.element.left) - .removeClass(className.bound) - .removeClass(className.top) - .addClass(className.fixed) - .addClass(className.bottom) - ; - $.proxy(settings.onStick, element)(); - }, - - unbind: function() { - module.debug('Removing absolute position on element'); - module.remove.offset(); - $module - .removeClass(className.bound) - .removeClass(className.top) - .removeClass(className.bottom) - ; - }, - - unfix: function() { - module.debug('Removing fixed position on element'); - module.remove.offset(); - $module - .removeClass(className.fixed) - .removeClass(className.top) - .removeClass(className.bottom) - ; - $.proxy(settings.onUnstick, this)(); - }, - - reset: function() { - module.debug('Reseting elements position'); - module.unbind(); - module.unfix(); - module.resetCSS(); - }, - - resetCSS: function() { - $module - .css({ - top : '', - bottom : '', - width : '', - height : '' - }) - ; - $container - .css({ - height: '' - }) - ; - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 0); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.sticky.settings = { - - name : 'Sticky', - namespace : 'sticky', - - debug : false, - verbose : false, - performance : false, - - pushing : false, - - context : false, - scrollContext : window, - offset : 0, - - onReposition : function(){}, - onScroll : function(){}, - onStick : function(){}, - onUnstick : function(){}, - onTop : function(){}, - onBottom : function(){}, - - error : { - container : 'Sticky element must be inside a relative container', - visible : 'Element is hidden, you must call refresh after element becomes visible', - method : 'The method you called is not defined.', - invalidContext : 'Context specified does not exist', - elementSize : 'Sticky element is larger than its container, cannot create sticky.' - }, - - className : { - bound : 'bound', - fixed : 'fixed', - supported : 'native', - top : 'top', - bottom : 'bottom' - } - -}; - -})( jQuery, window , document ); diff --git a/definitions/modules/sticky.less b/definitions/modules/sticky.less deleted file mode 100644 index 68bffdfb89..0000000000 --- a/definitions/modules/sticky.less +++ /dev/null @@ -1,73 +0,0 @@ - /* - * # Semantic - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'sticky'; - -@import '../../semantic.config'; - -/******************************* - Sticky -*******************************/ - -.ui.sticky { - position: static; - transition: @transition; -} - -/******************************* - States -*******************************/ - -/* Bound */ -.ui.sticky.bound { - position: absolute; - left: auto; - right: auto; -} - -/* Fixed */ -.ui.sticky.fixed { - position: fixed; - left: auto; - right: auto; -} - -/* Bound/Fixed Position */ -.ui.sticky.bound.top, -.ui.sticky.fixed.top { - top: 0px; - bottom: auto; -} -.ui.sticky.bound.bottom, -.ui.sticky.fixed.bottom { - top: auto; - bottom: 0px; -} - - -/******************************* - Types -*******************************/ - -.ui.native.sticky { - position: -webkit-sticky; - position: -moz-sticky; - position: -ms-sticky; - position: -o-sticky; - position: sticky; -} - -.loadUIOverrides(); diff --git a/definitions/modules/tab.js b/definitions/modules/tab.js deleted file mode 100644 index 60c5588768..0000000000 --- a/definitions/modules/tab.js +++ /dev/null @@ -1,795 +0,0 @@ - /* - * # Semantic - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.tab = $.fn.tab = function(parameters) { - - var - // use window context if none specified - $allModules = $.isFunction(this) - ? $(window) - : $(this), - - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.tab.settings, parameters) - : $.extend({}, $.fn.tab.settings), - - moduleSelector = $allModules.selector || '', - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - module, - returnedValue - ; - - - $allModules - .each(function() { - var - - className = settings.className, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - $module = $(this), - $tabs = $(selector.tabs), - - cache = {}, - firstLoad = true, - recursionDepth = 0, - - $context, - activeTabPath, - parameterArray, - historyEvent, - - element = this, - instance = $module.data(moduleNamespace) - ; - - module = { - - initialize: function() { - module.debug('Initializing tab menu item', $module); - - if(settings.context) { - module.determineTabs(); - module.debug('Using only tabs inside context', settings.context, $tabs); - } - - // set up automatic routing - if(settings.auto) { - module.verbose('Setting up automatic tab retrieval from server'); - settings.apiSettings = { - url: settings.path + '/{$tab}' - }; - } - - // attach events if navigation wasn't set to window - if( !$.isWindow( element ) ) { - module.debug('Attaching tab activation events to element', $module); - $module - .on('click' + eventNamespace, module.event.click) - ; - } - module.instantiate(); - }, - - determineTabs: function() { - var - $reference - ; - if(settings.context === 'parent') { - if($module.closest('.' + className.ui).size() > 0) { - $reference = $module.closest('.' + className.ui); - module.verbose('Using closest UI element for determining parent', $reference); - } - else { - $reference = $module; - } - $context = $reference.parent(); - module.verbose('Determining parent element for creating context', $context); - } - else { - $context = $(settings.context); - module.verbose('Using selector for tab context', settings.context, $context); - } - if(settings.childrenOnly) { - $tabs = $context.children(selector.tabs); - module.debug('Searching tab context children for tabs', $context, $tabs); - } - else { - $tabs = $context.find(selector.tabs); - module.debug('Searching tab context for tabs', $context, $tabs); - } - }, - - initializeHistory: function() { - if(settings.history) { - module.debug('Initializing page state'); - if( $.address === undefined ) { - module.error(error.state); - return false; - } - else { - if(settings.historyType == 'state') { - module.debug('Using HTML5 to manage state'); - if(settings.path !== false) { - $.address - .history(true) - .state(settings.path) - ; - } - else { - module.error(error.path); - return false; - } - } - $.address - .bind('change', module.event.history.change) - ; - } - } - }, - - instantiate: function () { - module.verbose('Storing instance of module', module); - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying tabs', $module); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - event: { - click: function(event) { - var - tabPath = $(this).data(metadata.tab) - ; - if(tabPath !== undefined) { - if(settings.history) { - module.verbose('Updating page state', event); - $.address.value(tabPath); - } - else { - module.verbose('Changing tab', event); - module.changeTab(tabPath); - } - event.preventDefault(); - } - else { - module.debug('No tab specified'); - } - }, - history: { - change: function(event) { - var - tabPath = event.pathNames.join('/') || module.get.initialPath(), - pageTitle = settings.templates.determineTitle(tabPath) || false - ; - module.performance.display(); - module.debug('History change event', tabPath, event); - historyEvent = event; - if(tabPath !== undefined) { - module.changeTab(tabPath); - } - if(pageTitle) { - $.address.title(pageTitle); - } - } - } - }, - - refresh: function() { - if(activeTabPath) { - module.debug('Refreshing tab', activeTabPath); - module.changeTab(activeTabPath); - } - }, - - cache: { - - read: function(cacheKey) { - return (cacheKey !== undefined) - ? cache[cacheKey] - : false - ; - }, - add: function(cacheKey, content) { - cacheKey = cacheKey || activeTabPath; - module.debug('Adding cached content for', cacheKey); - cache[cacheKey] = content; - }, - remove: function(cacheKey) { - cacheKey = cacheKey || activeTabPath; - module.debug('Removing cached content for', cacheKey); - delete cache[cacheKey]; - } - }, - - set: { - state: function(state) { - $.address.value(state); - } - }, - - changeTab: function(tabPath) { - var - pushStateAvailable = (window.history && window.history.pushState), - shouldIgnoreLoad = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad), - remoteContent = (settings.auto || $.isPlainObject(settings.apiSettings) ), - // only get default path if not remote content - pathArray = (remoteContent && !shouldIgnoreLoad) - ? module.utilities.pathToArray(tabPath) - : module.get.defaultPathArray(tabPath) - ; - tabPath = module.utilities.arrayToPath(pathArray); - $.each(pathArray, function(index, tab) { - var - currentPathArray = pathArray.slice(0, index + 1), - currentPath = module.utilities.arrayToPath(currentPathArray), - - isTab = module.is.tab(currentPath), - isLastIndex = (index + 1 == pathArray.length), - - $tab = module.get.tabElement(currentPath), - $anchor, - nextPathArray, - nextPath, - isLastTab - ; - module.verbose('Looking for tab', tab); - if(isTab) { - module.verbose('Tab was found', tab); - - // scope up - activeTabPath = currentPath; - parameterArray = module.utilities.filterArray(pathArray, currentPathArray); - - if(isLastIndex) { - isLastTab = true; - } - else { - nextPathArray = pathArray.slice(0, index + 2); - nextPath = module.utilities.arrayToPath(nextPathArray); - isLastTab = ( !module.is.tab(nextPath) ); - if(isLastTab) { - module.verbose('Tab parameters found', nextPathArray); - } - } - if(isLastTab && remoteContent) { - if(!shouldIgnoreLoad) { - module.activate.navigation(currentPath); - module.content.fetch(currentPath, tabPath); - } - else { - module.debug('Ignoring remote content on first tab load', currentPath); - firstLoad = false; - module.cache.add(tabPath, $tab.html()); - module.activate.all(currentPath); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - return false; - } - else { - module.debug('Opened local tab', currentPath); - module.activate.all(currentPath); - if( !module.cache.read(currentPath) ) { - module.cache.add(currentPath, true); - module.debug('First time tab loaded calling tab init'); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - } - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - } - else { - // look for in page anchor - $anchor = $('#' + tabPath + ', a[name="' + tabPath + '"]'); - currentPath = $anchor.closest('[data-tab]').data('tab'); - $tab = module.get.tabElement(currentPath); - // if anchor exists use parent tab - if($anchor.size() > 0 && currentPath) { - module.debug('No tab found, but deep anchor link present, opening parent tab'); - module.activate.all(currentPath); - if( !module.cache.read(currentPath) ) { - module.cache.add(currentPath, true); - module.debug('First time tab loaded calling tab init'); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - } - } - else { - module.error(error.missingTab, $module, currentPath); - } - return false; - } - }); - }, - - content: { - - fetch: function(tabPath, fullTabPath) { - var - $tab = module.get.tabElement(tabPath), - apiSettings = { - dataType : 'html', - stateContext : $tab, - onSuccess : function(response) { - module.cache.add(fullTabPath, response); - module.content.update(tabPath, response); - if(tabPath == activeTabPath) { - module.debug('Content loaded', tabPath); - module.activate.tab(tabPath); - } - else { - module.debug('Content loaded in background', tabPath); - } - $.proxy(settings.onTabInit, $tab)(tabPath, parameterArray, historyEvent); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - }, - urlData: { tab: fullTabPath } - }, - request = $tab.data(metadata.promise) || false, - existingRequest = ( request && request.state() === 'pending' ), - requestSettings, - cachedContent - ; - - fullTabPath = fullTabPath || tabPath; - cachedContent = module.cache.read(fullTabPath); - - if(settings.cache && cachedContent) { - module.debug('Showing existing content', fullTabPath); - module.content.update(tabPath, cachedContent); - module.activate.tab(tabPath); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - } - else if(existingRequest) { - module.debug('Content is already loading', fullTabPath); - $tab - .addClass(className.loading) - ; - } - else if($.api !== undefined) { - requestSettings = $.extend(true, { headers: { 'X-Remote': true } }, settings.apiSettings, apiSettings); - module.debug('Retrieving remote content', fullTabPath, requestSettings); - $.api( requestSettings ); - } - else { - module.error(error.api); - } - }, - - update: function(tabPath, html) { - module.debug('Updating html for', tabPath); - var - $tab = module.get.tabElement(tabPath) - ; - $tab - .html(html) - ; - } - }, - - activate: { - all: function(tabPath) { - module.activate.tab(tabPath); - module.activate.navigation(tabPath); - }, - tab: function(tabPath) { - var - $tab = module.get.tabElement(tabPath) - ; - module.verbose('Showing tab content for', $tab); - $tab - .addClass(className.active) - .siblings($tabs) - .removeClass(className.active + ' ' + className.loading) - ; - }, - navigation: function(tabPath) { - var - $navigation = module.get.navElement(tabPath) - ; - module.verbose('Activating tab navigation for', $navigation, tabPath); - $navigation - .addClass(className.active) - .siblings($allModules) - .removeClass(className.active + ' ' + className.loading) - ; - } - }, - - deactivate: { - all: function() { - module.deactivate.navigation(); - module.deactivate.tabs(); - }, - navigation: function() { - $allModules - .removeClass(className.active) - ; - }, - tabs: function() { - $tabs - .removeClass(className.active + ' ' + className.loading) - ; - } - }, - - is: { - tab: function(tabName) { - return (tabName !== undefined) - ? ( module.get.tabElement(tabName).size() > 0 ) - : false - ; - } - }, - - get: { - initialPath: function() { - return $allModules.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab); - }, - path: function() { - return $.address.value(); - }, - // adds default tabs to tab path - defaultPathArray: function(tabPath) { - return module.utilities.pathToArray( module.get.defaultPath(tabPath) ); - }, - defaultPath: function(tabPath) { - var - $defaultNav = $allModules.filter('[data-' + metadata.tab + '^="' + tabPath + '/"]').eq(0), - defaultTab = $defaultNav.data(metadata.tab) || false - ; - if( defaultTab ) { - module.debug('Found default tab', defaultTab); - if(recursionDepth < settings.maxDepth) { - recursionDepth++; - return module.get.defaultPath(defaultTab); - } - module.error(error.recursion); - } - else { - module.debug('No default tabs found for', tabPath, $tabs); - } - recursionDepth = 0; - return tabPath; - }, - navElement: function(tabPath) { - tabPath = tabPath || activeTabPath; - return $allModules.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - }, - tabElement: function(tabPath) { - var - $fullPathTab, - $simplePathTab, - tabPathArray, - lastTab - ; - tabPath = tabPath || activeTabPath; - tabPathArray = module.utilities.pathToArray(tabPath); - lastTab = module.utilities.last(tabPathArray); - $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + lastTab + '"]'); - $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - return ($fullPathTab.size() > 0) - ? $fullPathTab - : $simplePathTab - ; - }, - tab: function() { - return activeTabPath; - } - }, - - utilities: { - filterArray: function(keepArray, removeArray) { - return $.grep(keepArray, function(keepValue) { - return ( $.inArray(keepValue, removeArray) == -1); - }); - }, - last: function(array) { - return $.isArray(array) - ? array[ array.length - 1] - : false - ; - }, - pathToArray: function(pathName) { - if(pathName === undefined) { - pathName = activeTabPath; - } - return typeof pathName == 'string' - ? pathName.split('/') - : [pathName] - ; - }, - arrayToPath: function(pathArray) { - return $.isArray(pathArray) - ? pathArray.join('/') - : false - ; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - if(module && !methodInvoked) { - module.initializeHistory(); - } - return (returnedValue !== undefined) - ? returnedValue - : this - ; - -}; - -// shortcut for tabbed content with no defined navigation -$.tab = function(settings) { - $(window).tab(settings); -}; - -$.fn.tab.settings = { - - name : 'Tab', - namespace : 'tab', - - debug : false, - verbose : false, - performance : false, - - // only called first time a tab's content is loaded (when remote source) - onTabInit : function(tabPath, parameterArray, historyEvent) {}, - - // called on every load - onTabLoad : function(tabPath, parameterArray, historyEvent) {}, - - templates : { - determineTitle: function(tabArray) {} - }, - - // uses pjax style endpoints fetching content from same url with remote-content headers - auto : false, - history : false, - historyType : 'hash', - path : false, - - context : false, - childrenOnly : false, - - // max depth a tab can be nested - maxDepth : 25, - - // dont load content on first load - ignoreFirstLoad : false, - - // load tab content new every tab click - alwaysRefresh : false, - - // cache the content requests to pull locally - cache : true, - - // settings for api call - apiSettings : false, - - error: { - api : 'You attempted to load content without API module', - method : 'The method you called is not defined', - missingTab : 'Activated tab cannot be found for this context.', - noContent : 'The tab you specified is missing a content url.', - path : 'History enabled, but no path was specified', - recursion : 'Max recursive depth reached', - state : 'The state library has not been initialized' - }, - - metadata : { - tab : 'tab', - loaded : 'loaded', - promise: 'promise' - }, - - className : { - loading : 'loading', - active : 'active', - ui : 'ui' - }, - - selector : { - tabs : '.ui.tab' - } - -}; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/definitions/modules/tab.less b/definitions/modules/tab.less deleted file mode 100644 index 367a1913b4..0000000000 --- a/definitions/modules/tab.less +++ /dev/null @@ -1,71 +0,0 @@ -/* - * # Semantic - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'tab'; - -@import '../../semantic.config'; - -/******************************* - UI Tabs -*******************************/ - -.ui.tab { - display: none; -} - -/******************************* - States -*******************************/ - -/*-------------------- - Active ----------------------*/ - -.ui.tab.active, -.ui.tab.open { - display: block; -} - -/*-------------------- - Loading ----------------------*/ - -.ui.tab.loading { - position: relative; - overflow: hidden; - display: block; - min-height: @loadingMinHeight; -} -.ui.tab.loading * { - position: @loadingContentPosition !important; - left: @loadingContentOffset !important; -} -.ui.tab.loading:after { - border: none; - position: absolute; - top: @loadingTextDistance; - left: 0%; - content: @loadingText; - color: @lightTextColor; - width: 100%; - height: 100%; - padding-top: @loadingTextDistance; - text-align: @loadingAlign; - background: @loadingBackground; - visibility: visible; -} - -.loadUIOverrides(); diff --git a/definitions/modules/transition.js b/definitions/modules/transition.js deleted file mode 100644 index 7bc9291220..0000000000 --- a/definitions/modules/transition.js +++ /dev/null @@ -1,849 +0,0 @@ -/* - * # Semantic - Transition - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ( $, window, document, undefined ) { - -"use strict"; - -$.fn.transition = function() { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - moduleArguments = arguments, - query = moduleArguments[0], - queryArguments = [].slice.call(arguments, 1), - methodInvoked = (typeof query === 'string'), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - $allModules - .each(function() { - var - $module = $(this), - element = this, - - // set at run time - settings, - instance, - - error, - className, - metadata, - animationEnd, - animationName, - - namespace, - moduleNamespace, - eventNamespace, - module - ; - - module = { - - initialize: function() { - - // get full settings - moduleNamespace = 'module-' + namespace; - settings = module.get.settings.apply(element, moduleArguments); - className = settings.className; - metadata = settings.metadata; - - animationEnd = module.get.animationEvent(); - animationName = module.get.animationName(); - error = settings.error; - namespace = settings.namespace; - eventNamespace = '.' + settings.namespace; - instance = $module.data(moduleNamespace) || module; - - if(methodInvoked) { - methodInvoked = module.invoke(query); - } - // no internal method was found matching query or query not made - if(methodInvoked === false) { - module.verbose('Converted arguments into settings object', settings); - module.animate(); - module.instantiate(); - } - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing display type on next animation'); - delete module.displayType; - }, - - forceRepaint: function() { - module.verbose('Forcing element repaint'); - var - $parentElement = $module.parent(), - $nextElement = $module.next() - ; - if($nextElement.size() === 0) { - $module.detach().appendTo($parentElement); - } - else { - $module.detach().insertBefore($nextElement); - } - }, - - repaint: function() { - module.verbose('Repainting element'); - var - fakeAssignment = element.offsetWidth - ; - }, - - animate: function(overrideSettings) { - settings = overrideSettings || settings; - if(!module.is.supported()) { - module.error(error.support); - return false; - } - module.debug('Preparing animation', settings.animation); - if(module.is.animating()) { - if(settings.queue) { - if(!settings.allowRepeats && module.has.direction() && module.is.occuring() && module.queuing !== true) { - module.error(error.repeated, settings.animation, $module); - } - else { - module.queue(settings.animation); - } - return false; - } - else { - - } - } - if(module.can.animate) { - module.set.animating(settings.animation); - } - else { - module.error(error.noAnimation, settings.animation); - } - }, - - reset: function() { - module.debug('Resetting animation to beginning conditions'); - $module.off(animationEnd + eventNamespace); - module.restore.conditions(); - module.hide(); - module.remove.animating(); - }, - - queue: function(animation) { - module.debug('Queueing animation of', animation); - module.queuing = true; - $module - .one(animationEnd + eventNamespace, function() { - module.queuing = false; - module.repaint(); - module.animate.apply(this, settings); - }) - ; - }, - - complete: function () { - module.verbose('CSS animation complete', settings.animation); - if(!module.is.looping()) { - if( module.is.outward() ) { - module.verbose('Animation is outward, hiding element'); - module.restore.conditions(); - module.remove.display(); - module.hide(); - $.proxy(settings.onHide, this)(); - } - else if( module.is.inward() ) { - module.verbose('Animation is outward, showing element'); - module.restore.conditions(); - module.set.display(); - module.show(); - $.proxy(settings.onShow, this)(); - } - else { - module.restore.conditions(); - } - module.remove.duration(); - module.remove.animating(); - } - $.proxy(settings.complete, this)(); - }, - - has: { - direction: function(animation) { - animation = animation || settings.animation; - if( animation.search(className.inward) !== -1 || animation.search(className.outward) !== -1) { - module.debug('Direction already set in animation'); - return true; - } - return false; - } - }, - - set: { - animating: function(animation) { - animation = animation || settings.animation; - if(!module.is.animating()) { - module.save.conditions(); - } - module.remove.direction(); - $module.off('.complete'); - if(module.can.transition() && !module.has.direction()) { - module.set.direction(); - } - module.remove.hidden(); - module.set.display(); - $module - .addClass(className.animating) - .addClass(className.transition) - .addClass(animation) - .one(animationEnd + '.complete' + eventNamespace, module.complete) - ; - module.set.duration(settings.duration); - $.proxy(settings.start, this)(); - module.debug('Starting tween', animation, $module.attr('class')); - }, - display: function() { - var - style = module.get.style(), - displayType = module.get.displayType(), - overrideStyle = style + 'display: ' + displayType + ' !important;' - ; - if( $module.css('display') !== displayType ) { - module.verbose('Setting inline visibility to', displayType); - $module - .attr('style', overrideStyle) - ; - } - }, - direction: function() { - if($module.is(':visible') && !module.is.hidden()) { - module.debug('Automatically determining the direction of animation', 'Outward'); - $module - .removeClass(className.inward) - .addClass(className.outward) - ; - } - else { - module.debug('Automatically determining the direction of animation', 'Inward'); - $module - .removeClass(className.outward) - .addClass(className.inward) - ; - } - }, - looping: function() { - module.debug('Transition set to loop'); - $module - .addClass(className.looping) - ; - }, - duration: function(duration) { - duration = duration || settings.duration; - duration = (typeof duration == 'number') - ? duration + 'ms' - : duration - ; - module.verbose('Setting animation duration', duration); - $module - .css({ - '-webkit-animation-duration': duration, - '-moz-animation-duration': duration, - '-ms-animation-duration': duration, - '-o-animation-duration': duration, - 'animation-duration': duration - }) - ; - }, - hidden: function() { - if(!module.is.hidden()) { - $module - .addClass(className.transition) - .addClass(className.hidden) - ; - if($module.css('display') !== 'none') { - module.verbose('Overriding default display to hide element'); - $module - .css('display', 'none') - ; - } - } - }, - visible: function() { - $module - .addClass(className.transition) - .addClass(className.visible) - ; - } - }, - - save: { - displayType: function(displayType) { - module.displayType = displayType; - }, - transitionExists: function(animation, exists) { - $.fn.transition.exists[animation] = exists; - module.verbose('Saving existence of transition', animation, exists); - }, - conditions: function() { - var - clasName = $module.attr('class') || false, - style = $module.attr('style') || '' - ; - $module.removeClass(settings.animation); - module.remove.direction(); - module.cache = { - className : $module.attr('class'), - style : module.get.style() - }; - module.verbose('Saving original attributes', module.cache); - } - }, - - restore: { - conditions: function() { - if(module.cache === undefined) { - return false; - } - if(module.cache.className) { - $module.attr('class', module.cache.className); - } - else { - $module.removeAttr('class'); - } - if(module.cache.style) { - module.verbose('Restoring original style attribute', module.cache.style); - $module.attr('style', module.cache.style); - } - if(module.is.looping()) { - module.remove.looping(); - } - module.verbose('Restoring original attributes', module.cache); - } - }, - - remove: { - animating: function() { - $module.removeClass(className.animating); - }, - display: function() { - if(module.displayType !== undefined) { - $module.css('display', ''); - } - }, - direction: function() { - $module - .removeClass(className.inward) - .removeClass(className.outward) - ; - }, - duration: function() { - $module - .css({ - '-webkit-animation-duration' : '', - '-moz-animation-duration' : '', - '-ms-animation-duration' : '', - '-o-animation-duration' : '', - 'animation-duration' : '' - }) - ; - }, - hidden: function() { - $module.removeClass(className.hidden); - }, - visible: function() { - $module.removeClass(className.visible); - }, - looping: function() { - module.debug('Transitions are no longer looping'); - $module - .removeClass(className.looping) - ; - module.forceRepaint(); - }, - transition: function() { - $module - .removeClass(className.visible) - .removeClass(className.hidden) - ; - } - }, - get: { - settings: function(animation, duration, complete) { - // single settings object - if(typeof animation == 'object') { - return $.extend(true, {}, $.fn.transition.settings, animation); - } - // all arguments provided - else if(typeof complete == 'function') { - return $.extend({}, $.fn.transition.settings, { - animation : animation, - complete : complete, - duration : duration - }); - } - // only duration provided - else if(typeof duration == 'string' || typeof duration == 'number') { - return $.extend({}, $.fn.transition.settings, { - animation : animation, - duration : duration - }); - } - // duration is actually settings object - else if(typeof duration == 'object') { - return $.extend({}, $.fn.transition.settings, duration, { - animation : animation - }); - } - // duration is actually callback - else if(typeof duration == 'function') { - return $.extend({}, $.fn.transition.settings, { - animation : animation, - complete : duration - }); - } - // only animation provided - else { - return $.extend({}, $.fn.transition.settings, { - animation : animation - }); - } - return $.fn.transition.settings; - }, - displayType: function() { - if(module.displayType === undefined) { - // create fake element to determine display state - module.can.transition(); - } - return module.displayType; - }, - style: function() { - var - style = $module.attr('style') || '' - ; - return style.replace(/display.*?;/, ''); - }, - transitionExists: function(animation) { - return $.fn.transition.exists[animation]; - }, - animationName: function() { - var - element = document.createElement('div'), - animations = { - 'animation' :'animationName', - 'OAnimation' :'oAnimationName', - 'MozAnimation' :'mozAnimationName', - 'WebkitAnimation' :'webkitAnimationName' - }, - animation - ; - for(animation in animations){ - if( element.style[animation] !== undefined ){ - return animations[animation]; - } - } - return false; - }, - animationEvent: function() { - var - element = document.createElement('div'), - animations = { - 'animation' :'animationend', - 'OAnimation' :'oAnimationEnd', - 'MozAnimation' :'mozAnimationEnd', - 'WebkitAnimation' :'webkitAnimationEnd' - }, - animation - ; - for(animation in animations){ - if( element.style[animation] !== undefined ){ - return animations[animation]; - } - } - return false; - } - - }, - - can: { - animate: function() { - if($module.css(settings.animation) !== 'none') { - module.debug('CSS definition found', $module.css(settings.animation)); - return true; - } - else { - module.debug('Unable to find css definition', $module.attr('class')); - return false; - } - }, - transition: function() { - var - elementClass = $module.attr('class'), - tagName = $module.prop('tagName'), - animation = settings.animation, - transitionExists = module.get.transitionExists(settings.animation), - $clone, - currentAnimation, - inAnimation, - displayType - ; - if( transitionExists === undefined || module.displayType === undefined) { - module.verbose('Determining whether animation exists'); - $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module); - currentAnimation = $clone - .addClass(animation) - .removeClass(className.inward) - .removeClass(className.outward) - .addClass(className.animating) - .addClass(className.transition) - .css(animationName) - ; - inAnimation = $clone - .addClass(className.inward) - .css(animationName) - ; - displayType = $clone - .attr('class', elementClass) - .removeAttr('style') - .removeClass(className.visible) - .show() - .css('display') - ; - module.verbose('Determining final display state', displayType); - if(currentAnimation != inAnimation) { - module.debug('Transition exists for animation', animation); - transitionExists = true; - } - else { - module.debug('Static animation found', animation, displayType); - transitionExists = false; - } - $clone.remove(); - module.save.displayType(displayType); - if(transitionExists === undefined) { - module.save.transitionExists(animation, transitionExists); - } - } - return transitionExists; - } - }, - - is: { - animating: function() { - return $module.hasClass(className.animating); - }, - inward: function() { - return $module.hasClass(className.inward); - }, - outward: function() { - return $module.hasClass(className.outward); - }, - looping: function() { - return $module.hasClass(className.looping); - }, - occuring: function(animation) { - animation = animation || settings.animation; - animation = animation.replace(' ', '.'); - return ( $module.filter(animation).size() > 0 ); - }, - visible: function() { - return $module.is(':visible'); - }, - hidden: function() { - return $module.css('visibility') === 'hidden'; - }, - supported: function() { - return(animationName !== false && animationEnd !== false); - } - }, - - hide: function() { - module.verbose('Hiding element'); - module.remove.visible(); - module.set.hidden(); - module.repaint(); - }, - - show: function(display) { - module.verbose('Showing element', display); - module.remove.hidden(); - module.set.visible(); - module.repaint(); - }, - - start: function() { - module.verbose('Starting animation'); - $module.removeClass(className.disabled); - }, - - stop: function() { - module.debug('Stopping animation'); - $module.addClass(className.disabled); - }, - - toggle: function() { - module.debug('Toggling play status'); - $module.toggleClass(className.disabled); - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 600); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - // modified for transition to return invoke success - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return (found !== undefined) - ? found - : false - ; - } - }; - module.initialize(); - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -// Records if CSS transition is available -$.fn.transition.exists = {}; - -$.fn.transition.settings = { - - // module info - name : 'Transition', - - // debug content outputted to console - debug : false, - - // verbose debug output - verbose : true, - - // performance data output - performance : true, - - // event namespace - namespace : 'transition', - - // animation complete event - start : function() {}, - complete : function() {}, - onShow : function() {}, - onHide : function() {}, - - // whether EXACT animation can occur twice in a row - allowRepeats : false, - - // animation duration - animation : 'fade', - duration : '500ms', - - // new animations will occur after previous ones - queue : true, - - className : { - animating : 'animating', - disabled : 'disabled', - hidden : 'hidden', - inward : 'in', - loading : 'loading', - looping : 'looping', - outward : 'out', - transition : 'transition', - visible : 'visible' - }, - - // possible errors - error: { - noAnimation : 'There is no css animation matching the one you specified.', - repeated : 'That animation is already occurring, cancelling repeated animation', - method : 'The method you called is not defined', - support : 'This browser does not support CSS animations' - } - -}; - - -})( jQuery, window , document ); diff --git a/definitions/modules/transition.less b/definitions/modules/transition.less deleted file mode 100644 index dedfcf9501..0000000000 --- a/definitions/modules/transition.less +++ /dev/null @@ -1,89 +0,0 @@ - /* - * # Semantic - Transition - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'transition'; - -@import '../../semantic.config'; - - -/******************************* - Transitions -*******************************/ - -/* - Some transitions adapted from Animate CSS - https://github.com/daneden/animate.css -*/ - -.transition { - animation-iteration-count: 1; - animation-duration: @transitionDefaultDuration; - animation-timing-function: @transitionDefaultEasing; - animation-fill-mode: @transitionDefaultFill; -} - -/******************************* - States -*******************************/ - - -/* Animating */ -.animating.transition { - backface-visibility: @backfaceVisibility; - transform: @use3DAcceleration; - visibility: visible !important; -} - -/* Loading */ -.loading.transition { - position: absolute; - top: -999999px; - left: -99999px; -} - -/* Hidden */ -.hidden.transition { - display: none; - visibility: hidden; -} - -/* Visible */ -.visible.transition { - display: block !important; - visibility: visible !important; - backface-visibility: @backfaceVisibility; - transform: @use3DAcceleration; -} - -/* Disabled */ -.disabled.transition { - animation-play-state: paused; -} - -/******************************* - Variations -*******************************/ - -.looping.transition { - animation-iteration-count: infinite; -} - - -/******************************* - Types -*******************************/ - -.loadUIOverrides(); diff --git a/definitions/modules/video.js b/definitions/modules/video.js deleted file mode 100644 index 3b669a196c..0000000000 --- a/definitions/modules/video.js +++ /dev/null @@ -1,539 +0,0 @@ - /* - * # Semantic - Video - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -$.fn.video = function(parameters) { - - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.video.settings, parameters) - : $.extend({}, $.fn.video.settings), - - selector = settings.selector, - className = settings.className, - error = settings.error, - metadata = settings.metadata, - namespace = settings.namespace, - templates = settings.templates, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $window = $(window), - $module = $(this), - $placeholder = $module.find(selector.placeholder), - $playButton = $module.find(selector.playButton), - $embed = $module.find(selector.embed), - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - initialize: function() { - module.debug('Initializing video'); - module.create(); - $placeholder - .on('click' + eventNamespace, module.play) - ; - $playButton - .on('click' + eventNamespace, module.play) - ; - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - create: function() { - var - image = $module.data(metadata.image), - html = templates.video(image) - ; - $module.html(html); - module.refresh(); - if(!image) { - module.play(); - } - module.debug('Creating html for video element', html); - }, - - destroy: function() { - module.verbose('Destroying previous instance of video'); - module.reset(); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - $placeholder - .off(eventNamespace) - ; - $playButton - .off(eventNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $placeholder = $module.find(selector.placeholder); - $playButton = $module.find(selector.playButton); - $embed = $module.find(selector.embed); - }, - - // sets new video - change: function(source, id, url) { - module.debug('Changing video to ', source, id, url); - $module - .data(metadata.source, source) - .data(metadata.id, id) - .data(metadata.url, url) - ; - settings.onChange(); - }, - - // clears video embed - reset: function() { - module.debug('Clearing video embed and showing placeholder'); - $module - .removeClass(className.active) - ; - $embed - .html(' ') - ; - $placeholder - .show() - ; - settings.onReset(); - }, - - // plays current video - play: function() { - module.debug('Playing video'); - var - source = $module.data(metadata.source) || false, - url = $module.data(metadata.url) || false, - id = $module.data(metadata.id) || false - ; - $embed - .html( module.generate.html(source, id, url) ) - ; - $module - .addClass(className.active) - ; - settings.onPlay(); - }, - - get: { - source: function(url) { - if(typeof url !== 'string') { - return false; - } - if(url.search('youtube.com') !== -1) { - return 'youtube'; - } - else if(url.search('vimeo.com') !== -1) { - return 'vimeo'; - } - return false; - }, - id: function(url) { - if(settings.regExp.youtube.test(url)) { - return url.match(settings.regExp.youtube)[1]; - } - else if(settings.regExp.vimeo.test(url)) { - return url.match(settings.regExp.vimeo)[2]; - } - return false; - } - }, - - generate: { - // generates iframe html - html: function(source, id, url) { - module.debug('Generating embed html'); - var - html - ; - // allow override of settings - source = source || settings.source; - id = id || settings.id; - if((source && id) || url) { - if(!source || !id) { - source = module.get.source(url); - id = module.get.id(url); - } - if(source == 'vimeo') { - html = '' - + '' - ; - } - else if(source == 'youtube') { - html = '' - + '' - ; - } - } - else { - module.error(error.noVideo); - } - return html; - }, - - // generate url parameters - url: function(source) { - var - api = (settings.api) - ? 1 - : 0, - autoplay = (settings.autoplay === 'auto') - ? ($module.data('image') !== undefined) - : settings.autoplay, - hd = (settings.hd) - ? 1 - : 0, - showUI = (settings.showUI) - ? 1 - : 0, - // opposite used for some params - hideUI = !(settings.showUI) - ? 1 - : 0, - url = '' - ; - if(source == 'vimeo') { - url = '' - + 'api=' + api - + '&title=' + showUI - + '&byline=' + showUI - + '&portrait=' + showUI - + '&autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - if(source == 'ustream') { - url = '' - + 'autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - else if(source == 'youtube') { - url = '' - + 'enablejsapi=' + api - + '&autoplay=' + autoplay - + '&autohide=' + hideUI - + '&hq=' + hd - + '&modestbranding=1' - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - return url; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.size() > 1) { - title += ' ' + '(' + $allModules.size() + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.video.settings = { - - name : 'Video', - namespace : 'video', - - debug : false, - verbose : true, - performance : true, - - metadata : { - id : 'id', - image : 'image', - source : 'source', - url : 'url' - }, - - source : false, - url : false, - id : false, - - aspectRatio : (16/9), - - onPlay : function(){}, - onReset : function(){}, - onChange : function(){}, - - // callbacks not coded yet (needs to use jsapi) - onPause : function() {}, - onStop : function() {}, - - width : 'auto', - height : 'auto', - - autoplay : 'auto', - color : '#442359', - hd : true, - showUI : false, - api : true, - - regExp : { - youtube : /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/, - vimeo : /http:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/ - }, - - error : { - noVideo : 'No video specified', - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - embed : '.embed', - placeholder : '.placeholder', - playButton : '.play' - } -}; - -$.fn.video.settings.templates = { - video: function(image) { - var - html = '' - ; - if(image) { - html += '' - + '' - + '' - ; - } - html += '
'; - return html; - } -}; - - -})( jQuery, window , document ); diff --git a/definitions/modules/video.less b/definitions/modules/video.less deleted file mode 100644 index 5d202e74b5..0000000000 --- a/definitions/modules/video.less +++ /dev/null @@ -1,125 +0,0 @@ - /* - * # Semantic - Video - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'module'; -@element : 'video'; - -@import '../../semantic.config'; - - -/******************************* - Video -*******************************/ - -.ui.video { - position: relative; - background-color: @background; - position: relative; - max-width: 100%; - padding-bottom: 56.25%; - height: 0px; - overflow: hidden; -} - -/*-------------- - Content ----------------*/ - -/* Placeholder Image */ -.ui.video .placeholder { - background-color: @placeholderBackground; -} - -/* Play Icon Overlay */ -.ui.video .play { - cursor: pointer; - position: absolute; - top: 0px; - left: 0px; - z-index: 10; - - width: 100%; - height: 100%; - - opacity: @playOpacity; - transition: opacity 0.3s; -} -.ui.video .play.icon:before { - position: absolute; - top: 50%; - left: 50%; - z-index: 11; - - background: @playBackground; - - width: (@playSize + @playBorderSize); - height: (@playSize + @playBorderSize); - line-height: (@playSize + @playBorderSize); - border-radius: @playBorderRadius; - - color: @playColor; - font-size: @playSize; - text-shadow: @playShadow; - transform: translateX(-50%) translateY(-50%); -} - -.ui.video .placeholder { - position: absolute; - top: 0px; - left: 0px; - display: block; - width: 100%; - height: 100%; -} - -/* IFrame Embed */ -.ui.video .embed iframe, -.ui.video .embed embed, -.ui.video .embed object { - position: absolute; - border: none; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - margin: 0em; - padding: 0em; -} - -/******************************* - States -*******************************/ - -/*-------------- - Hover ----------------*/ - -.ui.video .play:hover { - opacity: @playHoverOpacity; -} - -/*-------------- - Active ----------------*/ - -.ui.video.active .play, -.ui.video.active .placeholder { - display: none; -} -.ui.video.active .embed { - display: inline; -} - -.loadUIOverrides(); diff --git a/definitions/views/card.less b/definitions/views/card.less deleted file mode 100644 index 525c931860..0000000000 --- a/definitions/views/card.less +++ /dev/null @@ -1,742 +0,0 @@ - /* - * # Semantic - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'view'; -@element : 'card'; - -@import '../../semantic.config'; - -/******************************* - Standard -*******************************/ - - -/*-------------- - Cards ----------------*/ - -.ui.cards { - margin: @groupCardsMargin; -} - -.ui.cards > .card { - display: @groupDisplay; - margin: @groupCardMargin; - float: @groupFloat; -} - -.ui.cards:first-child, -.ui.card:first-child { - margin-top: 0em; -} -.ui.cards:last-child, -.ui.card:last-child { - margin-bottom: 0em; -} - -/* Clearing */ -.ui.cards:after, -.ui.card:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - - -/*-------------- - Card ----------------*/ - -.ui.cards > .card, -.ui.card { - max-width: 100%; - position: relative; - display: @display; - - width: @width; - min-height: @minHeight; - background: @background; - padding: @padding; - - border: @border; - border-radius: @borderRadius; - box-shadow: @boxShadow; - transition: @transition; - z-index: @zIndex; -} -.ui.card { - margin: @margin; -} - -.ui.cards > .card a, -.ui.card a { - cursor: pointer; -} - - -/*-------------- - Rounded Edges ----------------*/ - -.ui.cards > .card > :first-child, -.ui.card > :first-child { - border-radius: @borderRadius @borderRadius 0em 0em !important; -} - -.ui.cards > .card > :last-child, -.ui.card > :last-child { - border-radius: 0em 0em @borderRadius @borderRadius !important; -} - -/*-------------- - Images ----------------*/ - -.ui.cards > .card > .image, -.ui.card > .image { - display: block; - position: relative; - padding: @imagePadding; - background: @imageBackground; -} -.ui.cards > .card > .image > img, -.ui.card > .image > img { - display: block; - width: 100%; - height: auto; - border-radius: @imageBorderRadius; - border: @imageBorder; -} - -.ui.cards > .card > .image:only-child > img, -.ui.card > .image:only-child > img { - border-radius: @borderRadius; -} - -/*-------------- - Content ----------------*/ - -.ui.cards > .card > .content, -.ui.card > .content { - -} -.ui.cards > .card > .content, -.ui.card > .content { - background: @contentBackground; - margin: @contentMargin; - padding: @contentPadding; - box-shadow: @contentBoxShadow; - font-size: @contentFontSize; - border: @contentBorder; - border-radius: @contentBorderRadius; -} - -.ui.cards > .card > .content:after, -.ui.card > .content:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -.ui.cards > .card > .content > .header, -.ui.card > .content > .header { - display: block; - margin: @headerMargin; - font-family: @headerFont; - color: @headerColor; -} - -/* Default Header Size */ -.ui.cards > .card > .content > .header:not(.ui), -.ui.card > .content > .header:not(.ui) { - font-weight: @headerFontWeight; - font-size: @headerFontSize; - margin-top: @headerLineHeightOffset; - line-height: @headerLineHeight; -} - -.ui.cards > .card > .content > .meta + .description, -.ui.cards > .card > .content > .header + .description, -.ui.card > .content > .meta + .description, -.ui.card > .content > .header + .description { - margin-top: @descriptionDistance; -} - -/*-------------- - Floated ----------------*/ - -.ui.cards > .card [class*="left floated"], -.ui.card [class*="left floated"] { - float: left; -} -.ui.cards > .card [class*="right floated"], -.ui.card [class*="right floated"] { - float: right; -} - -/*-------------- - Content Image ----------------*/ - -.ui.cards > .card .content img, -.ui.card .content img { - display: inline-block; - vertical-align: @contentImageVerticalAlign; - width: @contentImageWidth; -} -.ui.cards > .card img.avatar, -.ui.cards > .card .avatar img, -.ui.card img.avatar, -.ui.card .avatar img { - width: @avatarSize; - height: @avatarSize; - border-radius: @avatarBorderRadius; -} - - -/*-------------- - Description ----------------*/ - -.ui.cards > .card > .content > .description, -.ui.card > .content > .description { - clear: both; - color: @descriptionColor; -} - -/*-------------- - Paragraph ----------------*/ - -.ui.cards > .card > .content p, -.ui.card > .content p { - margin: 0em 0em @paragraphDistance; -} -.ui.cards > .card > .content p:last-child, -.ui.card > .content p:last-child { - margin-bottom: 0em; -} - -/*-------------- - Meta ----------------*/ - -.ui.cards > .card .meta, -.ui.card .meta { - font-size: @metaFontSize; - color: @metaColor; -} -.ui.cards > .card .meta *, -.ui.card .meta * { - margin-right: @metaSpacing; -} -.ui.cards > .card .meta :last-child, -.ui.card .meta :last-child { - margin-right: 0em; -} - -.ui.cards > .card .meta [class*="right floated"], -.ui.card .meta [class*="right floated"] { - margin-right: 0em; - margin-left: @metaSpacing; -} - -/*-------------- - Links ----------------*/ - -/* Generic */ -.ui.cards > .card > .content a, -.ui.card > .content a { - color: @contentLinkColor; - transition: @contentLinkTransition; -} -.ui.cards > .card > .content a:hover, -.ui.card > .content a:hover { - color: @contentLinkHoverColor; -} - -/* Header */ -.ui.cards > .card > .content > a.header, -.ui.card > .content > a.header { - color: @headerLinkColor; -} -.ui.cards > .card > .content > a.header:hover, -.ui.card > .content > a.header:hover { - color: @headerLinkHoverColor; -} - -/* Meta */ -.ui.cards > .card .meta a, -.ui.card .meta a { - color: @metaLinkColor; -} -.ui.cards > .card .meta a:hover, -.ui.card .meta a:hover { - color: @metaLinkHoverColor; -} - -/*-------------- - Buttons ----------------*/ - -.ui.cards > .card > .buttons:last-child, -.ui.card > .buttons:last-child, -.ui.cards > .card > .button:last-child, -.ui.card > .button:last-child { - margin: @buttonMargin; - width: @buttonWidth; -} - -/*-------------- - Labels ----------------*/ - -/*-----Star----- */ - -/* Icon */ -.ui.cards > .card > .content .star.icon, -.ui.card > .content .star.icon { - cursor: pointer; - opacity: @actionOpacity; - transition: @actionTransition; -} -.ui.cards > .card > .content .star.icon:hover, -.ui.card > .content .star.icon:hover { - opacity: @actionHoverOpacity; - color: @starColor; -} -.ui.cards > .card > .content .active.star.icon, -.ui.card > .content .active.star.icon { - color: @starActiveColor; -} - -/*-----Like----- */ - -/* Icon */ -.ui.cards > .card > .content .like.icon, -.ui.card > .content .like.icon { - cursor: pointer; - opacity: @actionOpacity; - transition: @actionTransition; -} -.ui.cards > .card > .content .like.icon:hover, -.ui.card > .content .like.icon:hover { - opacity: @actionHoverOpacity; - color: @likeColor; -} -.ui.cards > .card > .content .active.like.icon, -.ui.card > .content .active.like.icon { - color: @likeActiveColor; -} - -/*---------------- - Extra Content ------------------*/ - -.ui.cards > .card > .extra, -.ui.card > .extra { - max-width: 100%; - min-height: 0em !important; - position: @extraPosition; - background: @extraBackground; - width: @extraWidth; - margin: @extraMargin; - padding: @extraPadding; - top: @extraTop; - left: @extraLeft; - color: @extraColor; - box-shadow: @extraBoxShadow; - transition: @extraTransition; - border-top: @extraDivider; -} -.ui.cards > .card > .extra a, -.ui.card > .extra a { - color: @extraLinkColor; -} -.ui.cards > .card > .extra a:hover, -.ui.card > .extra a:hover { - color: @extraLinkHoverColor; -} - - -/******************************* - Variations -*******************************/ -/*------------------- - Fluid ---------------------*/ - -.ui.fluid.card { - width: 100%; - max-width: 9999px; -} - -/*------------------- - Link ---------------------*/ - -.ui.cards a.card:hover, -.ui.link.cards .card:hover, -a.ui.card:hover, -.ui.link.card:hover { - cursor: pointer; - z-index: @linkHoverZIndex; - background: @linkHoverBackground; - border: @linkHoverBorder; - box-shadow: @linkHoverBoxShadow; -} - -/*-------------- - Card Count ----------------*/ - -.ui.one.cards { - margin-left: @oneCardOffset; - margin-right: @oneCardOffset; -} -.ui.one.cards > .card { - width: @oneCard; -} - -.ui.two.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; -} -.ui.two.cards > .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; -} -.ui.two.cards > .card:nth-child(2n+1) { - clear: left; -} - -.ui.three.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; -} -.ui.three.cards > .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; -} -.ui.three.cards > .card:nth-child(3n+1) { - clear: left; -} - -.ui.four.cards { - margin-left: @fourCardOffset; - margin-right: @fourCardOffset; -} -.ui.four.cards > .card { - width: @fourCard; - margin-left: @fourCardSpacing; - margin-right: @fourCardSpacing; -} -.ui.four.cards > .card:nth-child(4n+1) { - clear: left; -} - -.ui.five.cards { - margin-left: @fiveCardOffset; - margin-right: @fiveCardOffset; -} -.ui.five.cards > .card { - width: @fiveCard; - margin-left: @fiveCardSpacing; - margin-right: @fiveCardSpacing; -} -.ui.five.cards > .card:nth-child(5n+1) { - clear: left; -} - -.ui.six.cards { - margin-left: @sixCardOffset; - margin-right: @sixCardOffset; -} -.ui.six.cards > .card { - width: @sixCard; - margin-left: @sixCardSpacing; - margin-right: @sixCardSpacing; -} -.ui.six.cards > .card:nth-child(6n+1) { - clear: left; -} - -.ui.seven.cards { - margin-left: @sevenCardOffset; - margin-right: @sevenCardOffset; -} -.ui.seven.cards > .card { - width: @sevenCard; - margin-left: @sevenCardSpacing; - margin-right: @sevenCardSpacing; -} -.ui.seven.cards > .card:nth-child(7n+1) { - clear: left; -} - -.ui.eight.cards { - margin-left: @eightCardOffset; - margin-right: @eightCardOffset; -} -.ui.eight.cards > .card { - width: @eightCard; - margin-left: @eightCardSpacing; - margin-right: @eightCardSpacing; - font-size: 11px; -} -.ui.eight.cards > .card:nth-child(8n+1) { - clear: left; -} - -.ui.nine.cards { - margin-left: @nineCardOffset; - margin-right: @nineCardOffset; -} -.ui.nine.cards > .card { - width: @nineCard; - margin-left: @nineCardSpacing; - margin-right: @nineCardSpacing; - font-size: 10px; -} -.ui.nine.cards > .card:nth-child(9n+1) { - clear: left; -} - -.ui.ten.cards { - margin-left: @tenCardOffset; - margin-right: @tenCardOffset; -} -.ui.ten.cards > .card { - width: @tenCard; - margin-left: @tenCardSpacing; - margin-right: @tenCardSpacing; -} -.ui.ten.cards > .card:nth-child(10n+1) { - clear: left; -} - - -/*------------------- - Doubling ---------------------*/ - -/* Mobily Only */ -@media only screen and (max-width : @largestMobileScreen) { - .ui.two.doubling.cards { - margin-left: @oneCardOffset; - margin-right: @oneCardOffset; - } - .ui.two.doubling.cards .card { - width: @oneCard; - margin-left: @oneCardSpacing; - margin-right: @oneCardSpacing; - } - .ui.three.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.three.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.four.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.four.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.five.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.five.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.six.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.six.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.seven.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.seven.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.eight.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.eight.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.nine.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.nine.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.ten.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.ten.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } -} - -/* Tablet Only */ -@media only screen and (min-width : @tabletBreakpoint) and (max-width : @largestTabletScreen) { - .ui.two.doubling.cards { - margin-left: @oneCardOffset; - margin-right: @oneCardOffset; - } - .ui.two.doubling.cards .card { - width: @oneCard; - margin-left: @oneCardSpacing; - margin-right: @oneCardSpacing; - } - .ui.three.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.three.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.four.doubling.cards { - margin-left: @twoCardOffset; - margin-right: @twoCardOffset; - } - .ui.four.doubling.cards .card { - width: @twoCard; - margin-left: @twoCardSpacing; - margin-right: @twoCardSpacing; - } - .ui.five.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.five.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.six.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.six.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.eight.doubling.cards { - margin-left: @threeCardOffset; - margin-right: @threeCardOffset; - } - .ui.eight.doubling.cards .card { - width: @threeCard; - margin-left: @threeCardSpacing; - margin-right: @threeCardSpacing; - } - .ui.eight.doubling.cards { - margin-left: @fourCardOffset; - margin-right: @fourCardOffset; - } - .ui.eight.doubling.cards .card { - width: @fourCard; - margin-left: @fourCardSpacing; - margin-right: @fourCardSpacing; - } - .ui.nine.doubling.cards { - margin-left: @fourCardOffset; - margin-right: @fourCardOffset; - } - .ui.nine.doubling.cards .card { - width: @fourCard; - margin-left: @fourCardSpacing; - margin-right: @fourCardSpacing; - } - .ui.ten.doubling.cards { - margin-left: @fiveCardOffset; - margin-right: @fiveCardOffset; - } - .ui.ten.doubling.cards .card { - width: @fiveCard; - margin-left: @fiveCardSpacing; - margin-right: @fiveCardSpacing; - } -} - -/*------------------- - Stackable ---------------------*/ - -@media only screen and (max-width : @largestMobileScreen) { - .ui.stackable.cards { - display: block !important; - } - .ui.stackable.cards > .card { - display: block !important; - height: auto !important; - margin: @stackableRowSpacing @stackableCardSpacing; - padding: 0 !important; - width: @stackableMargin !important; - } -} - - -/*-------------- - Size ----------------*/ - -.ui.cards > .card { - font-size: @medium; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/views/comment.less b/definitions/views/comment.less deleted file mode 100644 index 502d025628..0000000000 --- a/definitions/views/comment.less +++ /dev/null @@ -1,256 +0,0 @@ - /* - * # Semantic - Comment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'view'; -@element : 'comment'; - -@import '../../semantic.config'; - - -/******************************* - Standard -*******************************/ - - -/*-------------- - Comments ----------------*/ - -.ui.comments { - margin: @margin; - max-width: @maxWidth; -} - -.ui.comments:first-child { - margin-top: 0em; -} -.ui.comments:last-child { - margin-bottom: 0em; -} - -/*-------------- - Comment ----------------*/ - -.ui.comments .comment { - position: relative; - background: @commentBackground; - margin: @commentMargin; - padding: @commentPadding; - border: @commentBorder; - border-top: @commentDivider; - line-height: @commentLineHeight; -} -.ui.comments .comment:first-child { - margin-top: @firstCommentMargin; - padding-top: @firstCommentPadding; -} - - -/*-------------------- - Nested Comments ----------------------*/ - -.ui.comments .comment .comments { - margin: @nestedCommentsMargin; - padding: @nestedCommentsPadding; -} -.ui.comments .comment .comments:before{ - position: absolute; - top: 0px; - left: 0px; -} -.ui.comments .comment .comments .comment { - border: @nestedCommentBorder; - border-top: @nestedCommentDivider; - background: @nestedCommentBackground; -} - -/*-------------- - Avatar ----------------*/ - -.ui.comments .comment .avatar { - display: @avatarDisplay; - width: @avatarWidth; - height: @avatarHeight; - float: @avatarFloat; - margin: @avatarMargin; -} -.ui.comments .comment img.avatar, -.ui.comments .comment .avatar img { - display: block; - margin: 0em auto; - width: 100%; - height: 100%; - border-radius: @avatarBorderRadius; -} - -/*-------------- - Content ----------------*/ - -.ui.comments .comment > .content { - display: block; -} -/* If there is an avatar move content over */ -.ui.comments .comment > .avatar ~ .content { - margin-left: @contentMargin; -} - -/*-------------- - Author ----------------*/ - -.ui.comments .comment .author { - font-size: @authorFontSize; - color: @authorColor; - font-weight: @authorFontWeight; -} -.ui.comments .comment a.author { - cursor: pointer; -} -.ui.comments .comment a.author:hover { - color: @authorHoverColor; -} - -/*-------------- - Metadata ----------------*/ - -.ui.comments .comment .metadata { - display: @metadataDisplay; - margin-left: @metadataSpacing; - color: @metadataColor; - font-size: @metadataFontSize; -} -.ui.comments .comment .metadata > * { - display: inline-block; - margin: 0em @metadataContentSpacing 0em 0em; -} -.ui.comments .comment .metadata > :last-child { - margin-right: 0em; -} - -/*-------------------- - Comment Text ----------------------*/ - -.ui.comments .comment .text { - margin: @textMargin; - font-size: @textFontSize; - word-wrap: @textWordWrap; - color: @textColor; - line-height: @textLineHeight; -} - - -/*-------------------- - User Actions ----------------------*/ - -.ui.comments .comment .actions { - font-size: @actionFontSize; -} -.ui.comments .comment .actions a { - cursor: pointer; - display: inline-block; - margin: 0em @actionContentDistance 0em 0em; - color: @actionLinkColor; -} -.ui.comments .comment .actions a:last-child { - margin-right: 0em; -} -.ui.comments .comment .actions a.active, -.ui.comments .comment .actions a:hover { - color: @actionLinkHoverColor; -} - -/*-------------------- - Reply Form ----------------------*/ - -.ui.comments > .reply.form { - margin-top: @replyDistance; -} -.ui.comments .comment .reply.form { - width: 100%; - margin-top: @commentReplyDistance; -} -.ui.comments .reply.form textarea { - font-size: @replyFontSize; - height: @replyHeight; -} - -/******************************* - State -*******************************/ - -.ui.collapsed.comments, -.ui.comments .collapsed.comments, -.ui.comments .collapsed.comment { - display: none; -} - - -/******************************* - Variations -*******************************/ - -/*-------------------- - Threaded ----------------------*/ - -.ui.threaded.comments .comment .comments { - margin: @threadedCommentMargin; - padding: @threadedCommentPadding; - box-shadow: @threadedCommentBoxShadow; -} - -/*-------------------- - Minimal ----------------------*/ - -.ui.minimal.comments .comment .actions { - opacity: 0; - position: @minimalActionPosition; - top: @minimalActionTop; - right: @minimalActionRight; - left: @minimalActionLeft; - transition: @minimalTransition; - transition-delay: @minimalTransitionDelay; -} -.ui.minimal.comments .comment > .content:hover > .actions { - opacity: 1; -} - -/*-------------------- - Sizes ----------------------*/ - -.ui.small.comments { - font-size: @small; -} -.ui.comments { - font-size: @medium; -} -.ui.large.comments { - font-size: @large; -} -.ui.huge.comments { - font-size: @huge; -} - -.loadUIOverrides(); diff --git a/definitions/views/feed.less b/definitions/views/feed.less deleted file mode 100644 index dd5c228f71..0000000000 --- a/definitions/views/feed.less +++ /dev/null @@ -1,272 +0,0 @@ - /* - * # Semantic - Feed - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'view'; -@element : 'feed'; - -@import '../../semantic.config'; - -/******************************* - Activity Feed -*******************************/ - -.ui.feed { - margin: @margin; -} -.ui.feed:first-child { - margin-top: 0em; -} -.ui.feed:last-child { - margin-top: 0em; -} - - -/******************************* - Content -*******************************/ - -/* Event */ -.ui.feed > .event { - display: @eventDisplay; - width: @eventWidth; - padding: @eventPadding; - margin: @eventMargin; - background: @eventBackground; - border-top: @eventDivider; -} -.ui.feed > .event:first-child { - border-top: 0px; - padding-top: 0em; -} -.ui.feed > .event:last-child { - padding-bottom: 0em; -} - -/* Event Label */ -.ui.feed > .event > .label { - display: @labelDisplay; - width: @labelWidth; - height: @labelHeight; - vertical-align: @labelVerticalAlign; - text-align: @labelTextAlign; -} -.ui.feed > .event > .label .icon { - opacity: @iconLabelOpacity; - font-size: @iconLabelSize; - width: @iconLabelWidth; - padding: @iconLabelPadding; - background: @iconLabelBackground; - border: @iconLabelBorder; - border-radius: @iconLabelBorderRadius; - color: @iconLabelColor; -} -.ui.feed > .event > .label img { - width: @imageLabelWidth; - height: @imageLabelHeight; - border-radius: @imageLabelBorderRadius; -} -.ui.feed > .event > .label + .content { - padding: @labeledContentPadding; -} - -/* Content */ -.ui.feed > .event > .content { - display: @contentDisplay; - vertical-align: @contentVerticalAlign; - text-align: @contentTextAlign; - word-wrap: @contentWordWrap; -} -.ui.feed > .event:last-child > .content { - padding-bottom: @lastLabeledContentPadding; -} - -/* Link */ -.ui.feed > .event > .content a { - cursor: pointer; -} - -/*-------------- - Date ----------------*/ - -.ui.feed > .event > .content .date { - margin: @dateMargin; - padding: @datePadding; - color: @dateColor; - font-weight: @dateFontWeight; - font-size: @dateFontSize; - font-style: @dateFontStyle; - color: @dateColor; -} - -/*-------------- - Summary ----------------*/ - -.ui.feed > .event > .content .summary { - margin: @summaryMargin; - font-size: @summaryFontSize; - font-weight: @summaryFontWeight; - color: @summaryColor; -} - -/* Summary Image */ -.ui.feed > .event > .content .summary img { - display: inline-block; - width: @summaryImageWidth; - height: @summaryImageHeight; - margin: @summaryImageMargin; - border-radius: @summaryImageBorderRadius; - vertical-align: @summaryImageVerticalAlign; -} -/*-------------- - User ----------------*/ - -.ui.feed > .event > .content .user { - display: inline-block; - font-weight: @userFontWeight; - margin-right: @userDistance; - vertical-align: baseline; -} -.ui.feed > .event > .content .user img { - margin: @userImageMargin; - width: @userImageWidth; - height: @userImageHeight; - vertical-align: @userImageVerticalAlign; -} -/*-------------- - Inline Date ----------------*/ - -/* Date inside Summary */ -.ui.feed > .event > .content .summary > .date { - display: @summaryDateDisplay; - float: @summaryDateFloat; - font-weight: @summaryDateFontWeight; - font-size: @summaryDateFontSize; - font-style: @summaryDateFontStyle; - margin: @summaryDateMargin; - padding: @summaryDatePadding; - color: @summaryDateColor; -} - -/*-------------- - Extra Summary ----------------*/ - -.ui.feed > .event > .content .extra { - margin: @extraMargin; - background: @extraBackground; - padding: @extraPadding; - color: @extraColor; -} - -/* Images */ -.ui.feed > .event > .content .extra.images img { - display: inline-block; - margin: @extraImageMargin; - width: @extraImageWidth; -} - -/* Text */ -.ui.feed > .event > .content .extra.text { - padding: @extraTextPadding; - border-left: @extraTextPointer; - font-size: @extraTextFontSize; - max-width: @extraTextMaxWidth; - line-height: @extraTextLineHeight; -} - -/*-------------- - Meta ----------------*/ - -.ui.feed > .event > .content .meta { - display: @metadataDisplay; - font-size: @metadataFontSize; - margin: @metadataMargin; - background: @metadataBackground; - border: @metadataBorder; - border-radius: @metadataBorderRadius; - box-shadow: @metadataBoxShadow; - padding: @metadataPadding; - color: @metadataColor; -} - -.ui.feed > .event > .content .meta > * { - position: relative; - margin-left: @metadataElementSpacing; -} -.ui.feed > .event > .content .meta > *:after { - content: @metadataDivider; - color: @metadataDividerColor; - top: 0em; - left: @metadataDividerOffset; - opacity: 1; - position: absolute; - vertical-align: top; -} - -.ui.feed > .event > .content .meta .like { - color: @likeColor; - transition: @likeTransition; -} -.ui.feed > .event > .content .meta .like:hover .icon { - color: @likeHoverColor; -} -.ui.feed > .event > .content .meta .active.like .icon { - color: @likeActiveColor; -} - -/* First element */ -.ui.feed > .event > .content .meta > :first-child { - margin-left: 0em; -} -.ui.feed > .event > .content .meta > :first-child::after { - display: none; -} - -/* Action */ -.ui.feed > .event > .content .meta a, -.ui.feed > .event > .content .meta > .icon { - cursor: @metadataActionCursor; - opacity: @metadataActionOpacity; - color: @metadataActionColor; - transition: @metadataActionTransition; -} -.ui.feed > .event > .content .meta a:hover, -.ui.feed > .event > .content .meta a:hover .icon, -.ui.feed > .event > .content .meta > .icon:hover { - color: @metadataActionHoverColor; -} - - - -/******************************* - Variations -*******************************/ - -.ui.small.feed { - font-size: @small; -} -.ui.feed { - font-size: @medium; -} -.ui.large.feed { - font-size: @large; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/views/item.less b/definitions/views/item.less deleted file mode 100644 index a6f72c6d23..0000000000 --- a/definitions/views/item.less +++ /dev/null @@ -1,469 +0,0 @@ - /* - * # Semantic - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'view'; -@element : 'item'; - -@import '../../semantic.config'; - -/******************************* - Standard -*******************************/ - -/*-------------- - Item ----------------*/ - -.ui.items > .item { - table-layout: fixed; - - display: @display; - margin: @itemSpacing 0em; - width: @width; - min-height: @minHeight; - background: @background; - padding: @padding; - - border: @border; - border-radius: @borderRadius; - box-shadow: @boxShadow; - transition: @transition; - z-index: @zIndex; -} -.ui.items > .item a { - cursor: pointer; -} - -/*-------------- - Items ----------------*/ - -.ui.items { - margin: @groupMargin; -} - -.ui.items:first-child { - margin-top: 0em !important; -} -.ui.items:last-child { - margin-bottom: 0em !important; -} - -/*-------------- - Item ----------------*/ - -.ui.items > .item { - min-width: 100%; -} -.ui.items > .item:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} -.ui.items > .item:first-child { - margin-top: 0em; -} -.ui.items > .item:last-child { - margin-bottom: 0em; -} - - - -/*-------------- - Images ----------------*/ - -.ui.items > .item > .image { - position: relative; - display: @imageDisplay; - float: @imageFloat; - margin: @imageMargin; - padding: @imagePadding; - max-height: @imageMaxHeight; - vertical-align: @imageVerticalAlign; -} -.ui.items > .item > .image > img { - display: block; - width: 100%; - height: auto; - border-radius: @imageBorderRadius; - border: @imageBorder; -} - -.ui.items > .item > .image:only-child > img { - border-radius: @borderRadius; -} - - -/*-------------- - Content ----------------*/ - -.ui.items > .item > .content { - display: block; - background: @contentBackground; - margin: @contentMargin; - padding: @contentPadding; - box-shadow: @contentBoxShadow; - font-size: @contentFontSize; - border: @contentBorder; - border-radius: @contentBorderRadius; -} -.ui.items > .item > .content:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -.ui.items > .item > .image + .content { - width: @contentWidth; - display: @contentDisplay; - margin-left: @contentOffset; - vertical-align: @contentVerticalAlign; - padding-left: @contentImageDistance; -} - -.ui.items > .item > .content > .header { - display: inline-block; - margin: @headerMargin; - font-family: @headerFont; - font-weight: @headerFontWeight; - color: @headerColor; -} -/* Default Header Size */ -.ui.items > .item > .content > .header:not(.ui) { - font-size: @headerFontSize; -} - -.ui.items > .item > .content > .meta + .description{ - margin-top: @descriptionDistance; -} - -/*-------------- - Floated ----------------*/ - -.ui.items > .item .left.floated { - float: left; -} -.ui.items > .item [class*="right floated"] { - float: right; -} - - -/*-------------- - Content Image ----------------*/ - -.ui.items > .item .content img { - display: inline-block; - vertical-align: @contentImageVerticalAlign; - width: @contentImageWidth; -} -.ui.items > .item img.avatar, -.ui.items > .item .avatar img { - width: @avatarSize; - height: @avatarSize; - border-radius: @avatarBorderRadius; -} - - -/*-------------- - Description ----------------*/ - -.ui.items > .item > .content > .description { - max-width: @descriptionMaxWidth; - font-size: @descriptionFontSize; - line-height: @descriptionLineHeight; - color: @descriptionColor; -} - -/*-------------- - Paragraph ----------------*/ - -.ui.items > .item > .content p { - margin: 0em 0em @paragraphDistance; -} -.ui.items > .item > .content p:last-child { - margin-bottom: 0em; -} - -/*-------------- - Meta ----------------*/ - -.ui.items > .item .meta { - font-size: @metaFontSize; - line-height: @metaLineHeight; - color: @metaColor; -} -.ui.items > .item .meta * { - margin-right: @metaSpacing; -} -.ui.items > .item .meta :last-child { - margin-right: 0em; -} - -.ui.items > .item .meta [class*="right floated"] { - margin-right: 0em; - margin-left: @metaSpacing; -} - -/*-------------- - Links ----------------*/ - -/* Generic */ -.ui.items > .item > .content a { - color: @contentLinkColor; - transition: @contentLinkTransition; -} -.ui.items > .item > .content a:hover { - color: @contentLinkHoverColor; -} - -/* Header */ -.ui.items > .item > .content > a.header { - color: @headerLinkColor; -} -.ui.items > .item > .content > a.header:hover { - color: @headerLinkHoverColor; -} - -/* Meta */ -.ui.items > .item .meta a { - color: @metaLinkColor; -} -.ui.items > .item .meta a:hover { - color: @metaLinkHoverColor; -} - - - -/*-------------- - Labels ----------------*/ - -/*-----Star----- */ - -/* Icon */ -.ui.items > .item > .content .favorite.icon { - cursor: pointer; - opacity: @actionOpacity; - transition: @actionTransition; -} -.ui.items > .item > .content .favorite.icon:hover { - opacity: @actionHoverOpacity; - color: @favoriteColor; -} -.ui.items > .item > .content .active.favorite.icon { - color: @favoriteActiveColor; -} - -/*-----Like----- */ - -/* Icon */ -.ui.items > .item > .content .like.icon { - cursor: pointer; - opacity: @actionOpacity; - transition: @actionTransition; -} -.ui.items > .item > .content .like.icon:hover { - opacity: @actionHoverOpacity; - color: @likeColor; -} -.ui.items > .item > .content .active.like.icon { - color: @likeActiveColor; -} - -/*---------------- - Extra Content ------------------*/ - -.ui.items > .item .extra { - display: @extraDisplay; - position: @extraPosition; - background: @extraBackground; - margin: @extraMargin; - width: @extraWidth; - padding: @extraPadding; - top: @extraTop; - left: @extraLeft; - color: @extraColor; - box-shadow: @extraBoxShadow; - transition: @extraTransition; - border-top: @extraDivider; -} -.ui.items > .item .extra > * { - margin: @extraRowSpacing @extraSpacing 0em 0em; -} -.ui.items > .item .extra > [class*="right floated"] { - margin: @extraRowSpacing 0em 0em @extraSpacing; -} - -.ui.items > .item .extra:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - - -/******************************* - Responsive -*******************************/ - -/* Default Image Width */ -.ui.items > .item > .image:not(.ui) { - width: @imageWidth; -} - - -/* Tablet Only */ -@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) { - .ui.items > .item { - margin: @tabletItemSpacing 0em; - } - .ui.items > .item > .image:not(.ui) { - width: @tabletImageWidth; - } - .ui.items > .item > .image + .content { - display: block; - padding: 0em 0em 0em @tabletContentImageDistance; - } - -} - -/* Mobily Only */ -@media only screen and (max-width: @largestMobileScreen) { - .ui.items > .item { - margin: @mobileItemSpacing 0em; - } - .ui.items > .item > .image { - display: block; - margin-left: auto; - margin-right: auto; - } - .ui.items > .item > .image, - .ui.items > .item > .image > img { - max-width: 100% !important; - width: @mobileImageWidth !important; - max-height: @mobileImageMaxHeight !important; - } - .ui.items > .item > .image + .content { - display: block; - padding: @mobileContentImageDistance 0em 0em; - } - -} - - -/******************************* - Variations -*******************************/ - - -/*------------------- - Aligned ---------------------*/ - -.ui.items > .item > .image + [class*="top aligned"].content { - vertical-align: top; -} -.ui.items > .item > .image + [class*="middle aligned"].content { - vertical-align: middle; -} -.ui.items > .item > .image + [class*="bottom aligned"].content { - vertical-align: bottom; -} - - -/*-------------- - Relaxed ----------------*/ - -.ui.relaxed.items > .item { - margin: @relaxedItemSpacing 0em; -} -.ui[class*="very relaxed"].items > .item { - margin: @veryRelaxedItemSpacing 0em; -} - - -/*------------------- - Divided ---------------------*/ - -.ui.divided.items > .item { - border-top: @dividedBorder; - margin: @dividedMargin; - padding: @dividedPadding; -} -.ui.divided.items > .item:first-child { - border-top: none; - margin-top: @dividedFirstLastMargin !important; - padding-top: @dividedFirstLastPadding !important; -} -.ui.divided.items > .item:last-child { - margin-bottom: @dividedFirstLastMargin !important; - padding-bottom: @dividedFirstLastPadding !important; -} - -/* Relaxed Divided */ -.ui.relaxed.divided.items > .item { - margin: 0em; - padding: @relaxedItemSpacing 0em; -} -.ui[class*="very relaxed"].divided.items > .item { - margin: 0em; - padding: @veryRelaxedItemSpacing 0em; -} - - -/*------------------- - Link ---------------------*/ - -.ui.items a.item:hover, -.ui.link.items > .item:hover { - cursor: pointer; -} - -.ui.items a.item:hover .content .header, -.ui.link.items > .item:hover .content .header { - color: @headerLinkHoverColor; -} - - -/*-------------- - Size ----------------*/ - -.ui.items > .item { - font-size: @medium; -} - -.loadUIOverrides(); \ No newline at end of file diff --git a/definitions/views/statistic.less b/definitions/views/statistic.less deleted file mode 100644 index 67f61a0f9c..0000000000 --- a/definitions/views/statistic.less +++ /dev/null @@ -1,411 +0,0 @@ - /* - * # Semantic - Statistic - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Theme -*******************************/ - -@type : 'view'; -@element : 'statistic'; - -@import '../../semantic.config'; - -/******************************* - Statistic -*******************************/ - -/* Standalone */ -.ui.statistic { - display: @display; - margin: @margin; - max-width: @maxWidth; -} - -.ui.statistic + .ui.statistic { - margin: 0em 0em 0em @horizontalSpacing; -} - -.ui.statistic:first-child { - margin-top: 0em; -} -.ui.statistic:last-child { - margin-bottom: 0em; -} - -/* Grouped */ -.ui.statistics > .statistic { - display: @elementDisplay; - float: @elementFloat; - margin: @elementMargin; - max-width: @elementMaxWidth; -} - - -/******************************* - Group -*******************************/ - -.ui.statistics { - display: @groupDisplay; - margin: @groupMargin; -} - -/* Clearing */ -.ui.statistics:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -.ui.statistics:first-child { - margin-top: 0em; -} -.ui.statistics:last-child { - margin-bottom: 0em; -} - - -/******************************* - Content -*******************************/ - - -/*-------------- - Value ----------------*/ - -.ui.statistics .statistic > .value, -.ui.statistic > .value { - font-family: @valueFont; - font-size: @valueSize; - font-weight: @valueFontWeight; - line-height: @valueLineHeight; - color: @valueColor; - text-transform: @valueTextTransform; - text-align: @textAlign; -} - -/*-------------- - Label ----------------*/ - -.ui.statistics .statistic > .label, -.ui.statistic > .label { - font-family: @labelFont; - font-size: @labelSize; - font-weight: @labelFontWeight; - color: @labelColor; - text-transform: @labelTextTransform; - text-align: @textAlign; -} - -/* Top Label */ -.ui.statistics .statistic > .label ~ .value, -.ui.statistic > .label ~ .value { - margin-top: @topLabelDistance; -} - -/* Bottom Label */ -.ui.statistics .statistic > .value ~ .label, -.ui.statistic > .value ~ .label { - margin-top: @bottomLabelDistance; -} - - - -/******************************* - Types -*******************************/ - -/*-------------- - Icon Value ----------------*/ - -.ui.statistics .statistic > .value .icon, -.ui.statistic > .value .icon { - opacity: 1; - width: auto; -} - -/*-------------- - Text Value ----------------*/ - -.ui.statistics .statistic > .text.value, -.ui.statistic > .text.value { - line-height: @textLabelLineHeight; - min-height: @textLabelMinHeight; - text-align: center; -} -.ui.statistics .statistic > .text.value + .label, -.ui.statistic > .text.value + .label { - text-align: center; -} - -/*-------------- - Image Value ----------------*/ - -.ui.statistics .statistic > .value img, -.ui.statistic > .value img { - max-height: @imageHeight; - vertical-align: @imageVerticalAlign; -} - - - -/******************************* - Variations -*******************************/ - -/*-------------- - Horizontal ----------------*/ - -.ui.horizontal.statistics, -.ui.horizontal.statistic { - display: block; - margin: 0em; - max-width: 9999px; -} -.ui.horizontal.statistics .statistic { - float: none; - margin: @horizontalGroupElementMargin; - max-width: 9999px; -} - -.ui.horizontal.statistic > .text.value, -.ui.horizontal.statistics > .statistic > .text.value { - min-height: 0em !important; -} - -.ui.horizontal.statistics .statistic > .value, -.ui.horizontal.statistic > .value { - display: inline-block; - vertical-align: middle; -} -.ui.horizontal.statistics .statistic > .label, -.ui.horizontal.statistic > .label { - display: inline-block; - vertical-align: middle; - margin: 0em 0em 0em @horizontalLabelDistance; -} - -/*-------------- - Colors ----------------*/ - -.ui.blue.statistics .statistic > .value, -.ui.statistics .blue.statistic > .value, -.ui.blue.statistic > .value { - color: @blue; -} -.ui.green.statistics .statistic > .value, -.ui.statistics .green.statistic > .value, -.ui.green.statistic > .value { - color: @green; -} -.ui.orange.statistics .statistic > .value, -.ui.statistics .orange.statistic > .value, -.ui.orange.statistic > .value { - color: @orange; -} -.ui.pink.statistics .statistic > .value, -.ui.statistics .pink.statistic > .value, -.ui.pink.statistic > .value { - color: @pink; -} -.ui.purple.statistics .statistic > .value, -.ui.statistics .purple.statistic > .value, -.ui.purple.statistic > .value { - color: @purple; -} -.ui.red.statistics .statistic > .value, -.ui.statistics .red.statistic > .value, -.ui.red.statistic > .value { - color: @red; -} -.ui.teal.statistics .statistic > .value, -.ui.statistics .teal.statistic > .value, -.ui.teal.statistic > .value { - color: @teal; -} -.ui.yellow.statistics .statistic > .value, -.ui.statistics .yellow.statistic > .value, -.ui.yellow.statistic > .value { - color: @yellow; -} - -/*-------------- - Floated ----------------*/ - -.ui.left.floated.statistic { - float: left; - margin: @leftFloatedMargin; -} -.ui.right.floated.statistic { - float: right; - margin: @rightFloatedMargin; -} -.ui.floated.statistic:last-child { - margin-bottom: 0em; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.statistic .value { - color: @invertedValueColor; -} -.ui.inverted.statistic .label { - color: @invertedLabelColor; -} - -.ui.inverted.blue.statistics .statistic > .value, -.ui.statistics .inverted.blue.statistic > .value, -.ui.inverted.blue.statistic > .value { - color: @lightBlue; -} -.ui.inverted.green.statistics .statistic > .value, -.ui.statistics .inverted.green.statistic > .value, -.ui.inverted.green.statistic > .value { - color: @lightGreen; -} -.ui.inverted.orange.statistics .statistic > .value, -.ui.statistics .inverted.orange.statistic > .value, -.ui.inverted.orange.statistic > .value { - color: @lightOrange; -} -.ui.inverted.pink.statistics .statistic > .value, -.ui.statistics .inverted.pink.statistic > .value, -.ui.inverted.pink.statistic > .value { - color: @lightPink; -} -.ui.inverted.purple.statistics .statistic > .value, -.ui.statistics .inverted.purple.statistic > .value, -.ui.inverted.purple.statistic > .value { - color: @lightPurple; -} -.ui.inverted.red.statistics .statistic > .value, -.ui.statistics .inverted.red.statistic > .value, -.ui.inverted.red.statistic > .value { - color: @lightRed; -} -.ui.inverted.teal.statistics .statistic > .value, -.ui.statistics .inverted.teal.statistic > .value, -.ui.inverted.teal.statistic > .value { - color: @lightTeal; -} -.ui.inverted.yellow.statistics .statistic > .value, -.ui.statistics .inverted.yellow.statistic > .value, -.ui.inverted.yellow.statistic > .value { - color: @lightYellow; -} - -/*-------------- - Sizes ----------------*/ - - -/* Mini */ -.ui.mini.statistics .statistic > .value, -.ui.mini.statistic > .value { - font-size: @miniValueSize; -} -.ui.mini.horizontal.statistics .statistic > .value, -.ui.mini.horizontal.statistic > .value { - font-size: @miniHorizontalValueSize; -} -.ui.mini.statistics .statistic > .text.value, -.ui.mini.statistic > .text.value { - font-size: @miniTextLabelSize; -} - - -/* Tiny */ -.ui.tiny.statistics .statistic > .value, -.ui.tiny.statistic > .value { - font-size: @tinyValueSize; -} -.ui.tiny.horizontal.statistics .statistic > .value, -.ui.tiny.horizontal.statistic > .value { - font-size: @tinyHorizontalValueSize; -} -.ui.tiny.statistics .statistic > .text.value, -.ui.tiny.statistic > .text.value { - font-size: @tinyTextLabelSize; -} - -/* Small */ -.ui.small.statistics .statistic > .value, -.ui.small.statistic > .value { - font-size: @smallValueSize; -} -.ui.small.horizontal.statistics .statistic > .value, -.ui.small.horizontal.statistic > .value { - font-size: @smallHorizontalValueSize; -} -.ui.small.statistics .statistic > .text.value, -.ui.small.statistic > .text.value { - font-size: @smallTextLabelSize; -} - -/* Medium */ -.ui.statistics .statistic > .value, -.ui.statistic > .value { - font-size: @valueSize; -} -.ui.horizontal.statistics .statistic > .value, -.ui.horizontal.statistic > .value { - font-size: @horizontalValueSize; -} -.ui.statistics .statistic > .text.value, -.ui.statistic > .text.value { - font-size: @textLabelSize; -} - -/* Large */ -.ui.large.statistics .statistic > .value, -.ui.large.statistic > .value { - font-size: @largeValueSize; -} -.ui.large.horizontal.statistics .statistic > .value, -.ui.large.horizontal.statistic > .value { - font-size: @largeHorizontalValueSize; -} -.ui.large.statistics .statistic > .text.value, -.ui.large.statistic > .text.value { - font-size: @largeTextLabelSize; -} - -/* Huge */ -.ui.huge.statistics .statistic > .value, -.ui.huge.statistic > .value { - font-size: @hugeValueSize; -} -.ui.huge.horizontal.statistics .statistic > .value, -.ui.huge.horizontal.statistic > .value { - font-size: @hugeHorizontalValueSize; -} -.ui.huge.statistics .statistic > .text.value, -.ui.huge.statistic > .text.value { - font-size: @hugeTextLabelSize; -} - - - - -.loadUIOverrides(); diff --git a/themes/amazon/elements/button.overrides b/themes/amazon/elements/button.overrides deleted file mode 100644 index 8ca3421199..0000000000 --- a/themes/amazon/elements/button.overrides +++ /dev/null @@ -1,42 +0,0 @@ -.ui.button { - background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0); -} -.ui.primary.button { - color: #111111; - border: 1px solid; - border-color: #C59F43 #AA8326 #957321; -} -.ui.primary.button:hover { - border-color: #C59F43 #AA8326 #957321; - color: #111111; -} -.ui.secondary.button { - border: 1px solid; - border-color: #3D444C #2F353B #2C3137; -} -.ui.secondary.button:hover { - border-color: #32373E #24282D #212429; -} -.ui.labeled.icon.buttons .button .icon, -.ui.labeled.icon.button .icon { - padding-bottom: 0.48em; - padding-top: 0.48em; - position: absolute; - text-align: center; - width: 2em; - height: 2em; - top: 0.3em; - left: 0.4em; - border-radius: 3px; -} -.ui.right.labeled.icon.buttons .button .icon, -.ui.right.labeled.icon.button .icon { - left: auto; - right: 0.4em; - border-radius: 3px; -} - -.ui.basic.labeled.icon.buttons .button > .icon, -.ui.basic.labeled.icon.button > .icon { - padding-top: 0.4em !important; -} \ No newline at end of file diff --git a/themes/amazon/elements/button.variables b/themes/amazon/elements/button.variables deleted file mode 100644 index d6347b184f..0000000000 --- a/themes/amazon/elements/button.variables +++ /dev/null @@ -1,59 +0,0 @@ -/*------------------- - Button Variables ---------------------*/ - -/* Button Variables */ -@pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; -@textTransform: none; -@textColor: #111111; -@fontWeight: normal; -@transition: - opacity @transitionDuration @transitionEasing, - background-color @transitionDuration @transitionEasing, - color @transitionDuration @transitionEasing, - background @transitionDuration @transitionEasing -; - - -@borderRadius: 3px; - -@verticalPadding: 0.8em; -@horizontalPadding: 1.75em; - -@backgroundColor: #F7F8FA; -@backgroundImage: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1)); -@boxShadow: - 0 1px 0 1px rgba(255, 255, 255, 0.3) inset, - 0 0 0 1px #ADB2BB inset -; - -@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2)); -@coloredBoxShadow: - 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset -; - -@downBoxShadow: - 0 0 0 1px #ADB2BB inset, - 0 1px 3px rgba(0, 0, 0, 0.2) inset -; - -@labeledIconBackgroundColor: #313A43; -@labeledIconColor: #FFFFFF; -@labeledIconBorder: transparent; -@labeledIconPadding: (@horizontalPadding + 2.25em); - -@black: #444C55; -@orange: #F4CC67; - -@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1)); -@primaryColor: @orange; -@secondaryColor: @black; - -@mini: 10px; -@tiny: 11px; -@small: 12px; -@medium: 13px; -@large: 14px; -@big: 16px; -@huge: 18px; -@massive: 22px; diff --git a/themes/basic/assets/fonts/icons.eot b/themes/basic/assets/fonts/icons.eot deleted file mode 100644 index 25066de069a62374b39f220581d1314fa60a5f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40166 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 - - - -Created by FontForge 20100429 at Thu Sep 20 22:09:47 2012 - By root -Copyright (C) 2012 by original authors @ fontello.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/basic/assets/fonts/icons.ttf b/themes/basic/assets/fonts/icons.ttf deleted file mode 100644 index 318a2643d3af55fe51b472e7769b99caf74ff7b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39924 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 J*(!_){|Uh81M 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 .button > .icon, -.ui.labeled.icon.button > .icon { - box-shadow: - -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, - -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset - ; -} - -.ui.right.labeled.icon.buttons .button .icon, -.ui.right.labeled.icon.button .icon { - box-shadow: - 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, - 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset - ; -} \ No newline at end of file diff --git a/themes/chubby/elements/button.variables b/themes/chubby/elements/button.variables deleted file mode 100644 index 03ed2f8edd..0000000000 --- a/themes/chubby/elements/button.variables +++ /dev/null @@ -1,57 +0,0 @@ -/*------------------- - Button Variables ---------------------*/ - -/* Button Variables */ -@pageFont: 'Source Sans Pro', Arial, sans-serif; - -@textTransform: none; -@fontWeight: normal; -@textColor: #333333; - -@verticalPadding: 1.1em; -@horizontalPadding: 2.5em; -@invertedBorderSize: 3px; - -@basicBorderRadius: 0.4em; -@basicFontWeight: bold; -@basicTextTransform: uppercase; - -@blue: #4A88CB; -@primaryColor: @blue; - -@borderRadius: 0.25em; - -@backgroundColor: #E6EAED; -@backgroundImage: none; -@boxShadow: none; - -@hoverBackgroundColor: #DDDDDD; -@hoverBackgroundImage: none; -@hoverBoxShadow: none; - -@downBackgroundColor: #D0D0D0; -@downBackgroundImage: none; -@downBoxShadow: none; - -@activeBackgroundColor: #CCCCCC; -@activeBackgroundImage: none; -@activeBoxShadow: none; - -@verticalBoxShadow: none; - -@loadingBackgroundColor: #F0F0F0; - -@compactVerticalPadding: (@verticalPadding * 0.5); -@compactHorizontalPadding: (@horizontalPadding * 0.5); - -@labeledIconBackgroundColor: transparent; - -@mini: 0.7rem; -@tiny: 0.75rem; -@small: 0.8rem; -@medium: 0.92rem; -@large: 1rem; -@big: 1.125rem; -@huge: 1.2rem; -@massive: 1.3rem; diff --git a/themes/chubby/elements/header.overrides b/themes/chubby/elements/header.overrides deleted file mode 100644 index 51c147b476..0000000000 --- a/themes/chubby/elements/header.overrides +++ /dev/null @@ -1,5 +0,0 @@ -/******************************* - Overrides -*******************************/ - -@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro); diff --git a/themes/chubby/elements/header.variables b/themes/chubby/elements/header.variables deleted file mode 100644 index ad2068aef1..0000000000 --- a/themes/chubby/elements/header.variables +++ /dev/null @@ -1,21 +0,0 @@ -/*------------------- - Header ---------------------*/ - -@pageFont : Source Sans Pro, Helvetica Neue, Helvetica, Arial, sans-serif; -@fontWeight: bold; -@textTransform: none; - -/* HTML Headings */ -@h1: 1.33rem; -@h2: 1.2rem; -@h3: 1rem; -@h4: 0.9rem; -@h5: 0.8rem; - -/* Sizing */ -@tiny: 1.33em; -@small: 1.2em; -@medium: 1em; -@large: 0.9em; -@huge: 0.8em; \ No newline at end of file diff --git a/themes/chubby/modules/accordion.overrides b/themes/chubby/modules/accordion.overrides deleted file mode 100644 index 441e72a2b9..0000000000 --- a/themes/chubby/modules/accordion.overrides +++ /dev/null @@ -1,7 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.styled.accordion .accordion .active.title { - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} \ No newline at end of file diff --git a/themes/chubby/modules/accordion.variables b/themes/chubby/modules/accordion.variables deleted file mode 100644 index fccb9ffc43..0000000000 --- a/themes/chubby/modules/accordion.variables +++ /dev/null @@ -1,15 +0,0 @@ -/*------------------- - Accordion Variables ---------------------*/ - -@iconMargin: 0em 0.5em 0em 0em; - -@styledActiveTitleBackground: @subtleGradient; -@styledActiveTitleColor: @primaryColor; - -@styledActiveChildTitleBackground: transparent; - -@styledTitlePadding: 1.25em; -@styledTitleFontWeight: bold; -@styledContentPadding: 1.5em 3.25em; -@styledChildContentPadding: @styledContentPadding; \ No newline at end of file diff --git a/themes/chubby/views/comment.overrides b/themes/chubby/views/comment.overrides deleted file mode 100644 index d9276d536e..0000000000 --- a/themes/chubby/views/comment.overrides +++ /dev/null @@ -1,12 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.comments .comment { - border-radius: 0.5em; - box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1); -} -.ui.comments .comment .comments .comment { - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: none; -} \ No newline at end of file diff --git a/themes/chubby/views/comment.variables b/themes/chubby/views/comment.variables deleted file mode 100644 index c0780f435e..0000000000 --- a/themes/chubby/views/comment.variables +++ /dev/null @@ -1,46 +0,0 @@ -/******************************* - Comments -*******************************/ - -/*------------------- - Elements ---------------------*/ - -/* Comment */ -@commentBackground: #FFFFFF; -@commentMargin: 1em 0em 0em; -@commentPadding: 1em 1.5em; -@commentBorder: 1px solid rgba(0, 0, 0, 0.1); -@commentDivider: 1px solid rgba(0, 0, 0, 0.1); -@firstCommentMargin: 1em; -@firstCommentPadding: 1em; - -/* Nested Comment */ -@nestedCommentsMargin: 0em 0em 0.5em 0.5em; -@nestedCommentsPadding: 1em 0em 0em 1em; -@nestedCommentBackground: #F0F0F0; - -/* Avatar */ -@avatarWidth: 3.5em; -@avatarSpacing: 1.5em; -@avatarBorderRadius: @circularRadius; - -/* Content */ -@contentMargin: @avatarWidth + @avatarSpacing; - -/* Author */ -@authorFontSize: 1em; -@authorColor: @primaryColor; -@authorHoverColor: @primaryColorHover; -@authorFontWeight: bold; - -@metadataDisplay: block; -@metadataSpacing: 0em; -@metadataColor: @textColor; - -/*------------------- - Variations ---------------------*/ - -/* Threaded */ -@threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2); diff --git a/themes/classic/collections/table.overrides b/themes/classic/collections/table.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/classic/collections/table.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/classic/collections/table.variables b/themes/classic/collections/table.variables deleted file mode 100644 index 21760fc800..0000000000 --- a/themes/classic/collections/table.variables +++ /dev/null @@ -1,14 +0,0 @@ -/******************************* - Table -*******************************/ - -/*------------------- - Element ---------------------*/ - -@boxShadow: @subtleGradient; - -@headerBackground: @subtleGradient; -@headerBoxShadow: @subtleShadow; -@footerBoxShadow: 0px -1px 1px 0px rgba(0, 0, 0, 0.05); -@footerBackground: rgba(0, 0, 0, 0.05); diff --git a/themes/classic/elements/button.overrides b/themes/classic/elements/button.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/classic/elements/button.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/classic/elements/button.variables b/themes/classic/elements/button.variables deleted file mode 100644 index ded0bdb3ed..0000000000 --- a/themes/classic/elements/button.variables +++ /dev/null @@ -1,96 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ - -/* Shadow */ -@shadowDistance: 0em; -@shadowOffset: (@shadowDistance / 2); -@shadowBoxShadow: 0px -@shadowDistance 0px 0px @borderColor inset; -@backgroundColor: #FAFAFA; -@backgroundImage: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.09)); -@boxShadow: - 0px 0px 0px 1px @borderColor inset, - @shadowBoxShadow -; - -/* Padding */ -@verticalPadding: 0.8em; -@horizontalPadding: 1.5em; - - -/*------------------- - Group ---------------------*/ - -@groupBoxShadow: none; -@groupButtonBoxShadow: - 0px 0px 0px 1px @borderColor inset, - @shadowBoxShadow -; -@verticalBoxShadow: 0px 0px 0px 1px @borderColor inset; -@groupButtonOffset: 0px 0px 0px -1px; -@verticalGroupOffset: 0px 0px -1px 0px; - -/*------------------- - States ---------------------*/ - -/* Hovered */ -@hoverBackgroundColor: ''; -@hoverBackgroundImage: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.13)); -@hoverBoxShadow: ''; -@hoverColor: @hoveredTextColor; -@iconHoverOpacity: 0.85; - -/* Focused */ -@focusBackgroundColor: ''; -@focusBackgroundImage: ''; -@focusBoxShadow: - 0px 0px 1px rgba(81, 167, 232, 0.8) inset, - 0px 0px 3px 2px rgba(81, 167, 232, 0.8) -; -@focusColor: @hoveredTextColor; -@iconFocusOpacity: 0.85; - -/* Pressed Down */ -@downBackgroundColor: #F1F1F1; -@downBackgroundImage: ''; -@downBoxShadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, - 0px 1px 4px 0px rgba(0, 0, 0, 0.1) inset !important -; -@downColor: @pressedTextColor; - -/* Active */ -@activeBackgroundColor: #DADADA; -@activeBackgroundImage: none; -@activeColor: @selectedTextColor; -@activeBoxShadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, - 0px 1px 4px 0px rgba(0, 0, 0, 0.1) inset !important -; - -/* Active + Hovered */ -@activeHoverBackgroundColor: #DADADA; -@activeHoverBackgroundImage: none; -@activeHoverBoxShadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, - 0px 1px 4px 0px rgba(0, 0, 0, 0.1) inset !important -; -@activeHoverColor: @selectedTextColor; - -/* Loading */ -@loadingBackgroundColor: #FFFFFF; - -/*------------------- - Types ---------------------*/ - -/* Labeled Icon */ -@labeledIconBackgroundColor: rgba(0, 0, 0, 0.05); -@labeledIconLeftShadow: -1px 0px 0px 0px @labeledIconBorder inset; -@labeledIconRightShadow: 1px 0px 0px 0px @labeledIconBorder inset; diff --git a/themes/classic/elements/header.overrides b/themes/classic/elements/header.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/classic/elements/header.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/classic/elements/header.variables b/themes/classic/elements/header.variables deleted file mode 100644 index ec0cb06a1a..0000000000 --- a/themes/classic/elements/header.variables +++ /dev/null @@ -1,10 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ - -@blockBackground: @offWhite @subtleGradient; -@blockBoxShadow: @subtleShadow; \ No newline at end of file diff --git a/themes/classic/modules/progress.overrides b/themes/classic/modules/progress.overrides deleted file mode 100644 index cdba171baf..0000000000 --- a/themes/classic/modules/progress.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Progress -*******************************/ diff --git a/themes/classic/modules/progress.variables b/themes/classic/modules/progress.variables deleted file mode 100644 index f66d8f5da4..0000000000 --- a/themes/classic/modules/progress.variables +++ /dev/null @@ -1,8 +0,0 @@ -/******************************* - Progress -*******************************/ - -@background: rgba(0, 0, 0, 0.05); -@boxShadow: 0px 0px 4px rgba(0, 0, 0, 0.1) inset; -@barBackground: @subtleGradient #888888; -@border: 1px solid @borderColor; diff --git a/themes/classic/views/card.overrides b/themes/classic/views/card.overrides deleted file mode 100644 index 8132fa0458..0000000000 --- a/themes/classic/views/card.overrides +++ /dev/null @@ -1,98 +0,0 @@ -/******************************* - Item -*******************************/ -/*------------------- - View ---------------------*/ - -/* Item */ -@background: #FFFFFF; -@borderRadius: 0.325rem; -@display: block; -@float: left; -@margin: 0em @horizontalSpacing @rowSpacing; -@minHeight: 0px; -@padding: 0em; -@width: 300px; -@boxShadow: - 0px 0px 0px 1px @borderColor, - 0px 3px 0px 0px @borderColor -; -@border: none; -@zIndex: ''; - -/* Item Group */ -@horizontalSpacing: 0.5em; -@rowSpacing: 2.5em; -@groupMargin: 1em -@horizontalSpacing; - -/*------------------- - Content ---------------------*/ - -/* Image */ -@imageBackground: @transparentBlack; -@imagePadding: 0em; -@imageBorderRadius: @borderRadius @borderRadius 0em 0em; -@imageBoxShadow: none; -@imageBorder: none; - -/* Content */ -@contentMargin: 0em; -@contentPadding: 0.75em 1em; -@contentFontSize: 1em; -@contentBorder: none; -@contentBorderRadius: 0em; -@contentBoxShadow: none; - -/* Title */ -@titleMargin: 0em; -@titleFont: @headerFont; -@titleFontWeight: bold; -@titleFontSize: 1.25em; -@titleColor: @darkTextColor; - -/* Metadata */ -@metaColor: @lightTextColor; - -/* Description */ -@descriptionDistance: 0.75em; -@descriptionColor: @lightTextColor; - -/* Image */ -@imageSpacing: 0.25em; -@contentImageWidth: 2em; -@contentImageVerticalAlign: middle; - -/* Paragraph */ -@paragraphDistance: 0.1em; - -/* Additional Content */ -@extraDisplay: absolute; -@extraTop: 100%; -@extraLeft: 0em; -@extraWidth: 100%; - -@extraPadding: 0.5em 0.75em; -@extraColor: @lightTextColor; -@extraTransition: color @transitionDuration @transitionEasing; - -/*------------------- - States ---------------------*/ - -@hoverCursor: pointer; -@hoverZIndex: 5; -@hoverBorder: none; -@hoverBoxShadow: - 0px 0px 0px 1px @selectedBorderColor, - 0px 3px 0px 0px @selectedBorderColor -; - - -/*------------------- - Variations ---------------------*/ - -/* Sizes */ -@medium: 1em; \ No newline at end of file diff --git a/themes/classic/views/card.variables b/themes/classic/views/card.variables deleted file mode 100644 index 629fd4f363..0000000000 --- a/themes/classic/views/card.variables +++ /dev/null @@ -1,22 +0,0 @@ -/******************************* - Card -*******************************/ - -/*------------------- - View ---------------------*/ - -/* Shadow */ -@shadowDistance: 0em; -@padding: 0em; - -/*------------------- - Content ---------------------*/ - -/* Additional Content */ -@extraDivider: 1px solid rgba(0, 0, 0, 0.05); -@extraBackground: #FAFAFA @subtleGradient; -@extraPadding: 0.75em 1em; -@extraBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.15); -@extraColor: @lightTextColor; diff --git a/themes/default/assets/fonts/icons.eot b/themes/default/assets/fonts/icons.eot deleted file mode 100644 index 6cfd56609567bc9db55186415c694d1d32808fc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72449 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
U~M!&>g0b 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 diff --git a/themes/default/assets/fonts/icons.otf b/themes/default/assets/fonts/icons.otf deleted file mode 100644 index 3461e3fce6a37f2321ecbe64707f04c0a4f05424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75188 zcmd42cYG5^*C@QQyeoNEmI+v3OJ1!hp?BN#Bql&0F(rUQ=*C61jEjsU_uhM#yN!)a zZ=nSOfy5~U0x2Yzbn+xmdPp$|WF(Ia_sq&BJV=l2St!J@u6Ld}hLIigG(oNmSNVYp2bu*`8&mCT(g%JrKs|W6VjPjD7@?@<57`EsF_Gij(~7S;$jX z2uy5njLz_R|~-giuu0_{g+f+ve88OQ{Hz6>Y}qGm4HH8LdoEP_Ir~wHA13xKq37E z1Q7#%ImkKEQfdVC%s|@tAvjG9rGf|G%tLS)wVE;wz~z*JdUGJ{Lb24ffiy>{sLuw{ zN=i%p4&x(nc7ggcB(4K#2{l|&I*@jvl#*QoX(=^T^1?vc`5_#d8Y8(m0B0V8%cxE# z$pBnVc{p_qq+KX?r%B0{5Tf&5n`|=c zVocso$A%h=aRy_sSr<0ddtr36w}@);HtI||V*&u5GQ^q}ChAOv7#*33dEO5J<`I%J z*XfL=NJFf*@6;JnrxS?Jv(dU>lMZNv>x|xJgST0)^ZvUTCS9nR;D;OFCALM<4|cS0 zYNX*m0;fd-nOKu<8nuWrP;pc;Wuzjh2ue?xfq7<9)2SJhFQgVyVemeL(m{GHV42{( zj*5ZUn|hjxr9$DY5z3R_VDViTHB~GZO+`ceH&s%?2xUzWj8p>r63nNdWGs|hNF|Ez z3_x2)t$`3h#RG+4z;(3FM9l*V{~4dWakP0RwGPS}p_WLIvN!Z%D)eP4^k@*r2UcJ- zU?=@*H?{x2(58Ba^p5QH?|rs+TW>_~_TISOtlp~Lj^1Ov-M!a( zzv}J1P2C=H+Z$+4xIO*0|LtdQZ@V3LJL`7U?T*{WZg=0lcKa(r`~KGyb$|2y)%O?P zpZ?_!U)FuOW{B$$#SnIg%Mkex*jk1-50MUW8X_4&x!rfW>vqTOPq#nZZoBom{jU7N z?Kihy-F|Vq<@U4NPi{ZD{owY!+jnl?x_#sJZ|;=H59|LA1MdHSc=vyM#lTJ^gTau`vLeC!n{ysFfXP_Uc`a;;df9b8Q`%5CI-q;j?f_Z z08@+f2t13LIfyd|dpIWbJ7SE2M+X6Y`2Iv zkp55o6=8%9;E*zdF@cM1gm+?lAU^<05&JWMOK=9?GfrY#nxQ=#37!98@E7s2C_kX( zC)VL8>pEDTzy|wG(u4WIx(CZZyip8U549cAFn<07M;srB30*Ni03+$ax};f-cVgcG z?mU=>^dM|7CT$V}dFOaPnef&?TC8tyti(D1AN0WcgLMzq`5)sfN=5Jn`%Q2L%ZV|e zl|>C1nDg+#cYyEwFueh|8;M1@qnrlv{tx2;EpI}L@Bj%;S(HBnvCo4r5Z3J3VAh|L z<;C|91Fq}f+8ik7{a@>YGGgBWt|0H6vm9+D_>zG%!GU*vgSez_v3`gN?0**q@gSZe z&4DsfsLMf%#B&~$%c2BmvjBC70pNldvK)OGz|)9*7$^_8{)72JI)izrZzX|2bz&g6 z5X63xu^GT)2Fno{M$)8hgZ%>hi3CQMO{9n`r5)Xz4^*h=``X=^^&>Ji>7z6GQLVJL| z_aKddx*yOSg#T~iaf59p@jw_#VuBCxViH3?=0bWXsoR0$7|#Km$Kk!l!}JNx|I;6t zQ24u_Le9kh{ZB$TOd^pe9yTF>YR?YaZFd!x{0fp_1!PlmxoWQIAlbaCRI;O$No?ms&tQPAvhI zcLfzlZKi@i0oH?3y#tirbSj%Fr|PH{s)IU29j9KRy5UrMnfj3Wg8G5#rT(J&;SlaD zkxPb1R1%Fukc^g0koZa-mn@S6N`fTOk~m4Kq)<{PX_a(J4ogl*PD{>7UX{Elxh%OM z`M2a}$#0TBB}j75iFF$8q;VSOd9(^983P8*!UoeWONP6bYtPEAf-PDhGoA5e9%B|W&ob+o%}g+} zor!0%nS7>*zlX3A#CmdZBB z^s;1GuB<{3O7?^7SJ@vjyIdjH$RCx@kk69Omp?9FB3~hY zP97?ck{jen@yA4hRgPR6M?4L6qa z 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�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
0sk@fM`oh9rdYn92xm4<3{ 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 DgjuED diff --git a/themes/default/assets/fonts/icons.svg b/themes/default/assets/fonts/icons.svg deleted file mode 100644 index a9f8469503..0000000000 --- a/themes/default/assets/fonts/icons.svg +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/themes/default/assets/fonts/icons.ttf b/themes/default/assets/fonts/icons.ttf deleted file mode 100644 index 5cd6cff6d6f6cf438a882e366420dbcc5dddd3f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141564 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ƓCICn66&u!PHl6pn& zji|4vhmc&@#AaM|-EE_z&;9A9>*_WMg4}lR{#)aJhu2WN@v=GB%`;!Hd)6DT9{l;^ zv;I2%#-WzK;HwSZ#jEdJtiPUp;b*})ZQWkuW2(Ki&fv$;5MjPbg78L}*(wSh1M2u& zuP^+=t=-gTr)-{T-3Hwu&N>hW>p+~eM?bhViAmWwRyJ~&rBNh{ZX?%p26+C`fXrDp zGv$FWT`>SCS#dz4e+4+hhUy{Q6s)0Q#6#%Xf$)?abVPLfjRopAfYcq(ZQ`JNC6lk; zHKLQl#K}`Mk~u(1De0p4)B6BM-(i=MNL3E8Gif74citE+{L7??UDy4Kd2wj2X@uppBnhsuG#6%a~C&n zs|wdC&b#aTYZ48?Ovmo0hx&(i^`#c9>OOd$FEThQx3sw~Tba%2b&vdZP~P=5^@F)6Hj$JVvEhxUU|zOBMuqq7UqpS9+x;l2KDrpFJr-hwDYwN_(mizJY zp5tnJgJWFian?DnayTYZE{|SNZ0dFa7vmdR)pyiOU#zRWx~8kMPTdwZ>uZIbB92WQ zZN>2eb&ji?&T*mF>AVWxFp+XH!Nwk#=F`(SMBsCTwH=2OpNoik%5XZJy@6b?5sW#_ z=!V6OxCPhhF*rE+1^O12lpAAVdOrCi@hW zot0uiZc*y!Rl|E~_`|9B0|%jWoL8n^q@&z4iWPNcitu^>q7MJDk}Ze0<0IrF#|Nhu ziKQ`75Od9uCqIu!Gv-DJZsn1d)^;Kq$CJSnBZ`qMHx+5Xi*YYiAVyg1ltBzlz9sK& zMG_7)_Nn5LGSdxQ$c8T*K=rlunq1}Y8s9O4$!vDh;ilPu(3sz8{9R=ZbX|vU{OXN2 zew7`s46xyyJJsPpCF-KGl{cvuIF(>ZeY?S6sf{K$pbd&nU`gY;p>4F<4(fYD>gK~o43J_)EV?H-mM%z|$_|!D}rEkGdbrAYuO-(q)f}lEp3~7L^{4$%J8+y6~jl3EGR!Bt`^nVzO+}@Cg950>ZY|s+4|5jHL>kJeFNS*;4g@W3KZq=e}GpGWnUUGvcP|*EL2D1R+n1U0sRox4UA6Y$ z`}baXNo}>mXxgCOeEieu?|*R3Fbdq>a5odzwzYpn{oavnubdEuKgIm7?lTCrwbe_0 zc-g)0AIvG$jvD3rf4k-fEd1#kP!#vtOVFZiUm1P8Tm3TnQKWi!h<|FFY4z~>Omd}p zWXco<-wnyih73KJu2ct7$aTD%DB_Qwf=7 z#QZGI1z9x6q2YPtG>Ax_r`Zw39GNOUMRM0;q*axO(ox*+YK_XZ%dxS>`gOrEmL?I1I3uhfuY(7bnO`aB~T-jD%6SfNm#cYuT zhtW{cZC700)~_yW^@JQo0d|YQM}|p$il|o~pr)Spm@!a66e%uUF!i%{z4I`ap#xe$lp1bc?_BNe0kvnDwI7 zo81|%>^`?SEHP7}bK5}8Y`ZOH7JP1NP+&I6RUPeYS(CE%#4^=pK_9GN+q3OzixWvQ z_$Poc%u;wg(z>O(w#GXXH*w>6k~39Rp_e>1n|IZmjEPBs_?&uYg+X$Q`r282fq`3CwZA4t&Azje4thtV=R(Zp^p7z;GR*=3PPzSFWd9`p_I)#hi!6N5V z9-f}bZJibg^~Ay70E1DzG?V%9j$IoY8~=6JLZyExG^2QI ziT7n!l>?q3v)xh2zHh4zU;Ee9t8-~{wk>E1Cwh9GULBUCV4(ZT6%}q%y&q5NIkz`Z z$8Ncd>4%^C*n+|*9X1R!p=)OEWp)P&R4Sd@3;lQ9xUHve@3YCFd*?d*e?F+asn0#X zas9eb<cYV@`Q4}Q_o zQS`V`FTe0}JZu{cP zFR_6UmU!ams}sWh7ucL*RcdHlJ%95r)T>s%d-vV%uHK-xvp-ZFQ(t&Ned8CK*&{s8 z0pII2@V)LNoB&25r1_>yaV=<#p~bP{Ma0d3oQu-MxXl9A#o}@d%C%;wwuY7KFT?hI2QqS{~i=-COqbRXX2@ADY+R;z;ENF78f9 z1`j}1FvT62wsSXL-!G(RE?K!^QJ2f*&l&;?2lrln=j_P28@6rUa89@Ex>SASNAA~C z73}9PIuw(=VZr|88Bcu4qJ|p}Gf@y-mF){In;UkyYrA@To1OAC0|w8W1-mc(M1RG= z;CbgRpW6mB?AoBw-`m<*E%=ulST?gtfw&Owxz*_JYDx*st%H}(jEIh^3XA3Uz~NyS zK&|#7*ZkiBJFtOv)&q?u&3VPZ9*s$?W07{8%SbAfRh05QO@5ICF(n$rm_7G+lIIbPqt0eRjLU558H;5nIfKZdSnyI z3j3(GK?*Q62pi&DFEENJG5DjKW=ohZq6V=~HWKTdCeJjzHS;0fxar)CWZi2ved!cG zsK&LHJS&LmOy0Puht+~t>C?FkbyI9`#2hyYCODUe^f8Z1EliJ;Pos^SI6-u5Hk5oB z4yJ6ZK=bnSzOL4tH#H9se}$Pp*{d*wPmXv5wJA#wDdv-7KZ>zmSpgR&jeXgRC;^TB z5F)Ug;LonOKg>lveYitAr4mQ6kLbWV&(1OZZS|kuKX~wcR)bg7G({!N?IxXJJ?wZd zDrtUYQeRi7h$+!=BZ3KtdW?f0LXb3hz8sN(tC{MkRYY0ZMB9J!JHH_$c`*uVm^N8o zjN%ME^6HV2pVGgFk0Y^Y3QQ_VdIf>KuMP0>Bhgqgg$?{iiS|At>}64p@m=LADa344 z%8|Zq)H&-M1ge8zz>1>hN^jy!-C1Ns%`d$ZT(61gt}d3 z->Gr^{@a}=P-wTt^_E%_NQ$g*l-2dz*!G*7Q6lPwU+sT&j8(5i{na4)-k_?lK3M7qGL}Q%1sGiel)RV8QGFzTmPr`I2!DbQKuh$Axw~m$O zY9mm2@|)k$av4Oq7#}V5I*EhmtIBu3`C~pXopLcaS~6g7WK<7~z=&Rqg8;|?iXuY< z8%}vdb_Ov*E9jN>NBMr78RKX6f~BYzoJ1o%^ePkpO(3eCiXadR@!GncUOtYey|8CR zgEJV3*Pc8=P+C&cT48OqYLE)RJh44hunBe)WerK*sSQ^f(4mBZ$2b=B#BSE=(k}G> z@fV`OVz&GLs5lOT@n)|x=vVhnzP-rweDBxP7r%jn+L^-8u-`Oq{cL8i$h7r7c{Gn+ zE_vwF)$6A=)C$mjf1QqfLw)gU$aLRKS8(|UFeLRI`E2`idnR)<;j)Ec-=+! zL{G0`@xuod?Z+aguK5t7^oP!dTX_gT9gamd4MUHkYGCt$99^p;w+B3(@aDr202p#v z6=!~w-7)$+i#tJORv7-wCHggW*UM|JX>7b^jeLFG2Txq`nPDuU#?Jq$eE4$lonOAy zu{#t-R_vO_q4n#Bn$AU@tlp8y4kXxj$IX{NEbUy{-@mj~XbHH4ia<1j1bLt6%rzt$ za!%1_EEF=)K!xzrLaJ^CXqw<75sU0clxC~9M=QL81@%bPjC*HPC3a8B&tcdd%aD_= zLl2WPlk0tOJS0zT5^RY?zLU8pH_5Sy9e93}Ry?&ylZd{c7Z@?xOuCa|zTx3k(~9oQ zA}8`r+Dt3EGK-z9k9vLGE4v#W-u_s?*Ry>6)9uC;v_G$YFRz`O|5T-S=F)t_r?-DP z=<8l4T(q6FZ5PA%mexlC{_d4+jfb}%4*0uPj`hL zYgJq0<2xRsGuj$I*J>V|Ntd#YHq+9D>UXxYuG4f6C;WeNfr34SY6trerWMUDux@Cx zE1jk6QBtZvvx3<(pN3FBfXO43kyLVQa;%O zNk#rb!)d5i)PfKTHSN{W*vqY(ZrarJjf}0%GBcSunij*3ush)Ocmr;1iOd@B&DV~P z*0fJoyI7t(+mFOOzWs?gb0SwqOexbH$#W_qdxC-+k#CD6S@7l-zU)6IR@>Q*_TZQ- z&O<`7D5={BO!lR^Yjovp$rZ8Li&vh1F>g*7 zC~b)d0+ce~6cKoeWyOd0HhfNDzd=MaCndPs5{P2@5rBkm8Qv23S41Odf1s%#G6p9K z`CY1+`{XVpUx(n3!vIaXDN~hJfji%3i`YeM(c5?4`L=pQy;nW*_64{8fz4#+v6+9k z_0~VA-%>xXe(Mj}KDO(nHxF!Q%fEdOvu?NK7wGjigMt~@D>+Re{UY^GO?7UE+da1M zfX!tPowmWNo>bqM+-HoiM_&Ik)9=52H~Z_qcNsSRh<)#jAH~lL&+wnZk52n}-{%gE zyEn4SgsMzNqtT=iG``X zA6zYbX5wmt)UaLn{8KyYl3)JTk5zadCiN)Z?+UVO=IACX`yxrp0}LJ(8H|5mAx*qw ztVzNW0yrL3fCI#oSo5tW=#Nh5m3j&Cbdm_N1iv0lGM{>d zt^egO)jzVI_4c`2|ZrJnK zgphtZdfhqdHG7uN)occxk>r*cb+BgWuAa;$uN*5!leI`((vr);eFf?(Xt6x5^<(Aw8d^E)sc@n*Tgu{j6Mz*0 zc?zAwJLLt4x?0Vkm(s$eoE(Qr1x%*wOuo~)SsOO|SGe}wVR2L(9j*<(Z=qz7F7R1S z{p$+X!Z<=<2nqX!)nWc&Tvvb?*G<4$I`xMd-&1{Oh6VwzbQ?G>2}#|^9U8>c57Q!Y z3>Bn6)k&WH2(J$tAxAYVjFLYBFTP9hMTwtZS88m*eDp-)C;`|}w8K_NVlkAI5ofwC z!>6N6!P6<1017rjA;#1(x}ho)`72TlX*EPFjJYM0`bfHceAfE(Lx7v=hkU*d4r62D z^7?i|Z)c}qF*`@$-xWGLXIWRPBkWI#(Bo_I2|bGbY4w=;n0oAK@sCX=};*h3d22Ii#Ha~xLu=U}DOoPpF2uiZBB2Rh(_ZJF~rLwN2U!UFQc2^pNUkkf9@sg8#+ z3?@}fulNb69Z4^670?h-k*0)EZWS>o0y-j`bT(DJiyHSbb8L(~Gvw-D)mJvX+{bR- zzi&oU&h%+Hp0>rFoI3yCkMH|SNy0-}GgfxymaJP`Xbg7QicK|glQVx!@0^0QwzTp^ zd5JAy`EeC%J*h3>nWtI~WVTvTs#20O6pvrsdbFV0v#|1DTm3*?sV6RBTFvaCnTuPu z56oF!y18gcX^J^KZ)rtXc0!gT(~u1%yM&^4`5l>S*0kn1BZ}6PUa+&(aF=-Y2`1ZI=<;#5AmG5DknCuj<8gAY0Xe>7dK)U7Y3Jp6i`I<{fmC z8p%N+h>LQ2XOV)BH%wqG4+-RlV6^RJVk#{F=8=R#;Q?Zs$u|d$xp2(8(B$h!Xv>&) zi$rDY8uRWlk?@U-+V>Da3+^PKclRR(CZ?C;1Rg;-|KM)16;p#ppaC*lmom^#3w#a z19HwcKaiLcpIg~jbP=VOS?-T5kd<7ppDyGOnP4RP)U)u^aG16a;Vxjk3LXTpAPW+$ z70jU&d0o&Lvu?)5*mWA}b#c1d$?&fbK~iUplp`UbHt0L3`iw*_JU@31ug zZm^H>IejfHMa8XaLt^#K5A%nc^|2xPm9O#FRkUM;YYVFHll+l)D{ z1|;OLwOp8s)|q{c*tL0AScbz&$v_CEf+MN(7A>Ss)@>P1FMxlEVsEc`B+-?dNs&=B zG5WM5_Q^(foz{T$&mI+HrL;uzh$+qmSmPM8Yg7<QpB=hm~YHD;; zDy*^?}_BsvI=D4TVt*TFP7I3Z3|Ds|; zTEm0%fPx!C)M|BZuG&Z&(*F@re7;m}>UVg)so-GWB6z+qHV4ZhSeS7KL#d0jpC(nG zJh26cNCY(sNZ51Qtwf+nL>uh5i35Q7791=xRE%^J_)o6nO96^Q73eJS1TmnK2U9P= z3>91KD~69|Ukr4h(3Czcu}HHm-b{3b*kCY^Wl+J5NXemw|E{JHsly3WCu)!==71Xk z;ngu<45EaeGeWMArjc@{c72bt+&|FTG7w?2MwGP;9v_TMia5;P9Xv5`Ek(7JeP1lV z?riPfIGbU!7ilesjHsB^*E`Gq7h6PxZR?KN{r#=mciAE$t>=YDiv9d8>LF!2D4uND zUKx?@fJst~4XcDWNkv>fz$k;MZoudRH4MTYqQ-z}k7RrdNhp--s9vEv0(w}Yf(6~H zA;{LqVqXlH?Vx{s$wUWJb*Z575D+h!Pial&Ffi{#t%WggiBKD2UrcqScAcv$Vh@-d z5Uh%H;wB-6)tAjJoA|kR{E58?jQfVqDw6g-fgr0tJM0^0vzgBSHJPpO_4j=G`MnpH zly4?Wn2BRQ|MKk5n4!GH|7mJzX)3e&zZgFI)g*l!uw9RWoe^zgG237zg+-na0Yjl_ zQY4I6N|V^|5(X1&kzjC!N&%tx{oTFQ31%3+4JYh9r|#Z8e3ZS}zIVdok8R(3d+s@wPqkG$l=8%PJWQuoX@cbbQ0?Kk2xY&un0KG@%g}4At48R7Aaf1T%*`3&Q zs{qWO1Y8C!JX0p)nveM$@!0NQ@L`L>g(5LzWN1|tY_?2Ll}qz-cR9JVD4gpGdL9|Fy z8|Ru60lox-%lQ1<{CN0rhlM2!!zgZQxc=Av)90PXt{cN2cI5T`2f5w^LA36>H| z2CX>0L>r<&S;d-%Vd{fizDUBPBptc$cP>_#PqT~(>w{Xt%YlpvI`mVbNkHKsBps15 zwg0iimkP^w`g}VZYaV(jGBv-cDL<|IrQGVBUhhtu)ls-$$7Jl(&dC<1Ja2uJ86HjW zFJyLe+tA|iCj&9^nI+3quOV{rP@7CAOZi5t9s^0R2Z(N$%AS$^O7=(DUuA!neJF#q z7@5o^Cgou_B}leON-dbH#I%XM0mw8Lt&Dhe7<*yE1qFp@Imu#-T%D^5 z3z~{Mt+@`hoo>Rzs92bqmy*pWc6`vdQWxgi3scNS_O3>6w?-%x4hS05w`k2_=HOF| z-4>E{D623_SDU76tw=9Swb^x{2Ddyp11K6Z_OD!1mF8SrHZ6PGv4r%p2v_FH23Qwq zRq5&&r9}=nb*9#sPdHp2*4Y=SviqZBOriWGU53GGTAr7^p&`qZ zTw57cr!mCFh8RNrwIeb;B`nSuuTRscdCIKulg6TSvpg+aX;vFmI<;1z4i2|u8F%%@ z=u%v#3$zhYjxfIMymC*BeO6T@fJlpTixl!A1``#=o(Xoy*BV2DbTB<(L9yn<5HtLv zC7Z$@IG&RbC%1)~EY|df@K}=^hRrch08CEi`e3^}YxP;t4Phv&ENy3VEu?+f{m8FaSA246NeM?1qa zBj#we8IcSOw`I%h2`)#5x!Bqitj(W)+tX?AU#hhhsP$H*T@$PVlak97Z2Yo0hN$qg zn1akAWrm(96oVfgRM@|L~=VX_Z+UvPE>cmycccsH6)<`uN9-a-R54M+#R#hXAG>@xdu zB?k|A=xd^L7Y4YvU>{2CNhR4P(wuMr)SU*ce|Posh2CU7UVznmu7&&74Blju-rY_rKtO_jg0A znKwn%OfSB6^Y+;AnN@YR_^jB-D4ioC+Bvi*A);Z{!oI?RTiG(EiCeeAow6WJZBQz$ z(fy6PJxYx}_$IB{ArDp=wI-ug9}%zD=#)B#76@PYS)oxm;as!mjvX6kc%pQgL|bxb zpl*<*)2-t>MjUjP43d3TJ+Qx$vIxus2urb)IQW!$AjKMlXdZ;Ap z5%YUAsKhqeR@p)sX}r(Nr5$k%9MlL+)kMHtd#8go+?M6t^on9f1U^qdGC*5Q~GY)@(SB|#6w77n!vKnU(ixg!{gmM)rZ$OITu ztb>#>LA1xIY%y|m7RNp_ld(#Ut*MyiK<%l?t(glZq;SXyv#1#O`x6rorW!z7KvGhO zqT$_=FPavTS!Fn^PfSegN{l{y^Wo!%qpR+lXX6~B zI5I@nrbkR~V-MeaB&z1Y`TBvG^R}*T3eT)D95y62qKqTQhmRaT66MLVH+62E*Vu2I z|BG5Z(ojJ3k(u>nrz;4Qs-#)kJ?N!!Lf=b@nnvH-5hytj&VSt3;q zV;we)4Vw;AYnq^y?7Iyy;Cxt5J`pL&rb|rT@=;%o`75t$^r6sCpE4m@Ka!l|g3lT2 z+fSs?rMJX1QdUw9k1{xZ>p*50xxT%U;ii%@Vui4CA;A&}$0pII48c5b*zB>Y^wx;z zq{8Mot9rIxa_x0D+;sCTm@K>|c#gV}R{jHfko(}J$UR{8=&j)qD?JU@U4P>Vk!zi0 zq-t92O}K%~=Y`fmp;_rp$HZYbgI7+97Op%P6ez7UgV2Ahd$45yivlwO<_7F2!DTJT zr9`MNs7WFTNrrww)8Z0t)ix;B~%f!naQ2D z>;$VBo)Zj7(b3@!W0Fpzh;%9%?yFmNXkKs(98cX?ki6&066f4mpH#A6@p6CG>Wr5X zSKq%Xx~bBnD9|z$Q4B**_pGz~mu8*)FYgruEYslzR z2d{n#v&zg>a+4{Z$HUSR7N2(RE>^l*B2{^u<-q6@s1Q-ge7zlRnvy><~tUS2ikpUP8|Ft-2aiJ?1updpJ*c+{y#i#L4p7 zJVj8NZ}3(mmXG5y+7vs9azDLR@x?`8MvRv&q+msdDSZ2wySgyV*x)lkW)P?tBno=h#S! z^9YtvESqN#dE^T8^~@~l_Sx8Ad!t0Ro>Uf)oaezfMkwDv0iH$Scg_JJ`FbYJLhPua zTtKj|Ndlb<0@8nb4Y}&SP5=J=|84%I)kEar8V3$JEI*#S9R7lnOQv7DcKkT}V#|kM zvNSOSy@nyuY50)?ll^FtNcgGrTDSG1+fqe*)G24V+HK zz^nl}iuUiRTK%_`|NX}M{xwMY5Hhl%-a=w?a1j2h&hWp=`+t1@_umJWLNXEop2d;+ zh==;ve{rCDn8*)*t^PJzl_NYn-GQXlD+kWn?zJ0%cA38fE(&@n5|KZ(| zM-dO@{)xi>eew^blFZ!mjY%=8TrM~^>tw`WaALNFAB2ckU{yRE5kmAz1hL%UVN>WM zfu|NCX{{Q^hK*KAHv+bc0Iz%@P(>P12G|JL?^{MpDrW+S1i)M+lDJN;(Q`pFkl13< ziVC)n-?hqQliXrY(d@`~Sl>I5vx_4AuLX=U{jafFVUj8T64CFx6Nyaz*T$a}_LvYh z3wz8WmQW|zVnWFZJpUo^SAu{@mJ98)7TIcnj0E=qG4%ej7_vi+1MS@k2*_6mk=;mw zDlkdXO};#=Hf3WYwPkr&E@q68pv#w@faM~NfQtd;7(f|n<_jPzmBr$e$XXtF|UCiBd@_U>!v z^)Jid3E`vR2|Qz2zx?B&&u+Nkv!N@VN*wL()U|Xi{cE%!DVhIjlW-w_ zh(9zj-NT0_hJZUJORmPQR-=Jyp6cWYS$vrpcwxW|GndH|{eJ(~x3G4;<2}5Sz;V?K z;k#31nXtlv_z!Z{YGIE93&kRG>P9ZizDRuqT}*} z3e%fLQ>y1=~hhfZtl7vzu z!?Xl!5OgzSLJzP?{A~k#?a`g+dj^w_c)%FF@Vb*uX7#dk=$HCx&;)AeN_e#xpy|Z? zHP9BQ%CVrK2Sb>kBjTMb5BlUZ zu+>f>MJdeX&NyyGx)rLDaVp-r;Nne{_x2Cw%;_JR?jL5!W6$_sWMMNGKk6R`cChmK z17n?hqGw=35nRu3c<7c_-h~-pUUx?y^$eLY??{AI0ecO!l=9YxNa>vO> z8=4PI48Opv7r(LJ9NoLkQ|KRK8hP4|iL0LIruwG7iJmF=$kE^(rK7f|L8JVxNofJN z#V|(z|G0oEte7z6343ftYz!*70jOhHq%wp$t`YtVNox?A=;t`gBvOI9WlaCDIRs}J z$it+glVS3eAp|WssHppF5T^J-V20u=17l*Ox^_A_D3bY#2?yR5kN8;9R?R3ws9^>w z9&nB>vo92~&;QLlE)=y*JXR=Tz$+TImbQ4gbb@#aN-ptYTFiGM3spNAIl;OO?9{1j zDd5Sj7Q-gR8clUC*xBJ#_0XKsvvrm|nC| zKb4*QyMc{2rsnk(&q_5<4E%9p7n}89+tSk)-TGKua?>=OZJ+Pn&zhV4zbvZWjyAwr zBU=wyhz**D`Ov>u438oA%ScFr>aHL^kYu(OKQ=NyJ{py78zY>XWn<(jAQ)=C!EK1l zMZE($7V<$f6)-Ifs9iV!m@B#J=oq8D4QbB6edHR{xB==<_sc`0vkOX5)84s+jp^%H zg2mQ0Z+@F3@u(ocxCp2P1LPFl+ZRuxA+p%J5}pQ%y~`{fgADewme>@-oVg1~(o9g_ zf?Xt_7O{DkxbsR;-7evyP}ILrRzOBaz9SP0lnT3|fMi%5t(BHN9?(DlD^L;vV;$Q* zuc6;056&qzs_$bb`Uh^gWx)S0&6Zh+9seY^a9+)#N_~h2nmulty~);)TDeFu&)Sey zxoA;kkc}s(qcx%GV5PFoZH#v$vtv*n=xJ`MTd;lMf{OA5{PugdEvfTA6~(^nzxl+w zx15>1Zb=<0jefziND*!}pdmqui)6=`EJfAa|WsYvGHJZrE^i z!$TDd7H(evr2(49CdX9{Y!l{V*Sl7BosiH#@&w46Rb$@nEN>gh^8>=TEVSV|(T0*# zhT2PNxzz}@LsLo;QNhQ~dbHs}$YAb=59Xq2t*Ct8>JAK@xVB}4rY-X=Bcq@YYgAH7 z+HB$1Yn6Gp%3cG8AM^n{hL~7Wx;ru7vtZ$pcF}U*7r_WQZz0wev`i(or(&c8gGquG zftD0nEktT-66FJW%}zoEf_(sU23#2G1|+fp!4?R)gshW<#orlaO$7^)swrn^CT zN8Rexb@iR_5TNDpv3`fHE~B6+t|&Po!;l?S2(6vSWTPsX?^LEnl^FB@7cr_`MMbXC z4{L!?TAQ7dUf5KK|5L{yKbYTSc`Ci6HfMY1q1Byr*E1`wnwEkDbifKbGOEbHO#Cn0 zYzT{rDmIvS;p{@zu)MZ*dF>`w0l3kHh18a&Z|1B10o)4{q{|styPJXLnjss8k!{*= z6D>?ozORyeu0u(9DRI=RnlP9`wUL$8qJFJPtIH^d4|_7~FDSGmf%O!klv7>0A~5?n zAPiE;6PZ%jy*mo!iG`VRq@Y5fP;SHy6I?DRkb*2y16dE)p1zY;Rd!^@$Q6&8;Q=jv z)@F6EHjd9^KM&^qC0Km5Z`o!ihvvj*hh}TCUiCl0e#fqfDKO|=4VS&aNzrvtsMZ7JW!iazeRtx;{?+oY{ZDlKLyU=i2S8GrY`fsoXhX zENVwkjr4!EGVwVFj8>|G{6dV}QpF4ldt4$A5`!{-UGpH9=p$ z!Peeq3JD4EUl$b*kTT`1@~@uI`>#oy8E=aV3DH^P^_T-mhT&09Z!VO~ z@{nSrlpr`YQ3d6d3VtaN&4P@%(gh-fQI1c6rOcOIJ-I}cGAkxT7?3!~K!UhH@X0D^ zO*jK*%yE+lnu$(y6x!gcCsncbwnuh5PORXgD^57NBir|a#nE@XZ+tlp%Z--fOZP2Z zx{s;k4=&=N+6j*~l*?C&xZ`Z7eJ{IZ>G|g`^|$YB_Yc9NH6hXrNk_77?OOXSv^Eb)}^0Fcjg;+Lu7uy^$856O^3H zS4|C7()68%g3$|RE@AG2*82a~WJ6#{U?c7MFB>j)vfq7zk2M<=Q!ea~j|uv(T)3vIe( zI5`vO-Q?(bI3yADZL!x18*~;NK^-yHEFhexTB1vkNYn;n)-d6EO~NFswT0v+>jEJH%UYAI2?U((W2ayF!-r7k&A@jfACoehahcJpUmR+tobGyTttBJw<=9lg6B=61dM zY=~N~S1aCE>*uZUzv{nPWvF^@-oA*?M|Xc?4Ap;ISW5|&G+ExIPp}7=Jl0-U8fi3T zKCO26cV6K)p(Oq|&!z(XbE88%d5mB9Xs&GGNOGor1lSLk$>|@5K{Q zCuK^?&n*PbB^ER*@Q{)5`&SZ?i29;5i0N|OAZG;qXt%)D!@6~xe=hWDHd*0>+E)&+Qb`8+@jH2t$K}x&oluV z-oW5h*=FUlj4VhS!olYW(rJxZPGhhw7=PfjwStla=$X-I3Nf*HK)D5fQ_J**AfUbm zvC>cjj6R^XVdO@mCEUVP%OdA3e}YAu^NTm#e*32JkAf`hnjx)rXqQ&I>o;2MZ+@lK zJ@-$8;h!Js^&gH01&x0m6!iJ~DsAxlUzoJ&FW3$XnttCGYQ5!i_A=hnpZ+;s_zU*6 zHYiBzSAA-?fBK0o$ngo+>x@R-gyIwC*Bgy`KmUg=*r@-AePA$|41U`OdXq{2A^SVi zsr6cQQ0PnebPb?fO{($V{+;gt1g~1Du}tj#Ymmhf)W1=_7g)yruSP>|-@NHI9LfD`9RE)Ov1i@#6W@>g$ zPQFlC2RTF*Z{~k{1sf|^$B{KI<=q0J^Hp|i%k%yl{mcC~KL1nK&$AWmI9u`jWd6J7 z&YwT`Zec#dp8D~NA(3O6bebaTx59ta0^!GH8zh?-V@wUVP#pkO1-tdeEbrbi?{4AR z*#V;oQudvk-u8>>4Vi2v-&#y>FkXg@GP!t0w(TaL9U-tS4`9k$3k5olZb5SDtc7ju ztF~>Td9KJjT+%a03rjeB=Pko|yV+OKjI-Txzo(}0yxkXw>9Mf|yAfvs?xef+ntgS! zmGSPjc$t%mT0s9fCxX6-7cO_%#eahmQjV>DN)_jr;umHxjsd*C0TFb*NMbOy{A8EUwdSI; z7UbuW?g_&15^2u`JOhg-1r&L_*t5r@SId#Yq)z)7>26Ewh{i_N4hMpE4Q#nh%cJKITlk=wmUDsfWWn-diO;Ypp7D%QR8!ds>Yc!KOPD@P+Enu zYz#~ca1F2ls&){_sCTIMWWiS^uC4O;pR93~!NO*&QRMbG+vel3EL&I;izv{Vi+@`o=~6I{srn2 zphV{;%S6;C3>Z_!hEs$FQc67bAt};wj5{FK4b(5ByS@~Nrpb^dojfr)(Ywh-lgyU} zxYXg8Sa24E*Cr<_mq6>>KUKNb{6b*(nkPYpf3p7$jSjIP<{6iP0n~S#ANuL~8>Kt^ zqyAAYZt3HbLmykTbA2%u{DM+wy41iQ+6>4dK9mi+ss0KDL>#(ZDS59NPA(-zL2?r6 zrO~FYjB^^;M~KV9P7$qvP!qIV&$Y%}v<5lJ8+I4K6I5Ps zyI=~DEoEF%0Wr40*Ty_AEI=?Ni8J6&h;aF_Ie%!#4?7M1;-RuwjD$&gE2yUq;8t;Xy?Dxpt1k*r)}~ zx)eU?1G5fv=72DlEfD6i)6udRC$P;8j1x#K&W#h|p+bcYEk!dB^3>1_R4VLv=OgAj z3&L`=P7Soq=G#F%mq>3jfQv#tTk`vS??eb|`NnYB?2M-kfXk7W_n6Xd35l`p z-fb$d*_Gy1s}g>yHP0RgoA8ccjV5H`%@7UO-eF0}x0r41H{rAn4>Iahz*9Ur8tIv287XsMo~vFDu|4ojvC z2O0!OnRjkNYDWYp>&p0l?vrTc96>9W0Jg3e-0K{7aS4&M>|96?twc5Xq6w&Sp4nGD zood-KTsw0<<}8U?IvJN))=2CwWbo#Rt=ZzA90OohRS^0zC?p5z=&O=kjzEkWG%Apj zS%Ls^hnxwRZ~(Lru|GKgb{UOtYr^%pdb#G*DUBR~aLus;JS3{8CEOHK)FdM|Fh3fZW79$C#QmSc)^KaXV+Ooq>+)uVNVcHHy{m8cOf>y zDvk{=yjAI#i$#Pl+_rtzU7IgE@xsaBM@!UUHKkRSm=brs=fx8hrJWsBzdVsOyEU?^ zd)2`51xnSc{=@!%JiYv`59?X->Cu0_Gbb&@PDXclv|m;DQ|XTaoVh^>W0?d%I$Zv!#xib zxY7nrlpKBdX8#Abs6thl&uqW-J*N9BlWo6jrLDnORa1~(n_Ao2TAOX7*W0Wh=_^00D5t#wTY`eHWU2+4+dhwfJ)K zXe1}WO^PoTT1LQ$@g>lRjsbeAMk{kza`NboH0XQ*GuE3WISmm8@!!Mdauh-o=2DnK zVqvu!D~HQv7r5zi2gG89NwGk|GZ6~j4*+c$+s;Hro?%IEv5L3e@}GI`9=7A2Gp%>G zo)L$8{QLNcGi}K8gJ4;s{(VyB=lo~hq7u%&N_is{2dL1t@kM6>#RYJ-)iUM3APZ;< z;4FePSAsz)D0Mq%bSR>rTmLV#D|ov^g%6vPAr%Ljw$@Fzy5o+?74HWW0&!vH`wm4 zV*KM7{^RfNK@M_v@h)4Q!4xrH`Okmj6tKwv6ULx)LEmHrJ^K;5(@Lz>(5YeGRpJwZ z#)g9gU{{b5WNeVhSBFnnJm%{}|A48v1ulTSb>>rYO@8UjmSt#SOjuUnpSp7}S1W{d zkZ?nQwUImvz<7;7)JU&|U}1xyt^sQ~3c&Lq*gulXf=mTCnzoxfs{+@46`%nJ;0)Fiu8H9LTle>D$ zk!xfCo{#DUYVL8rlm1@8|Jv<`2H#X*h`!hGjITP#5<^f}UR8-ORr#%@l zHmBK?zhldezBO~o&E_Du{H}J-Zd~29rw&m0tKPl(OV$br(&V~9*m#-PAJ)TyXQ%7{ z^qKx4MlE1WinF{sbBTSu(e3qQd3Vun(0jgn5-IQKlo3q(zht0MWngEAJw&f)9PeV2 z?^3kSm4^{~&6xL^b2xg}BR1Jd;=RPQ%q)VW0Fa4C2aLzuY4r^=)~=_R#THMD1hW@q zD<~?itgdOwpSNhq^6m|N8wUn=?mGWs0l0H1Zk)fcec9%1doR4?a=P&v%l&({AG+$= z>!=&}JP;##LTK=tL&Hp&S=n)A^|M!P+rDS-Ro5cJ4-NhA!t!xbA$;2s28simZ`fyt z(0>F$9>@hO91_)Fb%R2{e-|bQB#JC>1|p?k=73Wpl6-k`=|#*4FrhIUy0n_L8Xds;gf! zR~5bBzp;BQTmIXsBJ*okS0%+Cc2=J*U6`G|K0SM3>FH|cdq(5mVrotow`J!o$;)ml zK3x;@HzWLA7FALH^r(`x{u^KTEnB{}I6jF=EaLWr_*QFl@ro725g|V~c@fgzlk{TW zzT!k9J9^StR1~?YZ^N3%vOH%}9BAb`)8`vlwdyzWukZbhs+#NPr`}bRTJ% zQl>)W#jea`@>O9dOvhNF?KE~@(*bpj7%)ZJN%>C#{~3;JrzgY_@H-R&Aq@9+iIKK^ z%-d!1ZNl{qz+^xN$K>rB^Y&$tg}1Mm02{DpC^w%Bx5o%7%{RRY^L8neXuWY}Uo7y^ zyzLfmW3g`m0AYR2Ex2B8_RcEyc3HeD0$4$C?c$qjM>4s0_SKhSw;mpwQ@D{vQjPik zq`1uGE4Jgpw|I?2>a=2K@7s0$q;d_3kR~nQ5{2s{VkHXjD&i`l8|TAL6NC$>WQUzb zkzM70NSb_cSaAk59Uli0h;$>MN@&f6_$jY2p2`$r=v+IXX9$~3xI8Z>4OFmWC`S~F zpQ?DsWXZKnX>Tr{8IhCI+@?!3%q(`7&EH&_o|Lk2*NWBc>w=mSk{X*?mwS3nc72X% zKj-`9qX|rI0<+i>Qj^l**GsEi3s*97;>3WXE9 zol#N!^W9y+a&v8ds626*r@We5+j5iUvEL-*7sSIu)Py#oknPQMII{g)-RvMd!2B_> zpfo8obep~PExxJM778{gXs24Nc@JaFO9Q8_3|zW7vMnr%^yCO)YHgOc6MlKJMyzv} zZl;bmAJ#UOCB#FU552ZAg2wis7jDh+>R<87+}=E}HOIVpCT|q=Ii;Woq9{UOfH=S` zHF*;$33}jQ5J5r4A>p#MjCos3661&X1VaD2#Ux!c_GRz>lXs0=_-hh~7BgJZx$vs5XN3E6gVpjeP27L|fDL zO9D?5KDm^3lM|ko3T^N{oQHlU&gg_N5<&kVwT2{MrJD0xxhnKC2l#*JsR-xVaV)4V(!>^WnBKMasMl zk&4i}S}r-AmGvClV5Xcu;?N|yVp1IT=!`kV{ujcE*UjtfUd1oHXn%Pt`(5e6MS}|# zoV_b!5${+U=UhB-{h|zh*P~4Z@hLkVRrs&k>wMCcT(*2+DO;wX%@BU)be7|=A0m1j z@_Q4&Z;3`^-uNtn2!(Sq3kG)tY8I6uq{5R!8Vu}QGm8hNNIYCze`mb)v6>6nf@|&b za%;oo_N?NB`k<+UMlpS2#NW(L@+Q|!D=sO`Ua_(60Mu*oPQ~zD@{H*34YDm_77oGg z3}!Q8k3dr@$h<)^p&;n)%sfW`dtV@72no~#H8+>TR6 zf0r%UX0)C+zUQ;Y?%z|^HX}ZD_C}NwUo*>psXsKt$s=r_n=Jvl873fBlR)_f0z_dR zJOE&HM5};4LmN+ctDD?>qBWD^)#P+s`0)+^(O?&91WOeiANyA50Fbf{YA1`4%9{A- zB+IxaB#4=fr*~d*`hp8`TFcyVF*XA$w8$0B3tS0WyVv$FzaJhr>(>kQen7+rIl3| z+6zi%PG32@L^-F%m}g)>N9q6N`n3LFTdX|>0==WtY>AnvicnRDCB&-a5VmK)H*Eq0UKTHw_xB=E6t~~$Go#m zKH{EdjrqVp^u-ad7#YPtjdes}vKwhxttB(_ielev%!nhpv;qyyeBhzyVQQ>{wah7F zShy?8Ew-%?x+Y`uYVpd7y$R+KjV?xlbE7>PxxRH^rczMf#RLakb9G^Y;4KtDD=rQy z?}7nA{Xp#?UPA&r9)r&y5~X}tfss*|)C5>tPq5~vu(x_CCdPG_|D9VL@y_t!$YHx)i}Z7s4cMp{k|rI|7!pkEA?e|C9Bgex!4 z6_FutyNgBMvhTe^ilhFoj?HY8%XJDfKmXNVu`gY@Ij!#8@w-{{r0%x=*uyWA%zd^Ht(PK^mc}+}cFsMjA0B}t@Vwo^&Sz;28 zQw;^1Z6>D*s8K z7i(9ulU*laJaRlMnvA|Fm5^_{qnOh5PyW_ z(`ro#Iw9t-(;FEG)ntTJ$`DX^t-CBG{RN zT-rkiCR21MxI{!-K(UAxYamI};aj3H*%iHK9kX6_j72`bef#tNcaGibe{O@CY4+=a zP3nf1w{$&nprz%&BV8*_PTwD6HmCYM;YlziG`<-y$R@jRxrdFWn$0o0JA0`J|Fh&- z^NM}CFwFri*DdS9{V$-Hy6OYbuH+>DL!NUU91yZhsZ%{>g<9D#lr4oXa_GC!G6{(p zxK%+wqLw5AFmDB`%4Y|gWQ25wQ86-K7-Wtk=yoz(eHUVpn*{H~l*wa_?0fKuGbcGG zIQz#xyyyGMx%?!>64ylVS61IceSpa-u&$qhUBv~m7iHcxS;N)!8*(A9T`@LX*4$6T zA=sOt1l2oibh;@;J~pg%VSnxhKqB*AnC0F23hhCx?&0>W)KS_Eq#WM93Y6Veu^rhe zqlm42(xwC&(_TRA6^#uSwNmz?O2lWohg*dwj@B8tN^tuwLZ!5CMXyl-T*}*O9?`n$ z$)TIK$l^<#M%3O4>>_;AD0QLPy9M~Tp}5Z5hHJTbSe1|}$U6z62y>Iz9uQiL9SBaO z;)~_T3Nc@R5&!)h1n7+6PLmjp`B>tSpEOO;`A~-31|+K=$l*ed#B!L);*u&tLo-ij zrrwnr78aLQ6bvx5pm6>RcspV7mX_SGuyk*F+P!IEVeuIyNQ^U;WhI1$ru#Aw9~vH) zUSe|Mj>L)fB;1i`^0<@3LbFb1rrn+D2#ZN62u3OvMvYM$T$Y)jED29ntJA}yBe+Uu zzr;Uk*URByl6fvcz>yS4jD$*?>|5Pq0rg=mtGd4 zQ?aNRN=*%oj#lb)j;+P=40&dRJI)oV(kUX*XF`G5?MI(U2c8(&9|B4WyvQEs3})c=)#5DdYPO3DJ&r|)U60t$rHlXhb3GdAHF_3{;Czbsy*@>Z{NB( zB{3naA?Oz?Yjfze#|ew$a#Tr$n~)f%<0#o-t^j^Ewrg(T*07u~544&Dfupz(%lJq}dOazl zfiDTyK7z!S{LWw}0&q#Gjz~9Mni?f9HGvw%%;_MDB2kS$p6AHFVqHsi!C9{Vi(hd65d_&;B+fq>Vvr&c3Jp0qpVEJEfdQc@ zYe+C`e%Fe<7CMY1_&|4qD+6>l=+9)}dq8VqgCmJQNaz7K@YvZDV)~3C&6POJl-3A* zY6u*edt=NaW_y&AzAG7U6J+X?2NcevR9cY#_m+*kHoL)G1j9w5?!Zd~TM?0<^@tAx zeq(&xceZk}oeSqwe8P8mckWy`xBL^%KPjKPaOY0%F8)cyoP|?&b^PbvoyA*CYLQy9 z)nqhnEfKe=OgpmXAGNJMTkj+WpLW`sh zLU>|e_tU;b21*6y4Fro$DkBbb25D%;B?*vfDT(x#$;C0KM-)e01qQJ+jKs+6eS|45 zKXtRmns2TBEc5ePtJSlp_YwbD|J(kvkL1|Gg7m4DxZQKZY_{yM^|z-hPHA=Fx;C9o zX9&_QK5U7!;Qut8HbT2t3+hsjls070Y8O)mv&Beb0tc1@!M^g5-bEg(wf6JO&uZ~J z&&{VU$3uF1AK`Pdb;{(qyW{lPZksOs_Vw}zQ3i@dc`1Q1ESB5EwN(Dq;*rwJl#AC8 zG&6KVtIz(U-nlHe?4Pn2FiG+Eo9nh<|0tcmfs1G@ZI(!wO1uR61Ffx+`Cq5W7wO+% z3P#M-KlVGRB#^1|kT@#+DDH=TfcB87P{QPy9>a#DLPf!&2&f`ZGu@{c68C#3AAN@c zX9|mF%g&WUaXP5;h_uOfqC8LmKll78@A#eXJQt7r^lZ9k@+{t+;_(yjgS0^0cJV!d zyi?OvT*mM&NAYW${FeXV>=Ai}Wces7Upzx9JBXemo;4&RzrW($D4pWy9Qc_6c_yzX z^R*$pZL&_pd*VLSrAOR{@YFIVLTS)2YsLy4S zdFVaFdm?R0nViDnn(q0r-;m5sd2qjSGH>9!Oo8(N;xQqKJc_C1P#k{2be?<{)I|iY zJyY``E|$uoK0rS{B=g`W+J7>R&gaUJ!pU?!`I8Sx?;z?L@ss(fT>4GcktkzI9KFZ6 zG(1<7hjf&4?j2E927W<`Az3s1@NOCSox7fV2GYcMp)%<`#4i?STu(k%ydToUa}Y1` z2F{b^AdTL`gSTWIUcPr{B~veke@u8TjSN_aH2nDd>IZIXD-cyJtuS zCWb5y@#2Sg@ODI;_|8DS2)q-0qqrY=J@k%&v~%xF*LdbkI?M5&ew0@{lk(#ixKDrX zUW!M4dN+Ds3L}4d;OxOY=%3$wLuH73Ln5!8!r%EJo~{)*(=#;q(eo&d?xi0=%43b8 zxD9w-uXIA(>d_7(wXw(TuWzsM=`<{dUhbsx$<#cf%MR+wg+pmA=nf**iRv zFXVU1jfx`0Ddn(gx$2(uPw zmIqrCTCZ&N&sjTv>--NE^e?z|Vd}zTiw?B)v^}^ubV_G zFZAeo9`4=MXX<-(895 zbypw1X6`kouFbplz_o84E;@YZh~>!I>)h8JIa+b_*wHVpzxeuBjujo-b?ogMQg7(H z;mnOCHy*l)-?aIr*N#^ozx(F7H~;O#owwL-x%JlM+rGU0+1o$A;KDqkjsgqyaf9llGsrMgP{lKvYUVKpVV8w$E zKlsJzM;|`$$f`%PA3gq<;<2GoKH56^?BfNGA3QVjiR33!pWN|O=2M%WRy=*>(_cTc z>e17 zzklbC>tB8DwfV0-`+EQDx4!<-8~grL_9y?Fe|zisxA*+H{+;A^PW+|k-Q>S6`Rl9i zS>CUH|I5Fh_@LrL_eXIbo%zSzAG<$(_>;|_W`BD0vzebi`GxIY)&Dy9WxEHg%%>T20m>C%Uf6T)O+Z2DG?C=93HBL)Kj7(;f{S4C| zQ_ys_3qL8$kZV^U%#r8nKv)iapc8?x0uquJ0%0W(7`_OERk9Ek9tf*tCs=kMtdWJX z7Xx9f%*Ngig!Qsi<`0C8vNBE{sF}=`4+6K?T-SF25uS~L7 z*fnGWJthyKD&XMv%2ohPD;84nZP-~3BD?|TSn$Gopf%QuJNv}3L!_<3*U)|I@h^5t zsdPs_?j69dAJ+4oC^=I$9e4KNzADHiDXkY}cfw|-6YsJKC3J|=>Fow!6&?E{`6)$u zXZMffi2Yuf^YH{Kvs*kr7T=nQFV4hwPnMMXBPGqoTXo{S=sTn@S}n?o#aHwqW)O8q zDL+)Nbk9oUn0)GL+|fVf9=fL5pi=trj8(|LLDa!I#8LfHd^g%-6GD@v^x!VKT8Z2P zfjaF+47I}4TCGJ1RPV8}I)r*q`Zm$tgJ{1Ja1XM8Yal(p<2(0diYHOe_|I}?p@yWl z=@GS*1s-81-g&b0*g#EF>?*uXGu~z!&Qg!d0WYTn?U93{8@BM1?U9F3CjP$J4(-by z_+uX<`#1}kJmteBOsQs`ur3%y1Ut76r#gRW)M*mPD0H*O8Ak|(Z`9blKR zgX~gv8M~YvVpp&$*;N3hyoO!N4znY0m~#{WeaF}h>_&DIO#N?WC)h3QR(2b^o!!Ci zWOuQ<**)xDb|3p0WGG(dW5aBOon-g3Q^4DJ5O9|dv0t!<*(2;x_81#wkFzuE3HBuX zSw794Vb8K(LZ|Il?AO4Te4hP=y}*9UUSuz^mjSZ%3j00#1N$T32>yq?#$IP{us^Xk z*<0*w_Gk7E`wM%Q{gwTVy~o}M=)wo=L-rB-2m6?P!ail6vCr8**%$0z>`V3)`x-pN zaW=vH>>DnF6+2|pz++c(6<2fEt-usQ&kZ~X7#G3Z#Le8ot=z`#JcK)BaXgfV@o*ji ziY$u5T$aajCy(RtJb@?jB<|wLJcXz7G@i~g0CAtivw048^IV?C^LYU;;sHujC$H#jAM@ujSJ?NE=?y8+aq1!JBw9pUG$O*}R3f@;Q7ipU3C(1)u{L@ixAg zFX8QcDPP8y^A5g3_99=&SMg51ny=wqyqmA(>-c)Uf%ouU-p4ocem=kl`6j-ZZ{b_{ zHol#o$9M3Zd>22T5Aof658uo8@eBBc{33oa-w!*JOZY*4DZh+g&JXb`_?7%Bel@>_ zU&{~kBm6pklwZ$}@f-M!{3d>!-^@?&TllT~Hhw$5gWt*T;&=0V_`Uo-{xkk_?&Ur{ z%t!c1em_6OAK(x2)4+TE1%H@7!XM?2@lgP-oZ(OKC;3zSY5oj&x>fO+( zL1~@KI@S*=2D>+OD*AgnRvA|HZs}Q%07YviFI1cQC{Eekv!ZvazHfcUwq+~3`&X{- z#54OkI|kMLovZsh2f8%$Dx$#ky(`x#Rg($5=^W5)?p?oWL+3KQk3JBj z2WSJ~O?|43{VRJ{b*fjOI&hW`cC1n0H=tP2+q+IfhYcP5>y&-{-93Y=hnexU7g))x(0P3yrp~9V3!VQYkHQg?_51-kb)~adj>oE z_0mN@We<|VYc~xHcCX&1pl{K4_pCxb>ApZ%?Qf2VR~S0`$S8Z2mFu(NO3ijI}* zwsiEb3R>NPDxAF1Oa>HG>B_zibOLmY-ahr}-hRq%5ZNa$L`i`QW#`(?m4gO6XLEnA z^yNX57vdANed{+3ETfL0+tA$;2%=)|NtLMMuwMu%o}fcZ;Y=y%ZF0p^?Iy`gBr2^axQ!)Q|8w1Kry@ zm#yBke!U?O9@x;ae!Z!4>&o>V8#>OtmSRo!>OsZ&&W_a>BmJG4&TZ&u|6iHbuH3i{ zMeU_TJuTatO}Z4Rw-F^uw8~^1H``>AW<8S`4j+)nB}H-x!nU?blQQ`hZ!66sZ7(Xf zTb#GO4K{^nhI@ah>flG(2f8#|9NPFEH8^-%sye_Rw>^g{M*>6pj7fqtJq4ZTn z$6dB9n#=Y;3rP~>>ycI$qbWTeC?w({Pm2uXG$-7vluWR#3q+ErAsbMbBGVF*7B&{I zlHF*NVujG~z^DV4>E_U&qO0S5q$zF|n(TwuG>3YC2KU+x_xF3X&CIrf3`N-p6hqL^ z!Le0KX(e&o55WdFujqs#&qop6x`tyLF-&lbzG1hnGTwW-rmBJdr9-X_IsF$#zCP*E z6I`Bjsp=HOX`ta{DD1}?F`smsKxWd0qQYl`uujD~3Zxj4xh77!o4QmLWTnWuAf$@z zPy|p2D^d-Pvf2%+pwj$FtBwpF#E_@shahSO#+5b5^-ATh${dPOr!7yVGqK0a;RyyUv0{A1Mxp-!04!>i!&6vA$%?xpF2gIu!i(+<5JHBdHLP2;Z~4I5$^tep*iA688c9{Aiu;-Hab_ z700bq+k{a!(+iW?bcbKEYsO;Ef@gKJV6kN3vAAKOpKW)}_fz;faL}_NXfs2r2wJT=zB|>3kToFODVA}k`muQD{D6tvDM0QNAa@FoJ0-}Ovfx*TAcr6a%eW4f zaUCKYA{-)|*0y*0iF)U}BW_0AjJO$bGva2%&4`;3H{(ikt~4hC|6z`ThT*?Ae<0Ltp+9or1s7g$+66%if))fV z2wD)dAZS5TmqaXySQ4=$VoAi3gO?n<u*bn32YVdsae9vkj|h(lZ*}(9 z`MHlhoosB|wr$(C&5do_w#|)gYh!0$zE|(BcdJg#^tq?+%}_F^}-HFWslK7SziGf3fHK)aN&n+qWT03z_Cq4*DA!I0%< z4(7H$oW+l>;YVkx+)Q6)Zs`2u3-;fbkpBlna~n^yAC3e7L`Mh!`p!E7It)Yhl0EpA%|9lBSa6!H83~fz+xR9Uu#r)_r6h1t{9PFK406^S`007J} z0Dy8^Q;SpX;AHyaEB5;1OZOk@@2OGUO^wWc;{4ygg8zrn3uWh@_P^)@rg;nJ{%faH z{)-6!Fqh$O>9JvKU}9jf2Vw*Tj%Z-?(>L)!AkpmS0SCZm0TBcKdv9iJoZa6)*+2Ma z$Y{F1e;&LbBMPgq-zPgizp*@hAW(3h8U$y^pD-^rP!UUl@fW3{fdMF>2^o?D@Z&#| zFeMe_h&Xckpr-knccW#LC$t%bFA(y4P$;W#QrPkedVmsvfOycz_Uq3tt&pnJ114bl zg~FWaistB(zB$l>d|5;m26GOFSGZ}!gdDMJ@*yRrI9hWbukeJ16F$*#OU@){7b#J$ zBI-`I?UPbZOxRH1f?+Rx9_09X5mGuyNolovrQ}AH5+Yly{$Kzbq8O?pNrD)y3~Vopj4Nh+nJR7glz6zvGYFi@p&!f;@z^8B!s z_}bgY1ipE1FZJ8A>lK%WUeBGg74N6$EY{}-s*km)sqW$E?*0d!v8F2n?#(p=B`vt6 zu8XQ%FXg%mQQoTBi*oX(a(pv8ag2{HCLI<%!!?=)UxXOF7Xqun;~bY-nGRomGTgoc zKfp?9;(y8gN#8xd0f-df4+sRf0Eq!Ee-hINXa@`f!T@G~PJk?c9Pkei;jy8s*d?be zh`0@h01`O7M##B=+LRGL>RkW^HM|^aWWpVK3~9;klo0I*L?93-0=H3zm0wUSkp)hK zA>kv$M}*959Z|@_&E4cYo53tSnNaC|Zat@bN)kV~4L-y6B`49+1b8XFyo`-$4u;UO zF?*bJ{rH9f&ss?4wgMdU+EXH6$#Ms3HJ5!ad_sqPd=flxV>YuaJ}z-VofCncWI0L) z-(t;lP9eMpE$7I>3D9_^Nt;yw&(0Uu3R?aybEZ~DiRC2MPsH~6ZFJK)}jCC&9Z z9=3srWW;Sm82}|BB&PZnhCSCq1Ae6RF(;55aD4aMKL@h;W=(`At;H3dQ4P||Z*%K@ zDymDZV>VjI-M-SQ{14^Khu&=O7)UNY%#fh*K-S#Hw^ZOe4^1tL1w5#*7rWQL!j_AO zs%{LvM)JkJ2Ce^1Edc1>KLCQq#&i#q2hOT11&=#8cf+(nJrbxyHHZU<1P$l_S|M9h zF`IO&jbtjtdZQ_A>Xn3^$yit#M{75C+#v@}&XU|#=?tK`iB&G+(bQ78UGkD@=Fdwq z%anCav0V~>4XM*-o-+hMFe>%>i>)X3pHlBAHfC`P62>h~+?$!7a51z4|Yc#=a{Kx3q0>()l?W zGcgICObc?EuzZNYt$HvhWn{(&4`u~;5C3{quz za!#jZj^kicqzWCuxwTHpuWCu@&C9!uzR9Xmn8Q{zb0FI&}kNv+^^w|;cuDN(C4Jly$lYEqQPGPuWl%=yxP3IFt;bFhPvTf9pCLeeQC?ut4y~ob zn-Mn!Qbw;4OM`VK){G}fYJz-iBqwJuGwCOAD>KcdZOykdpg!9%6Pi%s1l7Ji+!r%k zCUNmJQ)>b(B*ejp&SnpRmHBE4maU%E*pS1^$wWyp4(z*iXtM^}ScObI9g9i0MaVih zMBB}!yV=>yr66#k}&!1DX9-(@i3-jL^IllIFzi z_%}LQ+wv|PFqp=9TH05AmV+X#c%iJx8+9|icd-Aj3b-TG4%h7BGUw>xj}p{;bC#cT6=DLUuvp=h zb~3I*`d%-3)bn`adyWSnI;NH``31ABgt!XFde`#VCC!r8r>{)o7~PqEGvyiZjq!|* zrxst8C%5KEl++isl@;jU^HS#bmFOarE;@B8bzXot*iumXlhD@Hj^{~DC{O&^=MS{z zFgAq-Do}!dL{*xX+mpusqZxO+a=4xv#RDha+YDlM-$MBoCe`t}2CLT*NWTqyz4Na? z{t#>WFS4lP>HYbYOFOt^rG2_du^jRr)3jWnrs%vRY|e2Bj^(@eMCW@5KL5G&xY-YO zgB=V~dR@Tovp_!S*xm#%FI_6@G`H_)bL#gEXE8f}jsBZx50s%ARc@JRs%Ev?)M@nX zD^d(NlJshXva!s1&{8*yqEMWI2(}c6)&!OTH#8OAkYFmW!;v(QKv*tn^^=o-Wph;A zhZEC|OlodYTL)i?VaD{5ideze2$Q-`6}6~Ru_%vIMp#nlw6?AxCh>F5pEH=#MOi9T zDPi%mB?{BpQsqh(S8r@XMXg}vYHrPqFT`wds*>xMQUKR)A{QwifgI3Wk0_yXhzM~* znB<3)Kd;BHGijv-Hy%intEy6MTX|9`_+{}pwL*jPDiV7l;`h{y}t*jFRf4uWF$oI-bAp+_IMxYkbWA&q^wVy>Tf zkXGFG})MmP{ZNxkAYwQl;=>j?s5j#alZ0QrY|m#ODe7 zBwA)Y67#TX+*pz`4O~o6u5{8^F}ZIvOb|6X&X92f$VN=y_-R#1Z&y2^$EO02tSsb{ zfKuVq8zB3D)m{}pW<&((4pd^HN*d%Ep{F;Xx6%xH-|u?_ww{ruEhzLi(iRRmXbwsz zDm`s1M00fWXpCC1%Vv5Cs6a+5>){QCBn%A{96sJAejda~OG~s(PD6hmF)<9P-dQ>{ zYT_zNXyik5N^=1i_et}p@NxvkG*&nXBMMt;F9@fh-3HeyJvjO>Ucjyf{Bj3eL%kp! zn4%RJRsWBbh+6flDL z5nrcT7BvO4yTCthYA1SqC*&h*Y0dzVaLxL(M`QzK`oGOQKHS%&_AGg22a&w1r%qii zUevJM$97Fvl&OS-HXTU7)p95i5;V2P7n692xxR%Dovi^i#{c$f%Jjc)rpnszcXkb7 zn(;0?4%U_HDEO6oYd)`1lx-X@_E0|?M&^`K@oTGo#um_g7RVu}vOfG9jsi zS+KlxjIT)U(V=k+i~^h<07ysgs(Rp<8E#TDjz%ZTnw~e1WF@eZ9Sftq zc`eZ*y`kK=9Bo1GqCBr( z!sGSeo6jN@EOEiBYI;-F!_QZ^SP(bkZ$YT8!ZdC8%&D$bV#U)3K0vRs5T0;Sh6x=& z&S$Z41pkAiBD}f5jhH0-TO?yi>Q!z<$^k5J^P~`+Vo3PL#rr8lNd z&9;mG7==dvC?`C&G;0yOs$-&~igWqUI0t>Boj$X3>xxyBfDzx)X4AzuZ=$gE+SV|K ze`t)qlDDfUD_; z7oyU{CDb6Jrb=TmLki$79uGF<=o59#H$$rD$u_wXM>rXJ%x&gr3M9D z)J(LcZjMZSMOVlv@#IU(OBq&>3!tI6t=J8rO|APK+K{uU3@33$4Cn~A8v7Y4fYSi~ z1R;%OuXe%d5I*CSQV23Mh9U+AHDO_tVU*39Mi}nwkSD58cTG?c3D%8i!QH}F zKiK^x&*ui_aI|Dl#MI_$wO(OB3}aDX_fooiy9fTRu*x|< z3k08#j|$QWz_n-OyC(kX_3;11t*;TKEs`1gz`(4Puw%?fvCsHo<}wIB+Nt$o&2NP2k*;H`SMk3{4bi^u$yQKtyVD1HDJSI&? zkbO4&tKvK`kh9@|rh3Y)Hw9D-GLH}_N8&Eu(2P(+kLY8Ze4{-@rnUYcIg+mvM(b% zwGbC?nX}-KRg(sKrJ`@qsgmA(HPHd#CJnrRN7u1uG+r+rdgBZdW4w7!WGL_wN4}UR zUM5HWgb>ldH+e&rzj-SPg3c?`k~iC9tOahNd~>;VHCWWCKkJ`1!DdA8w_5i7@%QO^ zHVa78;bhM2Ayr-Iy_Tf&(xz7uhTU-Q&+t0Di$W8iRb|;tQ^0(_)=g^Y8ON?Ra~S} zVZ@E(pq{x})QxsZE4X(eUb&)SPk;W;3S^2Go0#c>R7uL=jV~!d)QN2Wg5b>GOMS-= z<>8!KS>nr8Pe`X}tv3h1Eb8e21&*6)^UQDn3RK$DMq6E}e zcZejqGrwk~n?fdYjKst<j(uN1o`nY6RI;sXt7t5j8tLmK! z`k-V`C|F29z4DY#qYQlBL4% zC||EmhrRp!N+RdNN#pjBcOJyx8w0v@LPolAP00s)8BKcizh<(1mZ{yR2C5(6SR2yN z-V=!X<5e)ib;z{>eq2n`qglcQC!zkh_=;LUWtz8JxaJ4rm(X*W^co086rr?OO&&w( zs^Ji}(7#~kq_K-4ADU@#V#Y@xKsr}WOS#Y{PxWH5A%bje2oW_ntWiAp92EEHi`R@) znxiMPeFtl&vEZUxX*SweHuAj#h$@nWc`XEi;($%aRkvp6=~~sKG)b;!hz9h?Vgfp$ zYZRE$FMwURN`S(4baCR-L3uNtj3I8UP(t8K_EHWSRu&OdO#cLX z%U0ht7p%M79+v4@#)tmu7nY}QKtQ8`Kg%H_MIc{D=G}^O9kMQDUY^1RD zb9h||_;w{yTxbN~P(lb9UcJ^6dfz*B^=zd`D8UKYrvP)?%!{_PQKdMZX_8?^1*`#M zX0|X3LKll(0N^=NA2R23_RQo&b`u_9QRfd?Ri9VQaO5!cKNJG6`D5x z4JttY^!u>Qiib^2%6)*;oqIZgHcg&@$1i&Fwzp)t-3lE!4eEMuGrLb4?FyRAd?Co} zsIaoovkJse1V$WZZm}|DiWy_AP}Nki;G4!sv!YyMr!-JXnUzAg(-4+jy~To%A(OZA z3lU6gse~vqtp#7ipB6d>zjq1t(6BanW=6vjJwOm@aGu5602>qTZKFINJ^_kBC0OHB zI7oAk$z}H2BLH*U(Fk%0b-q~O_|y`8(pjGb{J5`|W0gQZU+ctv4$teNLYRUatDxi8U7&kimd>4;7PPCJ3k)l_j|F)!KHJpR(?Z(*y_D{ii)&n$Yoe4Hrzt=o57=k31Be0KnB~{ zKz-lyziGGeO1|!T9Ww_hncBVorvG}o^S2wydFt-=!$q+QnfsG8fceUz`!>MCIUu1h|tVrP6fQ8w>gPfp8C?PM?2N_rf} zf(XxR0pY+UKtAK3;(8E=N_RlVaZgHop{vBCp5W@B5-CLzdPDkmiy=i=DiHs5 z*`(x1lsuk9e^MZ)4sWtUszOz&B>s_U90Uw3h@jE~Imn3Z`e+Ztb=HNA7PQGQFc@Yb z%=&c(9V5y{(NG~Wgy2(r&p#p6T7AiXE!FsMy8}iCiuMe%XgTE|d(}>X3Qm8^gF;=w zYLsXIqyDKa_E;g<%J}FVCTQ-dwG1bSu~I#pC9K)b{vFt_yV_hovIDtQ9a4Z1fDX>| z&6HQ4NuUC1G?G4}B8Glb#Q>xjXc}InUEQP&+F+Sgv92bF4omRoMG zM7~lH9WVg{`n|E`A}Y5?RBna(UcjP}0P*$*F+!vwfi`Q{XCDMfZ!~*Zu{!X-4FQ_C!quDgBE3e)Rs? zvqD1-mA&_t0H>$DwYGTMtWOhBGjBHBU2;MZjQAD zJFDPr{kQf0w5EzHtbx-m)Q`U0&aBQs9VwI;@fhn$2@r|*$7r7V$k*cRB#O7oU`NL$ zjV?(SE8IMfmsRsMt5kLS$1Tn!l+SRUPH`E!O>Rz6UJonMXA4uwbOZppVR)U0Zg~pN z%>9piUAu`XcF23LN|ulo!O7TqmyGzo?cIPh7du|C@>~r?|MJz23ZHmlU&gd9HJE6G zg@t#;KjO#WzIN*!lHvizrZaLmT~qy*nzLh^+$3nDB=O2V)-)~@HUL8308#(cjt z*VxHg+mm-iR`falC8U;;C7q(*5P$Q5od0P`WWG`IqwO_c{tS%${mygL$6`j!ZELy0 zQBcnS5}E*G)mtv90Y}?OCLS%xMU!z5RvJ&|#A703L2Fp^QfvZ=0|#F>fD1R8sVg#u z^;>>=*X2PAXScC-X6kDkt@Z8x@PQr84R@zG^Q)+ngh`!V)$|L&GVP;A%RsaIt>)Ke zny^QwDk(Q>GZtm$;5)8MCo6s%GiEf{$VqN}qn;*#jsqSavx6^~`eB8d zQ`n4k9}pY?n4!g=eOlHuTvm!@{DT5)CKA5@rcP~sdwr9lc%^s`)BEo>=2d1@X-V!U zH^@qdvwY$bI;{Qo`+2dnR3-9CaV)Dk>XE_z+Yb;yf)=`FsLDt>Xr(6`Y3nQu>sUb- zmWGY{H!g>Z(N1v1xQb5RdJ0;gw3nrVCd)g4RMSR?;YUr>wOKR--VvtgUij7CzgZZ1 zuW*2)dF7XvTK!$`f6Cz}1)r!NbJ4SKF#e&odgX7dgnBW|+UeBkPBD{ZmY%wzdSl9g zwOiPlp<9R*$yp_aN8A8vG9Ya2q!MX|hzYJMH3t{C3w~o2yrhOSQKImR3`xP01)F4? zg(DFr2?bdTh-R@}r=S(H9A=VGVQgQsil*j)%O3|FO*5w!XP0mN!^?P@lto zH1~sKO@n{0*EwGW++UihXKh;`8jE!e8JH3**Td{8Ifmb-XvSl|Fv>F>*FcWov$6=A zQQg-T>y#7PuZepOL1kOv1NOg*ZTN`g)sK8CZE{PU_-3j0pv&I=u=Q8PMRlX&Kv0)d z0s2Z8vPiZe9CWFDb`}?z8Z0mALf+ZBa6v#fThQpTxc8g{1EALp={JL|DZ@A^dsbi* zXb7Y&5qXoA<8a2#a|J9R} zf%g^|K>j&{p!XGNz4GotcO6{OC)b91PqyWCdlq?pS&Q?SLocgy4jDhg9_I=N1{O>C zVKu6-SYs8xbCTh2KDo_7)<4WREVz2S03)f>-JhvuKP1e`=n?fy;rbx(WKZ+h#ni z09%?tMoBO327>lRf#T~`X?K67?SMbm`;pu3msd$haGr*5FJk8Ld05 z^^#Sr4UK8k#;}P)|NYURd@Ih2zEj0at>yWoBYf)#wKM#vIl+V8NpK9V{Hz#vXPp27 zv2zJ7`(by)F8I~S-%QkLl+O3`--DbDMdE+)#{U&`ipr@@R>XR+vRYix*vl9?9&)8C zQ1-e2YV*pIZ$dPi69CE0)&`lyA&G`)J_PlBYe!f+{&=$`D1%oCMP+tHt-#JY0*eGp zF`U^5sT)tL8^-a}xccPb^0 z%WKysFG#^xMcX}9T$@A|5k6yLJ2mXCnf+nN6pj`kBQLbFvekscM+*#F82y{_4rxWq z(VzU(+NoM74M?zSR#5-Rh)ji+Cg;@zoew~%>4*9FYC)98%XzB+~TDX;>i)RO|-Z8!bh(fwCs9QpJw$5mKhXp$$S1{#@lD!W*y* zUtq(hI$e}|zh>G0n>!D*yIqI^6EB9GiN$xum0dN3j#VVWVyo6vBR<7Jg%Z6vp&F#( zLYr_9GAp6+m0bv1F>vOHK@AFxebzv1&_O6hU+9H8e-^4g+h%^>DW4vFPX~>2CBZkO zgY(R87`94s9=>g-;aDO(0Wq~Y0@I6FyqRMuvlOA_UtHO^;iDCF2T{{V=`jmzS&Qbh za7WN+mj-vAhV~G8s)a;8kS1F#F*@FqRkOCUyt&iv=h5rr_+Z}a)(8L8`4{-t@aqa+ zO-IRu&x7EK_czR!Tx}ioNlbI7CfgRe<7nqQ$Ej2btA79~8*+se4iM*pJg;77k_A2x zI-9a!sGur^e;eQ7)EsGDoS1vJ;BPH6Mhy}1-=}AaMc@hj4GO<8h~~Ow6Fj^8DtMK= zU);WscSm1zyCwRf<{7<$*tA{b_M%$KRojREB!!at9-*Mor-!(ke)+(x}biIojd#)iItJPIu{nrh9(J@4eysmU*Vza{aUZm10 zn&zQ=b{O(^Bl!*jX)~{y;hkMfq<^`i26vU z*GJLad<6{}kRfCSrLOGd@@!N02y{4G$J|y88u~$*rZwY|neetM_%8*e?}t7Z41W+E zTuN6rx?t%hbJBJNJfq4R!u#5ynAE|MsBIvQazxGULG)dGx+6nayZ$U+55x{p7Tx-4 zSPZ357!U=d^v1kWL`af_!L5A!Cln!CL53w2FjeKHZU<&=_Xn6GkZ1HJQuL;D?W@TJ z3_Cpv0bM{{x5I<;5tJgeOLpERV)L)J{s)D!i~Ng*7UU#@TJ0Dsc@o8y8ZRmm93C`< zH+%`jBxcjkE|R_b&WjyrOyreN9WM&{E-+5mD{UdvtENB&4z1(oUvKUQeF9rzzZg_$ zrxGbtG2x*f*#R!1O6i7JOwP3)J}0kt83AFPu-WuWxDYI;qo?L47Tl&GM^ceGt4p^EX}zv z7Ef`{Rp4D02@_E81cy9v3bM)637H?9C)W@5b?dI*jngFOS}*q7|0?r(uRkR8RzGU7 zy!#|fJAj#b`Nc7aT09G4v@&(nqn&!mC4Qr!EzYeP>9btmIt{@Jfuu|DMsj)>%d_TU z(e9pc!qV@=B`DGykt(f6gbrVKi`+}vM(LCV(g~oo?N>xXdMqP(&c0XSn{Hn{>Lsq=- z5s%t1edvzE|FnltYXcXmRrfg%oX52Dc2qUrY|ZT@ClY`U>TH+mej1cRqES-T`42eV z9l&~RESByVzpg6V7;cs5O?4)rj~4>h96lR$b)?82rS4Up*7N&4Bb994Cj2L zhOO*9IkgKyyaIOxMSW2nQfR;i%FUIWY5lukq2+K*#+beadup|2kHuvqEcYc=@lv2s zu)J1ztK7iE_+snad0;x>Q7oO6rFlV2uRVi0=6RiCcFVe@OZUOW$eE!b7EJpyH0w05 zx3ZewDd!s$JdCCFrHUPK!Hz^uWhq!U82i<{0W$ZGJtS?Pt}4Iu^5`3bS_3|<(AuhB^7;Pmp1-0o zSsK8PcCJ9tn}P+9Y$vGD7=hN@mFlC>@@vmT360>v6j|LndV_cll$6 z=`bU&8KjSIy1OMQY`a0{XRZAk>>Xxa!MQ@oba zP8BmTfeI(=ZaP1-X$4h`c0AbJgt+#_$+>ciRU+*Zzx_fc1){6G%C8UUi-e)GV2KrS z9`))RHnbF|ry3FkT3KjT+1x7qb17Zrp}LevLC|2tNF-P%F}NOM&CD4zuMjPeDFu#dS3gZBB#D3OfgJl`R`3N z_k2-F$}iB-T@}2+^2buf#$D7NJx9a-@&Yt4)nfg%b&~*Uv)hiKRhq_KmP~XvHPfDv zZmyh1_pY;BvGZHEy3ejDf4}243!k*;?uEgAusSw}eeT@KjhakG@b8+PgXD<5a@Hlk z)%+1+_~{Y<$iY3g>zoa5Mq*gEwkTSq`I>9Tt~uXTyzG@(PrTGnHEB=;_|iZE!S9tZ zg|S&vqKWx=YT)=^z2Dd=iS-A! z?0l7X7?pEN6%Mt71KR+285}Tuy#TC1^Z=;8q7jEkL?&Y8>Y;doYQlnC{By=f>;M|Ei#&ArjA)}pyzVL#% ztW%IS523zea@-S(*-&~wRV|Q`M{J)m1-&P*`hs?6kbYkVW&(MhQWFG{#(Nm?Q!Uc| z#N2Ky)@MU8!vSzs6$`RE7EaYI^=Or;T}>L={ir7KI#gByC{Q6$s7l~ zTia(#?Mr_wiG+A9^KO~fiXAtbo@cqkESKYok3ky)bEM0~7Q$i25nhr=#^IMZjEl{X z2V|Y0)#%ez_K@75YIh$<(?{;0QyA?JX2NiF9@lKHSf|FRr>|=T3rfeLAe1AuJ}Ej^ z6oomq)RGpV2lS>r#SnD#qZd>Y*M5c`o`@kHEzJg}L-dTw(O=pP%E9kfi| ze51y7(ZNDkTQ^Y4N3PY5n1|<5u706*n&~4OFOO9l*Ov5PmycIftZ-Ew9C&S1;c|7S zIWL{lor0Cpj2)^B@x=)fID@hR$f6?-wCesAE)-0}&3}ujsW+g4LE&}e*Ku)eEh_*F zh9A{rMDyh)Wc2Msg7tpw$G6k8tTAbP_RRR!?M&k|4JeeFGwm>Y;lagS!h#Ed*v^dQ z?%r+oz*!Qc0!4KFG49hc*E_s32~rw7=I-DMq8%|@xVe&*bJ6`?B7F$-a*HTwu*91d zNTFIUpXFCfaHiSWf}Kk*v5UmF>KF~SI^i_yi^L+)B@U~ywi@3px4WfmG$QDw7P7&TN=yD!Nqz9f2p z1tE*TW5C2~cz@7_0X;QKkH7aC+tyj*HCv6i*@uh2jWI~v0E)k0`q!e5f@h72A~j+h z11Lbe8~p490+NYf72vuR+58xefl%3#%{JnFHskPHqIk5o7vYry0cEgP%YraaI+hB0 zv9}U?DWGyWF29PuHbSdO^w2`>VNZ zlcn%9FU6kvpH9aK^mE&-|ILIm1b#Z_v%0)aYw%|fEFwP{AP9U{#V?A~?I9`8C*bS1 zuKYB=|41Bpuk+RVM|?PScSb0m3=`1k)c7ok0%H)Af{;Y}boyFk0i*5`Tk&AK-KB!3 zcr$@SD8&aM7oUt&;ytk&U6YlnS%E-dB1>fN91MAp4H1g5y!4+C7f3A`v*>ln85n|-~H4-k!`w5|pIZNp2gxwG` z^jD&>I5Si+T6mgS<`;h*s;oSrgF0;l%nL*M;^fEN(~}vzmk}_yc_|y#(e&-_p0J*D z^@7|ff$jFY0DM@8c@*eS;H<$Az0zoyu9TrmG~lWT9v&G`D(@(kRLavbNKj)YN?&(0 zxTJ1$Fd%5EevriB8HLdEBwUj8x&3#MOUE6Y>5EyEx&2OiBIdrMSR+dcax!@}j(=hl z#Z-cZWbEt6%mw5n$t20W%JKBLp*89p3#E%hTX2uA2Ab!~I|ueWs?ZU46=(W>&VX#5 zldkl0QUp8<3{DEgj<3Fd`@DvI5gXR1)!&)*tdDL>n)SL8yaAkco1yUI$=TbUbiJHT z1ngqzY??Vii!d;0`G;8Uz3epZ%1O2)X*@>GaH@t1Z-$U?K+U~URK)7$1Hkld7~wbqVd8Cx&LK5o<4^HqPfF(;(O19Ds&X5%hW`Ooel7sTk(s2spfQk5VI2^aiJ0$} z+(5-frm1Kwt4W2f*gB~oRjMq-Q#f_UOSnuf=2bH zQ;yS~uDEBlwc%A(=$oD&u8llg{K>a)KQ|a| zUU2Cee{vA0x>@ySUnFtVIQ2CSJNQ;Na)4abkCoiaXuSTy)qbqsPsu@}&jc-U+obV( z&5G#`ekyy!E+)PiqzmMzoju{i?sSe;qT0w3|&|IE}Quij>0LV*_~D-F`UsX5)L=5_?rD ziP$J^XkxcL_iw%ayv@|s%KVt9a(0%&I6d3_v#ZvUai+R^Ig>8hh+)VZ$WQ% zPLli2iO=udIzz}Z3f7~XkgE)CGn3R3Qgb#-v;Qq6>3&uTvImG8YVM|77QyB zq}qtdmPEj((uCp1Sj;CN&$S^i3g2hpW6hJtt2D=W`(DTbzvm8-+az`Sc1#UpsX zSlEhgIz||kVHBr0iHrsJ5Et^i7B`>e^W1n2$&z=Ad)4N~1-9Pfm{z`aY`t>i5qQiK zhuUkJ{Qd7O*~8kycsHP2(^$%U_rX1{oztkzaa3ao6=iF5`z1I2`G&vB=j$w?*sYL3 z)xq-%yJ}X54T$sU3dx?I!nC+b&!exYbu1A5I*6@bmt9$okY=V5i!Z5|Q_#yRM_N)j z)r6t)*GXK9RW^L5+UORPY>_gup%=Tny!{Q{;rMJg{#u6eoSOAgQ-;?WGJDVY4s~1X z?^~(cj;#3SYx0}-t8c9tmjp3@IX$ zZD352!>Yy(Is9-I%4xPX@GaJ8IfB2wXYf_Qw;Hox!zAP*D$E{iNsE@M${zZzn67c* z;|LnmZv(>cW5QB4`~1mk!s0vP_~dnoW4kYpbK#6SVxGpYr|A{b?iWnqbEh7+G@G4d zpUwwL-%qFeto!;Dbx5mot7?89o0D~N_}x#^m;w(a+6cKkLALbVU~Myhcruv1VmuK* zOmV?^`cRo&Vhr-csh8ToN&Rh0s!L92Xj#AYQxptu~@(7T2ad+k!2ks2l^RGl%7!;DGqbXJG&w zq1S9}XkAKwNIHVUbU_(Y%aIjF=Tzw7&{5W~(?~5}lI~?}GdO3iPT3XTl67O2{GIOa z?~h|~K3SG5w<~>c!9UD*R2?@fFFsx_x2N~;;x^mLlM_e>j6T^=a+jZ_%*ul}lptAY8Qa6~jIKxH3MlHlu*H595<+p20e-&NrH?(b_MYiNt$HjXJ7y4GbDU+Ht0aCl;x zUelgr01j!C$)@FcwF*^cQH{H)(tLjvZeDuAq#IgcZr&`UXusmXmUB-(DWql{*jhdF zdhdhsMjq{%mtX=Vz6G9ZPo>qIm!3i8VtP`VtBZ+Iv&c25Io{p)*L8r))+Fmhe}$N| z&@%|=xuyMD(TuezHzP!|KK5jaXByXdXXukT*hartiB1Mj#8iPs6MxeMa#{3F%5x@_ zSYtJVrmpMAt2$WJ)#t+z`yiJ_UdPS2Gt&gcxwM%2p02ZNP}P#fGP0f|FaNnlq6GC; zYX5|tloqZpRot`E#`ZRBL#U(~{9y}qiNTiIA&;kXCw0XxV536Ha?0)VM4D~Oqu`hR z)FLRpHht(uaLS*A!&h17Np(Co2Hw*J9EM2g5|_pSDlK(IFdS!Y_EM>7HU5Rnl!7P| zqaoIN_)Q@5HuGwR*6?zDmcZMNUu2gE6y}!%W{gC$ER_9&dLO81*s1gMND)J)8`7l!XYMgUAkByVcz}ri?U^@oT6en=77m{@)xN9X9 zPH|x#r?oO;TC&FP585&BE9^wHD7O z=s3*%IW>4S{oMBy{>@ISSkW*ufK+Q-&RZBAovqDkx9X(AS5Dl`W4O#h4qHsHa=$?8 zd{5k@bvhqj`+W?aQ0o_$n7$wmp4Z$c7_|?ifuwRmop`LrTw>MkHh?!d;R4l;oQYVA zq%4a=nh^vp`mUy}7zWMAr%Hd}De zGB%j0?H<~^G_(0$k+yog)bV@o$tM#~_!ocf$;0Mp+p^ZvaWDME#xXaA({%SY;_(Ap zpk1ImpsL5NQ4(AlNV8QLZ?G+QS{@rV z4ABD%s{Gh4+*_S25o-s}GeEUjJMOa4u~;2*A)hFaM#hVj4okc^XHPayaXenPFE>yB zP~BcNxr?dsx->5(NfSF1dV=NsM}1sH-y<@*1{W=hV_$UtA~#y$t%p*+p;u+L8bo`pNne`oa+3XXS z2Q?SAPvIqH2_sNHX0Y>)sPwAh1_?;Si?=kiNRp>aV2cMt)sz}fmU=s8<|3ejpxH>Oj+}iPz>UdhKdfLEcZ37m4Rmx*%Lv>V6YOO}_QDXV%p=4T%0uJtf08~J$zay_@ z^-yJ*yk2<8$b>Te=%gjL+vOfr`=kQTsk#uUnll{L1UE#6X#}4-`mLOg_{ox-mTG#~ zAZmhaq#zE7q+pZ0b8LY(&gd}*nW0IqVdr3^iabp?nL%bR z1Kfr@kj9|cz7)0i&MuoNXG)=>aaSjTUP~ph`u2Dj1efE&p_=n`r235tIlkG}q|p;i$twk#&;N?( zwI1$i8id4nC0CR!{f(FGRC9@B>6hmDjAXI5xuSaXm+?foQ+mJ0#P?uY0IxN@M#JUK z(}vZ*B{{zw$bZ=>|K&`gy|y9qoxd^B>%F^4VfVf4%G6Yt zuG8TLK^VWJnA72Mqx1wqFMPdlGe-kg<}rwcdGgPW|Br_b^peqz{#9$5SFIi1z2i3R zT|eFI-<8Z>y}|FYc%6sWoOs+jvv|`B|IeQFH-F@X?RH~#q1hPUC|SmC+u;}WC-$ZK zZyYAg?Bq$SK{I*@*|{{|YXmba0?jq2F$0yAW*hU`-pIH_b?brnJ`vwD)!9 zD&{cr0`p7e-rnw8>g;>b@D9M&pf5^%iVu8sXh$XiAFeCM<_OXc5vH%}76Mn6f$?j&!?D zbBiV|SU&hcvpuajRjsy88Q4>rwB7u{ciWzZEKMDpQjcu(OD2(c!tFh)n~Y{d>rMKd zcI%OZ$7cGl$$5p|@V*wKiJx-ygxsvqRBviBnf0wV>vxLgBgrLAt(#n3l7|T2rBiPH z%MbB3zx#$}4aY_TS2|gCeLK63(=^}U_S<;4*3yjE*6)EU&OPh#LUW5v!~b{gn!gMu zKW>-!H`PMT#!ThxD6<*!b8SLODpkq@_-#_>_m*0Kpq@uVIc_(K_7Odh|FRUH!ug#L zN4k3O+v}ph7l+B7tMi0Pr5qksW%C)qw=~Qw=w~g z%7CmsqRAx)dgMiL6W~mYrnS%mKi{gunSnV)W4dtQD`YLXgRK3^SCl{hi_3Q2{!Apr zHHj=C9INGYL>uA#PSfp=um=ZPpC$1V@4e4`*He$&ZgTqhh?eLu)f+T*m{XBwZr^#C z^6wn;;IAHd;8)7O{^|k#^0-mYTR6Q=r_pohQSFSzJ>!43a9*=>`|j88+c>%Y%x$-P zZ`>1)Iwc)}CK{bi&slk*H^wjLYkC174LwXhbCe{R@@j-=yrM?%fIyQ@$wzUum3Jg@ z<=um71A@CXF|}=B`s%y)?4pr+dU|F&1nCuHJf^IU14<_&r89GuKHnapCRypNxq-nUomEW_zy#-K9P!58zAsmZ)| zdS5j!(2_H{L3dw@=36W6%EO3jZJph#RKu9;%$LIJ;M!Ea zp2=+Ut@n0BSDik2GOy|2@~Mw<#`!x4LJe;rtlQ_KK!ob)ir(@s!-&#lzLHCU04 zC*?fN|9VZ5hUMKrdE86|&BUmLJ`PQ&ni)91@JK86wGph%9Y@-1(AiKU~|LFFAJ#bf@N$ ze*&0_w(fNsvCUSYlvs_1D|@MVJA5A(W^L~5{szl7T3vAo);k-p3Gkt|=F*r}+=r^l zXaHJ?xB)a~k7M0*iOU94b;OE61Bzy7#Ib5AUIknyieJ6%_(Ok6hB(RC`}9G%CmgB#e4o<+v869 zqm}^6AZo?Cx<3AZcH;q;bM?kZaN>$}`>F{nM3^%V$1tvD|t=>y7*}w`0n_gFw5&o1bXwNeC+OFSe zVfp^ztt;#&e(oC=>>pm+Cq2((8T8_gr!i};C54I3kjSY!KVeQozJe|crLZ5pw=E8* zD$~EkPU<-aYX7pC1V9Nay< zy7MA?udn{hpD%ouO@8GwTW{Zx;L{sd`&=&H>WyhWvElY=TxI~)%{a)I>zJ}sjh7us z%H5Un2;EX`WWd;2?xqHV?o=&amWrJ;QWhmmrqqqL)@$X1t?U5vjRU@>E!T2@v7KIARBmmr`pfhQzbs%CE(cuc6)B>Woa2BHi3tmaho&e%>!0EN@ z8CwAPn$_r=4D|d3;-173;Vfd_aCO`$TpqhuULk;0Jsws8-K1__^MMn&wuNSZLOL-mgh^UZnR2I)7O1mIIvaL1O631*eVz=C zlXWLHSbzCTa?LOGwxO;QzkK4B`!}$^O(>IV+et~dIy6_E*H*)5+4OH1vms#z=wO1Bulo=beiVbrbIKUM}XBK-rk)ULdqW$*IIyY!xR72jAnVn2 zavdy++!C#-g9Iv8AQ#*nNKOa^hjO-NbdH!JAeGq*C)P(Dsc3_G`k#LyfrK!55s zf+91>j4>OS_hVK@)Wrl+xDoUEy8q_bqW|UuMUtV4JjCO^Sg@v){WJxm-)e*fWgO;L zithQ7(!zP?Dzu%eoHNkhNx-4h5P&K-n$MTk!Rk};tVSv_hH46T|LE$5T`jXq6yy$- zjRdaLm0omwqNX{OHIQIg$~jza;1$RS874tTf1CuM^Jq8^#QV2BT)CkmEBS|4PoA_} z=K;x1POcvIOWBSaDi3cfzWne6(2Tx^Uw)I}W{UBC)dt=lFRp*=#Aa<@duU_2Z(`S4 zbt{dvyC(Y58$<1V+RY~(TfgZu{!e~SdD#D%P1E1Q99mTxeFe<6>zL!rEzF$&*@u~z z7!*9rX?bHszB4J`mzHmIQFStyZ{H}eg+BZkLeTQPwmEXLQ&)(?oif(Q%?Aw)( z8=XC4tK8zC!{Ow0X1(6kX);+x##f^&kjr%z)?^!JGI3giDWWqO_3%mBjYfmfXg8S6 z27}qsXRz^{#@5RVyfCccd6sQdks6%BzwPVRdHOcrbLp*@?z+Jk_jtVCra-sxhFwr` z_m)17F0$HW>TD0hHJs6E)oM-sZnu=Q5RFEWUY4v)o)~+))Y4xV2RbH*$ zV%9s1<|YGt+FcrLlUYZaSW6SD^fWXUX?1f?%)F4J4y|U@ zmoz@*Y=`MCHsxV~CTKu!YozSaF5E!Ur$+0UdvITL)l<)m+abo=^YvXp z>1MKhxyB6P~2x~f6w<4fxSf~{5A ze=92SOLk8xRk}u%)4smvH*>0-HpR;mb0s%O{w;HwS&zF#?ELay-u;>vt~Sj!<0&+m zot&Bgp$$$Ogf^%{q3!c66K+qln#P}sZE#*crDEHrKEeJ4o3SG@xN6%jI@>P??)D3I zraPT)T~ECS&4Rp5_0?dj!Io-44aLhgJ@fTbL%$plryN@+Osqy@WO@5T^B=kWuk%0c_v~xlaKP1E zY<78EP|p7(|I)R0{lm@HCbP+4GHHzBCdbhK9_+k!b^imartj<}rDOl_%I8-N4sYr) z9oX*P={5<1$)$^bY~VTN&(G(&{QhGbJeRxU&vwLT+TA<4{I0f0_xFk8fvyKzT7BJK z_byk|PK-TnkE^eD!@vAnLyW>^DrfakUQ`t^(Nb;2Y~(Daac$+)ZK<%xs+(m~op3m$ z%Bc)4HJWsPs(D9?Rc{YBNdX)8|5EoJ;BB4f+3q5M zTy4_&@7E-aCBpyvJnsPrQk3JQ{jUG|Z3;N!JqPE!^O^TuXG)Kxb!rEh_{#l!qp4PF z?TPi0L4!vDa(Q;|G z*ji_@_s4py+FDa1fB#n|h(oQT_cqlDW?xVru&Pb9yWFv!xZ0|(7XqDIh@71~sGV-e z#F;!Jm3@+}DDb)rmsyy}YF&xg!HCAW>LsKy1eh@40L zHYKV(naE0SrX(5FR=%I4pHp>OTii{S^y3aEFKkFAC9hLw?d`FsZ3d@s=;0J^RH<9K zT6A_nsPWXgbo$O@$LI?EYSz-^Zn1W%o-6%DKW|kVC26!H*{PQ_5pSJf*R2~?tBic= z;X{JcU{f1gnj&VM(<`akJGy+L)A2a7YqU|>dOPwLb19fW=!3Jb0pfIFh_X|3DKu1N z_bnZ3yorbbUt1vZX71P@Hu$}f){~EqP7P1B-9q+#P4n8lADq2~N_zpu#Usr^~$hkW)sEOqBQ=S$a4N;THM{rx4V zs|0I}G)W$T{s3^$Q=|!>P5it!dL`P1J&pxPlbii!?KSJ z42%)-IvMq1UIbO%hLDrXAv;LKxD5URO8bi7U!X8y{2M_J6-$7JvCPZJ2pK;Q3?82^ z1B3v%N12=vr|+t`61NgpvU54AqzSEhRHkc*LFj;|68YX%o`yWYZcr6G0uy~LxY7Y? zC+`Y@IMTt06*ZE*C|-o0CE0TK@Bo%3X>)Z z=7wHyi-oMY7TQ$(MDgZ>r?rpJiN?_L)6cc4%s8k zlcwvgKV#%=*19w9Cf-^4v!A;CcB@AqD)NtC__H^Ryxr=3*wai5h0>2pcl@0@z^>&# zf2PhV8_!&SUFk>jUc1BZ{wW!A@=d(_u-9rezVT;YDEUio*V^p?_ur9wNL|55n#;J0 zjGMVxk@8NTIL5UNBVN zSNJI|#S*<*lt}r@O|%N-(AN%U`vyZj`OW9MSF;6F>g6SYx{IAEp|S z_eY1L(c$ml=RC={WBh^S@NjbJ*_gXj;df<}^7G`MjIwOJ@EVj={*?9o9<-Nta0zah zBVaIZd4tw-p#@{hT3~8$v)Yu4IbAGgDuRPB?`~lMkX`aiYP;n0MHS;Y+ADl$;$ntA z`j2Zi(Z$Y0s32(~AU1XbqD8YvWKKFTOwN%7QcO&McX%REy1aC%cUTPCRo1R(u+k`ABe#$eKrHoI&aya~SMoH0?uh4*ao^d5DJB4Cm6wRA@2J9o0m!f(M z%qi4k4rD#Yuz9=C;aPBZVO*X=8(A>AyEI^*$Z3H487dD1BCA3b3mT?3Nyn&BUQn5% zF)%l{yXZlEEgF)6-=vM6&xccVP2;Q%z|G0&<-E#_*?!$tkpDnnK<5ON0WDS+bTWt{ zO=4tEkWX5CvYp3VzXa+sjbHro;tQId=^o7si(mdCt+ouEkxQAx#4D2Zxlb)+KSh#9 zHd!ovJABzslJ67Mr@m~r+F-)AS?yo`RO#(f=#z;Fn4~8XFOg!2&{`~&;-znFI^x^W zXMuHyr#fayx`W%qakd~Ja-_Q1X9H5Qz^BW}J^`JBeX3RL6JR>jh*M~&i?}VG{m&=s-v&#O^quiScUtOeFh+_U5opf+&nk?pyq61V|(znuVEDp&0pWh{!r1dQqnHQ`~}cbKiKrdZgE$>4i;(5^OY$!!2tdom7FUf6=v zAoa!k9PL!#w#;`zfcM@$a9la-3rOKfkxz;~&0)i`QRHT=4OG29p(3f}PtPIBYXC!aX>qUcB8_y=BluCLlL zzVVA+-TIp15+~z{iK*DqVtrHno((m_HOBD94fSIim`hx1lf7oIusP+}Hkb+Ad+TWb zlShs{IhbZn@v*+LPdt;Uc85|2D8{f%MHg=<-)Kjy-vl-01v+ zJAy;e#;`H4j;}G*I%-@x;)6w@bgu8YFW&V~j*tPtFTQx}2|DkSaptEMuh_NyYhT>x z^99!RhwFGj;x~p(HN<9hIy4*h(C)Cb7@LwV^4ihnz+j8NDn@FG%-=}Q`h)*Y|CW$Y)!1yF9<4rYsT3jg#1C*z(`~!nYK?Z zJ+GMA%5f5OZHaNSbYA#AS2)V@VgbA5FoxPt@$LZn-45)bjXNF%%Nbo(*Fz_;;Y6XW zOc5-w5%T-?6mxql`G7tG$zX$Q=rg>aAz)CB!R$iC_fb7^5yFfh#lfW=?cNW4U~mt} z@;hkXFm9!b_7wD)1>5?GD^PbjdYGPVq>E4fz!2>@PR0hg4!N@I_v1lj=C#G>Q$ULa-u`R#!lH`vUg!XpC8g65W~HLG-8ml8hxPjGGslk zbcZ#@D7Mndk(@1$Oa9VBS0PE{vzMGs)|z{&W{^uxGfTEAK1J5rg#?Clc$V_E&=%|RS7TT!0i@DvF{0L!wS4(~e z%m^`yv4B!GIoD+NP0Hz4PF)4AQ&d?W+X#0Xknay#S&|Hi3f*z$pl z3|xA-%`!ccpYp+svXPeENhOcZS=?M5SWfdNPk?_)Rx;fLOdqV$nb0s8Me~zNjlr^j z1*%L2U_q48dYY8M>OosKg?kCGfA}5Dody4!#B$rO9-Vyk=2Y&nXQm>}di!vEirVp5H0vAs<8nH6f@PAWnYge#CA__8| z6@^JfJFOsnd6``Uv{A3I8X+-ky(C1xy@3!Xph701q=Iaj>Q+z^)vJ(1+O7M@oVDA! z&uV>*{0bB0bg$WL`{<$4*?kuQd`;4lrL$HmoPQ0W++IUGMJT-Hd%2J+bosp)@?-UT z0rI1u)rt6Ce%HI=kg8RHd>Km-d>?{{kMzhIz@4$6hx|%;5i&;~5FVSoW=Xd;l&A70 zP`VpyrTmsF@s3u!+Zt^aSbn#_$~J>{<5X(0W}88iRbW_ zYO$&1mtLbvF4Y$sFMcoA@_V^fyjSD9^hFoJS0SwXnMnmU7GG=)u+G(WUw*}l-fIFo zsPz)vw;G>^e2=f;xD|Z~Tp1~+x*Jv;y3D9m&Qznyu6EIHmEz|hbO#t9(Y2B4hGmL` zV)b+?!n1*xlQ}?;%?>Ql^j0Z$4otMpRCiJpN_6nxbH{5{!4Pn}hJbcd2%;khQh>p_ zJ4o;-abiGz0Q|bCL@?z{;g8eV5T0|8P@N}{q!+Nb(@-qc*g*o_a4G#Y{OX3VA=+~S zaDe`7H+%;nhCjwgFR5k~?8Y+iIO;@D6)Ky|!G0d3&qNEuHT3E@o}w>I98Qqa;FO9! ziHSGE<@A3w{DabT#fGP%zYD)ZWqN0K$cZIXuAqs)FEqj}yWxhY<2&*Fq4q;gFsuea z4a8(5HM@z6zBW`7EyB}_Rm4u~6}SOI-3q;=+9bHZ%ZAjQLHZab5w>WJ)}z7*)RU_L zVeM*3BrXjm{uTX0N)*#!GrNFL@+d(5^8xSS5kyMJ=x)#Li1jNigz6 z;E7hn>kT$Ffw1gGwb2Ig-UgAEM3MfgK-3YHSuKG-+bsziK`rTcy+*Ae@Sj<&(-D&_ zI#gx{ff z#T#|>7bS_lp-(5)$ng4tXc9U)RVvBCH)Jas)$-^ z5qO=bSE=FAdEzij2CZHt@w9hIf>~=4jXZr9-o}f9+E&Yp7RyD5wjWRvVo|9ydg7Hu z+H5A;lEfDhiJ@H(!WzQswJIr~QhBv>P^bixhPSu6Madxw^g-1Qi<4K?+I5;HmD;G% z@wDDW+Kn1Tn}!&zdO>AXiIS#<7wXJ@qNQC&Z51^&f|jS1K`WdJ1{R}%K7mazYXpH8 zHLVt%U$*dOfdH#0?T~_2r8g2;s1W6Cn z&XP_?FQ6~N6GaWnIyGrq_@{NRJ;g%TXLG+l16JZY9(Sa3n~{h zs@Wi#r5ZX0bfiW@tn>%8^o3ls&$)?NVRM*sbG+kF-AUI5Bj@0v+%#8^K?l`CCFg?wih?Nl0a1Ux_pUaJrS!uuNguvVYnENnfBn$sleF-` zCqlGv^NFTMP@?3|fD6T6uW!`9c<#8cZ-d<&8oBp*PPK~bEzYI5KHw)r#EJx3$t8@? z?<_*byS)eteoqlR3e7CnJ^4nyD~*hV`I>MnR!E|&C<&o37GDgr-q-MstoD(w-lsaA zzx?mLa5M6lJ4-N&7O3h=*=oFg-gBv)(q4K&Rseqr;iPx6(rxH3uyO>TX03qL0qqOk zNk%ZECS_tbz#|Pxa;wC(%5p==hNN!qaJG`ILHvFw)KXWnEqRd3jk9^kKa*e7Rk$u` zwcC^&=UbJYrNWwRFXoA!R;C@ycKOCILi|v*3_G0r4amQ7W2CH`W1Q#V>MUk31vM56 zjV(~3(THp@*b9N}Eidp?Cu;$_uuiXdto)8LNVb1PJ0w@+??W4a=Zc@F;$eo?_56Y1 zx6v;}W_!Zmg(I`W2hL}Ct^}FR^W@w-)bD)BN6YYclkD&T1dgPam9o4qdjZ{7Rr$Od z5FHeZyIP{;2+9hdkC`5VWnbwV%($y1RV+zh;nm_|4$mJB)jvWGm7adY<}nz;5XA(I zLl2Qdk3c{aU~VD_(j%p(>7lxo5P))GnbOnrGAIM_Pnqfqf!YWzgq!1K^`S7kOtP)K ztn%|vLdk3A)LF#Ya&u{J9k+?w$GwiIJ)vSD1RyMWtk4|6^m<+L0FLAowp^2Sf z7I4dX%~Tq4pYnZ!sMK4Sr8Wimte6UCEhhmd1|`UZU~xc_LWsy&x_wTI%2#$=2}(*V z1QMY?IC#5i{N}!qVQK5LNABHrlBG{N)ec|x`YQ)?!_)WPcklGDZs5xG-9CrQ6@B(_Hp@9xv9b{S#lbEI0I7wT@ZfmI9wg<{aG%bIsV1a&(t zJ0dR-P8USQ%bFNk#xHg$pwnh$4N4|bA>2wa>WEZ_ST@%#^F~k+Tj7-`A5)jJoQ06e zvg7fYn{S!<=FINhJ8!*t`?t5R+CSm_c5O>*z2MW^)IDLd+hb@D{N8VR!=bvzz5M_3 zezUeE?0wwp{kAu}x|Hzsw`Lxj+3~HJn{V5>dpEuH%H6*X(_1$P4F-?f9PUxu^gf}X zHSGPCxArmbQVrdx^*rVc(L!F|%0gu<6O0k4rK?}T4YM&IWK@3}8Jmbg%!f20T;Avg zJRH4Z$pl{-UA;vY3kOu!E6ktVL+|5B+v}eoq;LJ~+}W1*zwqWW=NADLaq;vIyS?Vu zNn7rr!LxJYL-pS|^URw>&1?xb(7Dlw*vWowl7lde8o>C>Tk7I*%#3S9k77fyAYc}p zpkY~XUi1+btX>SR!68c}j6B2?@H@*A6# zJ@SGvaP3VjHoM@v`WgfCQz`^iD*5aNFs}W=6Hf zTW>XLM`s>8z3re{YKiQ)|IyPk2i2lU)Lg?COtQt8t(OFENh0UHf>fV1T4dAG)HNDf zKz(rL^rQFf-207KM`-im{ae}BJ+ZC(4{r{2urKmsEma*&qGx`VKbKwN=4bt;Egr!n zQNjN2uo<`W>$6M$mFJ(HcqqBO!KmG|No#D_o_uJc??hj9>CvYzM|Q;6+)F3reALI1frDN2 zyBDZ&+iAB8_S2qbmUG5*F1#FcSOFK3SIDlIppx=q0htL_bPwPO%iCcudD1%@20ZQ2 zeuklZFx09{C11+|iC2)V73jq1(lDJ^ z0xVgghb1lrI$<)gAob2mrW#FzHZqd(&`IVcjZq)zgzSf0T+Z77(Ar|nnULt94C~Lt zXNE09m>s`rzkEKqs=WB4XFhQQf0=H;V$>}?yXC66$0h{L(6-F>p`}0bG}ckk^<%n0 zi$PbqYUuiHy9fBO!=E^H=J17IUnjit%s*VW^sLTc8PM^UPoAASHgVzCL)$akhWN3X zV4bhFbQL`}s3RX6*uCv~dbfl3pZdgML32ZOj-ZX};*#7LcbF^KA@6a;(>{?;P-k9u%bb{?uHdyb1uSSb20QM zUQwYS<1a)yNMISv8hRI51$x;N7O=b2KzDh2k@f}Jj|AFdvUXkRf9pEUEKrV$>;kvM z0pevDiq$94QekiDXS9=EfPlM=W$1SyYwFSwx6WQhvOW(=mv1>hXeFl}w_5M3jT<{9sdDmYEQjdgwX{tEKHOKfM#jB`{?Tx(O2=@-?2hpt9; z=Ma?|HgG4DTtIIzr-sE%z^>6o>L9U8ZFjP$ypz>m z7iKF|>AZ2ROl3n>K#+K<6h zt|E*yDnwsV%xQ7bzcrd0j_0l`0uOyARv5h%=Bv>`2vWTRhF{)L9|Ky%g-#bFn|7h+ zbRZ743>QN^%s`AyVJw4aha=j^f+{mcOGe`0;fTj_R!go2S`0yxVEXew3SN%|0d1rC zJLzQD325s2h7iJpjLG@nW;*3%tgnb#v%}xg$LPEE0(4?SPZ|^aLlBnb1w}lPNMk%K zm(E`?M`eCdWp(JGt<74Q0Rh?)0LTSGMQ9M?V!_oJPsSbopiOas(ldN2*{BLQ0#r#? zG0^bF>=?j(pi<5?n>81j(Id) zO*YFq%N&`!Jl=ox*17n7b03xwBMnS9c=va(sIt(&lp4_V&foGaF(v z9VvJJGfhjM*xg>|&1iabBP~|KC!gGXgJE-gdcW%CyGkbx9cp=DZ{?A2|wbI3^ zHY>fYI>yFKXYMPx(_CQ;I@JDR;SkF72&dHyQwssO2@AyME%dfnnC9HVB4)M~^GASv zpqDmCES+nSbA##Jxb-E!y<=<(ghfzo>~l2@UEXPIXd@k@g}yC7`J8VCj6aLFp$kgc zD_4?6~;oTH8U}DP zM514fiP%@)0J+5s1FbKX+gmK`MZSc+lT;x(#lm(Mqvt~qpDX72I!w8t#r$s7Z*n^q zb3>Me{-HiwWMKe52jMff)3UH@=Wbi1KtHQe%Lc(blFs#~a|3DamBFFiefStx$S-RJ@tg|&-Bv;pO{qbfq~t7j_&G-bjnRsb2O_&$<`P- zY~r^UCvLW?#P-l8m08f3R1UKzxOx2e)sH=Y>Zbkyr$u((+N@dbPSV3fR0|^EO&P7$ zZMxAIQvI~_v)iZo{86vf-{kG--SqJ-2Or_MN9xj5EYVdrJs0e-$L? zh6(|%ZHQ|4bV#|B?;#$)Y*gnjpQ^P=Dr>j(YgX&qZ^QS@!TS1x^xuK6^!I;-{=1;; zfB!gXKJHU?KF|$U(Tlp_D(lxIBOX3@@L9a(D_^;w?3ca*mo2@d>{4ANqu5*$+yK>7 zCb?I+!aC^J8{+^*5&&v|yg!K9As~)U#6czLVR+v?i1%#=*=Z`8Q@;UFiE4yORD-L5 zD#>m7GDE-!?Yfq3pd=_3LL*Qn1VFbTrd)3*<~Fdk6P#k>2-QkY=eN+SMuzC**U}2% zr5os0QvjyC=sG&(4GnMD43bZGs|+r(&aM<7eI$Z|0&qO_mBkl2HcVnLz=G8Ald6p! zq74Y^fzY-Lc_b>|nV^RdQEM}P%{Ej!AM}WvC#bQR{DzQ#HeLFW5kdyP$);H(*-sd? zf3D3U5Qvb#uSHLgWHjB*Xl*0Cg=dlBD4Sg-tw0C_vco?@1g*(MzC}2Cxv}I#AQASr z!q2gp`v6AIP%S%yYg#Rfp&2j3mHI6ZJcDL>rX{l2O(m`dSdd2AA>O)m!$uaG_llsi z)OPk5#!%n37DQV&nuTpZYHZjDlBk@~tJIvu6PN(a^--$!n*s^1CjX3Q+zggN}{ z&|st_>rSHW9dk1@@hI>~g(Jp|n~?fI{+zc-ckGR9nKU{?ourau-+KNd&!3s=hx&9Ty9RdD9ITOFS)oziy1VgDLOmq(Puriq zWm9_gwhs(n^>Lr1GquSs+u-iA-+lJ|FZ_I0f8(iL4PEQ5o7vb^I(YbFFS2|&MFtz- zc5sL28aa=3>cni_5wy0OuICe*pxVupC#ZfD16z|4~db)C81*I~va&Eatae6^j)PUIBCT z!NYV4KWNDriUq?#c{6`^Y|5XWw-_snkJ~?WN6zD zCVjvBlBDY%UB3+)dl%wA)yf4|O%rHU$3t|1aMBKPMK>L%oTe#+2?~Zbdf1=N?U(cB zhBRA0Qr*pryoup307ijd9e^f=5ecYdYJl#9xH5Y^uXGs|=wBwmhMkCs&k$0sR*@v= z-Ejx#*}grS?;*0U!O`LT@HaLNP5$jk^6UfmY@X;ETi=!0w>Q(dvGgy`oc?LL`3vi> zyJKDN@qHs{-p!>w;bb zDE^B!DoSKMKy=EWS8SO60h|I{mIrPRBWL6AE`+U4>}FPm!;dguA(Fwnv8O?pedV@6 zd@}HDX8BC@y*Pc&L5{1!w=#21u8!+fa%t)OU_@eOFVl$XtGWv? z!?@7eR?9k0!=*JHU~s~G=@ohgBt9=?1&*IJ+Ll&lMT^<i)8ff$X7eVnt6G zWdHO<^ZiO~J6)oyp6}x^#J9OSrBr*l73@?%RGY*IkC-fwv)z^^b7#^UZj2KWzi~tQ zkI2S!ga!S~OiGLEEHGWJutlGk$CBRMjfqdvRa$!qUy{qYFZy>{VGRgjuV`o_N)kZJqJcP zZ?VvfKI~>cT_Fr$C)ctXr%RXtL+>!|MZyp~3*&Tf#DLbp&p0q44Bc!f2R=nC2)7C# zDBiSUW;a=l&T@7dgxz7KDJ%BPAq$M5s!^4Ce+0Jh}Y$Kar<_RI2 zczf%HBSWA5cIlO^JBM~S^x~H`Uvb6eO$QI2?-Bm-f}cE0-srm7E3%Zjj4a!Mj=TSs^OOS4)@Q7S@zWIvu~EWK47U7C@;m8M`3oH>Z{J zqDn!^g9s|%<5URF1C33gAYi!1!5t0Do3fNu1xww1oY)@!IPoH#`A!YW2Zp{N)UU&IX zTK?PgvJJxzC^1lk3%}z~{j2mn?mCXMB?d(VM3!6%*GY#8klQ82)n^hB8b}I3V9IJ9 zaEMVM0GV2^g1ATtkA<~br@mgO59%zkPFC4@lZos%g-yIew1^tPE7a;eR*w-~t``@* zlW-C6J|1swJ`SYZrH=$7?{Ignb$#immp^Bu+xl91Q~+#1lfOgHI(S-+{+NlktLP0a zx*)x|-l^3>+3>|h?|g@g&|iSxInmrqPBe8VBZU6g#n;nkt?)&#*fBry4vkPr?lO)} z6cC59KE^mQk?5)7yxqhmS|DuNWRtBKgCsgV^?|lTPk&|xpypPGMa{zN$|`mFo2cr62p|};b$1W|4JYL@+^UkmS4K{diMJm5kS*}` zy#d>YvdAEG3O`Aoefnb$*ez|bD^<0z4)vA&2U^*QQ`M!iFT)KUdaLxgmrLjWp|0-l zNguKhkyH4!)HV4)czUw``bKi6r`=TRDcvni3K~3D`Xwv!%Q9^d!!lLy;`<@0R|hK? zfIw7>IxIvh#k6h^b%GqqoVgU>#n^R@8dm^ovNukJ9+f)K%5`3>SOb9@2$$6iZgin* zfH)F5D#1kC)NKjU3si5BkCUIR7sn?t^s@a^o$Z)}du?%O(aBB;_l_;X_Y`GXJsyy7Q;I_c#Ob5C*1 zKhjq$Y*A43yU@erSFK;6=v9 zk&U=8wR;bmDf$i}#{T%!71bE~UDgGIFA#x4J@P9mbt~5~GPd!(Anvp3tyFFTEBAj2 zhCe$udqtqp+m@Uf|0vNt{dDP9rEivg^)&g}{}?*|P1~OA>Dg|#HRw!73x8cWdbF@q z|K9NW2}j=Hgxl#l;^(;9WzH+18QlcxGOU+PLL)!g6HrhPWr^yF3qRnj8Fa5+= zC+cKb{Ay`V)L4yHJ|v_~R=2FtmAVe{W_!)~+uXe5wFu!WiQZgZyU@S3gS(H*%|!F9 zgJ=~0Tw|7?kXE3_|gC#(<_Fzpfuq)pG0Qh32-&DfB`qISUY?&4G9U zVR9@g2MmU)a!efLh>=yhC^j*gKLiE`0iQ1Vpt}SKf{)Y@x}>yo?~ol|{2(!&`;?#9 zjCw=Y?%vUxBWj1Jm#uoyp^n^i-%Yq{m2vmx(cax%2EEZnASZw7@RWbh|Kzuy#J$!w z{zZv@g~<0!KmOwfc*$tfb#!d**EOkRS=FTL-(0=j(V?>~{RGs<*wj>vAJyxZUOoEc zlalHn96QLf7$6ppR!gPR1efC8$3cL8TahseK?ItwlIPij<}feffx9XUOfd!`q>1H{ z79=E#fInfiMn@ z_(@M#q+QBkW>I71Ff)ku;n7>Z1i0%EWJY^zDa&&tQu^+!#CqzV8qHLanGG*tZ=UZF ze^y~Of7{1rA^xX?0cO}wMTTcF&h6(O;c^Yg=ddqI2YO-O79{@INxR`jCb3*rm88C# zR>MrOuzLnN?e0lhXof8*RE#-5>n6c5-}`R)6-o4lqaFPla7CE`3O#qm%*5cF9u|}a zT6^XWx`^zPU)FMlSYl*GSvb(#0AeGrt|m?hAaWb>1C;*(z(mT9!Jw{qHyXmh2-Ile zn<^$k#Fq{ciMCirjjJvJ$GW|-8z#E0d+N$9`ZoPXAAR(r^lQtN8*ksz-oEAbh{xueNI>Is z#1vVFajbi2uic5-g|=9*Vt$U*sf`r0R-{w}+P_#7LWyG-N*rsa=Nb@(x}gaiLdhso zJhVU@$EEWPu?mVUQhdgjaiwXWEXV6D<4&*Q2M%gU2KacTS?oyjHlx8%`jXaWlx9~F z_P#w&$2Vt!;x^+V26oUt9o^;IVS6P3uWgwZ6=S)Rfa#0T+u(;n6e>UD#B{Jw(QbsX z>r&K6FUE#8L!e$U*9u20479&XqVKFhh<+fn%~`B@y%l7a4nKe-SU3lA>p}N>_b_k* zv5m15VO$%PEN41Fe(**J5dSz4`ZioXceds3=am3)p3{<9`g-JYoz-*>U;iASli&TL zRK4+a()P!X44$2v7;N~?y%07|_L#J#c`Yq%Fqo_a>$Ws+TU{qvrA`{ahR-&eDnahh z4VLSMs^F5hg6rok&sPNtvO`!LR4<1bY6n^ay$0$=&Kt3A8k#@|gxJrROzX&s*i%O9 zd#EF4-*Sq3IWV-5cAZPtQB~Ez`_ta=N!=yu=%XfUX&!?W>G(52_0r-7W&T1ey=iVY zH_QEmE0`h5vpGo@)Tv@_H>{itS)73NoGZf=K-R`ix_Daht%OCGt;QKYV9CYd0HZpH zV?P7Drp?9tL0Ws;z(S!h(W=@hFQ~Lg9+E$>SGK-vmc4C)*6o)UT%J)CGtmMJ zhpLXCV}!xJ1B|FIMF%p#FshWpA!VJe+7E^jkYdepKj?@q^Uqq9q#k{9@6l0b@A{MT zCpV<#dhNDLt1~X^p_SCh)lGIwa2dEvE_eO7O)U9hswA#%3Za91A=q(RC z@Nt#^soeF=GLAL0HTcM1dYKzMQE`KJ>dOEu<9fghM=!VmAaJxcy2d*rvbA7u&wyhi0br6HLuuer zMp0nWPFuYzk?!BP%mop1VHhAzv2>vLx*13cx)j-P0w`YxJJUfFcsG?=wu`=|fhx+q zphu;X`vU-6;%|7BXkKmb!*-xw)~P(fA3X<$(i^b-O1~*RRQk7@8X!$$OxxFkUG6Tli7coK!7ylGiH}KNM;mffth&!tU$lc zbEi*B9Lr-oPnG5D+gXV_z5l}E{?lc@QRW_6HH;c}*ig{6zqUlg7;n!moNnidi&wh(}M5xt3l6i7LoOaW89t$Q_9A9xi*Zup5d$2|du;s_+Q+=~0OIAZnb1&CQhvwKWa1A}sUXx77P64u&{IiokT_6cAeF&tD)ZjJ z=i1wRmfWl}l>Wj{H?Lyp4qvCL&iO2)JBS?SHdKYXn%3OBrp`dp1|4Uw^f5D6NBh|T zU0E*UuIBFGKEyrEeU^KTD{_C&{eoK}Mp8%G$pB_NuV&J%WL?XCTapp{z&k^?k^h_f zQ^nUJB+)Lb7x$km6<$hTn6_ufJ$?@T+ zSU-N(ks|%J@=X00AaTdae5yJUNGe(z`5*4>fU7_!96E=Q%o@G=9XcD8=oIx1m;Jqa zU3T^6+GT%Rzg>i32Lw>`iO#VHE%#M1i-&y|=6_3P_&;l&{}61=&Ms$?vF!_)wMv)X zLx+Ddv8ib8U>wx6R)A~2juH{Ln0Ofd4FdNM2H>~{Ok1?5qFsdU^^dWL#BPkA?Pk%lD}<00!LtxKi>%!h_a5|mM`aK&t73#CD}#Xc ze{MOt)?@pcE#ra6TAaKV%Tcvi&&Npi6DG}{t9j=1BQH@+9fPdT!SY$zB<%DbCW2I^ z$R}Qe{0T^2S=LTKLg|0l_xB4!)dEvWdN1wDpzv!d#=_c+jh`r6LGPJd+ zWZE19qir0L@)ktBV;yK4LrmM)yh_`sE9SamplbBjfvN$DKj!k)F=BuYOfeg9HEAMD z0l}=}C}<)XdU`z)wY{4r@*XPOwn|&^QSp|{&NFRg{=)3qRf~u$Le_T)CFT;f$op36 zHVQt1nB{tb8v?cEC|0093N;yH@FNSP*3aSsjmQsaS`IN;*qh`& zB*w*=%5y2dj|K z;Ti`gFZsG_9p)dusBPg5;K9~7jB_^aU;GW&j`bW+FJTO+30#n1vdo)^4CeSsIO%)p zW|!(u@O!l1@H4A_PePiH%I^vAd)@E7`#gTh4nep{Vie;7^oKf}8RR(n73mK<5%0!G zf6tsQzutT66=dd84Gq87PJizP_Ip-@t%yn?ax9$QwpoaHdFs}@Bl%!7=eL7EXSMc(R&`}y19ZD*3AwS zzIZg-HYhC6IE@?1-tz!DWOcVSUQMrH72n2vA0S1?Z+N_yY#)cFT$Dr8a?=!QlP?voyAzJ5$>SE43vpO z3RMqcTy-MGUzkoGqgdayAgvW_$P;eUQ@yg*l5b?l{mEh>iLQfWyEX!l75Q2lZ3107 zKLFt&ZAw!N@>S*pRUJcuS(e>?TLFmiMd2hfceW>d4$SGL?DRI) zLVpC#_9vD4@qj8}P3QX?Wnd*)Isch>Ft-434AZty#)JBK_W~!U34M)=DnrO#>O_WM zbu498SH~reL-mxot``wk1|oi2xGunqBrc5Uw-pzfZQxgFDK50*MprSXhM4$;0YOc7 z*CCL8-7@5i-;ztiW|EGL;b=|^V`D)wYH3+g%n?|`7M!>%7r`Uo#F0~r{*Q%FL#-yF z#43f*9TGvH(S=krQi;1u6&Lz&cc_S2!A32_+k!8!jR3r)7dMZ?0kaMCIrh0A)XV*T}0MuM3O)EC+` z2AsCQ9aYR5akZ;gcrD>TLs1tmoY%R931oGlSN$N%NC z$-4xzL2a;@Wl0JQ9=z_OPaQl5$u695RRT%@(r)SMd;j7OOFvdOdbG0LtPQ9}Q&-NP z+R@!$02E#uP7h^HZjK95O?!gd%{{7E8|sUYBE2)78v|ripfOD03~Gtx`dC*dxji^* zFp|b$3`fpwv_L*D1a53+E_r7$zn6B>jX-2Is7M zShJ?8?fYuuC!Rb0__H5AeeAj8@!IE_3j)d$+x??cT=@ zW*)e)>Qn@sKF_w2s;1&3bmcwv5e`{?NQl^@mXm!0;gom|0+%yu}r zXwk9-owmJ#hRMRFaK1*R+k~AeuWe=tnO+&0&$WKW^VcHhnyaE26^P-rWQbrTobmL2 zlG%Tnp9eeEdAgPD35yskyHp9NJtr)}Ss!x=pWYA0c`SoPxH7(&`V@VyIx2^bakp@V zT6nW=%*Jm7(pr$+v}jydhHzu>Y;BcS3@|;)#1i!F2-%iztH;F#!VtshTma~BxO}FY z_A`4uowl@L1kufP%5=qE_3{{yjF2qEM6ebxd^@?S4s3QLiihwqta-LR0mT+y4j0&8>gNpSNNs5{9em4nPljj%1`#hx|SeL78zN^F6G}v4E zNOJ7-Uy#1!*nFkpE(n3P26Egf2O#i7Md{&pjTdKYiGv8LF-Fexkik} z8S_v(EvM$}#xPeIg<;x9gZ75y$<_{FC`hKoa5Q{!<*HSRMnoN;S9V>O!QzbgF|`AfENtQHbK z2iIM-e4po7hDwp%fZk^M(4lEhjV0>7<-;E)zh+kKwd(n!%k|ua%kuwFJ@>?wdJcv< zyQ=HC73;YR7IQV%mV{FwId7*kWxfFx_1~es>9hyTAVA#7qQvRMdCTij7gxym(~DBrbKeTUFz^uTg`2T@O@I#YKX#LrlzzI&?b8xYvN zF;ti;%(0CS^j)rXjP-5-(TLVMtT0KCdZ4PYq8oxx(MCIpJ(1{ps$gpw$d}FwW%;J* zJ=SZ`!vai}=%?bPd2iLZ^a`q&I;d0%N8g>ZaDm2908sDV zgD<5F4O1pvAZ@P;+1E*1>GjtaAN$c`i?5%snij35tjWqyfy$f0BEF_lL2cv(xTLhZ z^m;Z+7FQR>O(qS#q*RW%;zu!aHmZ#SZ|n%Sh1Pc+OSK_kEi7xYp>xp6l-aRFex#K?^g-?|BN`R^8Es$t&;p2po+TKeyrXn;w1! z4%=Aw{M^cP?7Xjy-l!HkFau}+uVfFVfQ(!6)A~qmS24HClHacf4$0ghOa3U`y0)0R z){=i8-MX!qyUmi%(ycSa+!;&$gLLb0IyY9SYv6SYOqaYV$6kn;08=~^wX$}OS&Ba3JW@x`oAQ+^J`Y=H7!D6xBUvN)tYba0AYJLC0h%bjT7Jl z^lzctliPMO-`H~CYIP`G3Ny0H=yonf3BjNbA+=d#7?&k~2hvc2+o6O487KjhvEhxmUE*d399;9$yj(jZx^_P~-9 zvP$Cn0w#aGcXzK=V|(~IbF;hF$%ThE9{`Hu%o&a zCW;Fq6DbYqHz%<>4F|tS6DDSIklwI;G&?v(jCyuXZm`=8vbv#Rw}7dC-IZX!Y&6~l2nC~R94W^ zrjwj>kCy#Co3Oa>(l`F@#m~G>vbL*UI&QPKcHR8hfBlHvCiNI&whm8Qpv~#>ki`%G z{Kfm*{l9n9&YBi2SH5|z`m357OW*HJYE`ew`~UQP?dMcl!KSxrI(_U;n?lw*~6 zMmiU?zw@|yM*IanS9)#Fq?R8f4InX7g(V6hGs#zag`Y{2Aw<(#SZ6j73z^&=(7O0^>?=qT@;(%jsFP zZ@5?pcfj#*qc#ExUcN(52ZGgESC0~MSkAXb(S(n75+I``D!Yp~6i%QfcGN+i$|>7T zg3`mSkPKNaW8=BHmQd*ihUqGa$l8-D(C zL$ja!CpozEi-s4-q2cJ;30*%KW;hr;=45c3llHk_Hzt+2;JMiJ4Uqb3oz*UJMoX>L ztkx}M<*=l4)-EkN`P#Oyj?b!XrWV_IF2G9xC!eYCC})vhJxR5v4|9bGj4~gl64%5E zk#1<|NRak`PE1r5!3Ize5%ylx(!+9$0M|gr8{o-|Qwcv-=!nDF4hZCrGkHH11LJ`! zR_0x*LuMvWxbiJ=I*1e9>2$79&Y9`7+6g9sIN(5wa?YjT0rxG33;I)Z48bsy<7I2T zgH5TJIETUGTH?3)<#N=HF!L+g;kDXdS4Hw%n8#=y+Tb%wpKa%7g!xK%&#$#wTKrcR zKD#31N0_xPJw*#=`5DCyr{r=n#EDlp2E`pKV)R_06L!W?9~y}w83_ZRpyP<@JN>Bd z2ztzYHOC3xk-@1Tg6J4X{X!(?u$y6U`Q{zjt6TvtF?Q7}Wjilmw^l)QTh+s_9F~ssq3p zY$A0;N$D(W1pF!x$wXUQ;^h3vL|gaa)Vhh*kgV+T=SI(DXK-g0ZNu!3--utC#2&Yh zaPLWg#h-4M%$^3>-Q3#0rTXBTcLgKi!7&dzbTi&U+=yR)%IwC>F95z^J=IFPxnZhP z9pi4|?&1EJDF%bvO8r*6Il)iGUys$*@v zeIuje+o8nW0xjMcnA!q6p4(_~gVWV;u%RnVBfld4@C^5(b#DLBU~3`vmq~ml`eIDOtYp-pJ{pO zLhL=oBF^N$)e+K%B+WeOoPPH1Z4IFfZK0M_jpZ$~u8f!f|^Yo^Y<*P^-O!jW?M8fMq#VLhnl zI=GEo!K>hl+hX8GGhtLkfR33cX1_MXz&jp_6>JjvWoxvNf@G_t!|Gx{lcKOtu&~a7 zik~sQESK3XBB98jtB?TM1jd6wtaq@AlMpBVw=|{a1 zixA@qb?`0#WbdowHWe4#YQWd9AjgY24&la{7)1F2n_&>23ebDtsY0tC^B`%4INWC9 zB_VjK5aFwzQNl-G;@AtEgD?1?&qceJRFaN!job!0Lm^vct|kutMrRCi#BAufk%7@p z(kQC{=$7pOOo_A@t#1IA%1ErxnugkL4ba*ii{;W5gsg}%nv5|*ryfCPFgoh$VcO5g zxj;Iv0ef57mQ$zQ)I`dQfza^&jP9^$U;vFXE zF;DZ%v1{(@8s9yU5`K2)Qb`b>Cjnx4;U{8HYtR~6fAT`Q=nr;<^tJn&>(2$Od}_E;wW{>)jXV_7ZHL5;!uw#9ck^ z6}h&S#>R2)1^7;qGSB6YaQ!~YeT*w?gkQTn4$6F2aiOgXl=*)8k%h< zSk49MM4j45j}1=k+4ui4_a0zwRoB|^*{7)M=oGb)G#YhHl{~7`N8>5>*kgO#yFKm= zu(1uM*&d7uH9#m1fe;)5Ap{a6jU7TsG6^LOrN_Csmn7sS;ii*zFU@oO@3oIKo*5gG z`+VQ?{2zFZPT5D=eXq6lTJH<@I>f^83f!)ZSU_D0t=cRCzXYi20CrIUDduScnw!bm zU?UhvDUyjYF)abj4F-Vq+ZNFBG}$FSk7rE4HdN_7jsnpDT@z+bY#a{9ykYN^%ZD!s z)&-Y!=6;JcSq?dajZOB}=HZ4VYgaF-8*J(eU*N4!?oP$r9Ul!}fJw4}q0 zSB?;n1Ls11+^F$N&?&gK72-h6YS7~*Gdb{CV>1Z0jR~xDYE2e_300H?GBr~^suNYt zwYG{-L#X`H5eocRd_)BD5#ziTNPmH%@25Xir|t=|rXcF43cdjm-Y+O`zd(Um71a_9|4PL=w5k&j9`R-a3xYt`JR;8gTS z)hFqWZ9DctC11I|j88xjyp90Yz<}wI!<9(Hkbn&GS&(!+)lJf;+SMVl+5ti;RjrS!gjf^OIdxy%GKro5@iV}*q`DYXm&n>b1>~!&G*6x-r|&3)XGAK@BuE=d zjc%Boo4o<4AEV%W_%1$T8S&jw2qLZ+#+WJRxM@;DBj9#9q8^7*?-92}mQpDzd_)X? z{rowZR~Ta7c%AB_hNwFza5QKo{Bd&<#afYAoMz!MQ7h#Apv>Vy55)=V=z@4Ybtd0b z8Z$JdbP!E6HjkWGN-8r|oeEk%0D%8GQ!Ai?6y^fVUY%4hi>cI9O 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

&A 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 diff --git a/themes/default/assets/images/loader-large-inverted.gif b/themes/default/assets/images/loader-large-inverted.gif deleted file mode 100644 index ee5283f10fc717f8a2335f8b8092e1adae642f92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10168 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 CvRK0a diff --git a/themes/default/assets/images/loader-large.gif b/themes/default/assets/images/loader-large.gif deleted file mode 100644 index 519621ccde30027bee14c18a2c552def9f39f9e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8492 zcmeI1XIPWzw!h!>P8vi&RJx&QC?ds@(3^sY2v(X3A_$05L`2~ih%SkNRcKT zLfbobjA%pS|}v^S{oge?H_>a$Rrkd#&|6>lb5FBQ0%5Ccp&3 z03aqVW@uojtfFjgey*UfV0vo0yR$nvHF^2{a$Q5+-0WO(V)EFXvAUYN#TScZC1ul( zrn`H(1sQ@bU%!0&_6_(~FR5?1-G(-M^;uSiYMU4^2>5xak8lhI5C)W2zPs`m03tzB zF3!a*&V(!*FAIq_mt}DT{uOVWV6gTLUQ&lho-GA6!ct$kqbIyf4=Wbfx#bQ#6N$WU zSYX~GMuX}z^F+0TNfA$2$`8!BnA7=0D&#OUTkS=S>ZZ6_vO=st{JI7e+14iREWfM1lQ>_NhX-4)JTQuxAHD|>b3 zNYiYC+zKtyZWhrN)xxN4;+7f&o3}F&b={Q+CNnXRABYbG3L*vx zt`Hv?TJ35OH%K4k3%2?S^m}9f4qvcY5nosP)R;^sg#v7x0&5j9tGzv!WW>Oq>ys^c zyH+PBtbLcM+&bBqBHKZ}?N#35xi2oVZOsT53o8?BIHW~#k48No@yUjyD}tb!P!ZT* zeZ+ZL$}x^B)xr`PMaAyM^P*%Bek^RrKB~}eN^XV>HAWv=Xqu{rH!j);%VG%Gl(3+I zwOUlDKGqabTHYp~qJKgMSK3#h->T)_+&j9lT@S8}shXJFh-)BhL`4EMPfTEu_`T73 zl$SOHy(HV$Gt2iE?n;w=kIi0k0Z35TE|VD}eiRT!_>Ndq{p56C_2u4pN&P4Z)0%?* zB>K9&C5QTJt_)scI1dO+YYT@nwa&bl?yoJnl_R15T?pleng_wJzy`sCut6=Wus?kP z!Gm(ZUI4X#ia;%(5KtOu@849hGCNm<v?!+IcgCw))E>f{(M1#6!AdA~MNN55bou#W3NQ{K<%&d-X|qWW4VcVxBCq)CZq- zm<%m|G}lX8COJbp%<;lZ-vmXkgZFXco? z)2i}sR`P`yf*HAfB5F`}dsxr1_vJ$%{yFA6U?VLJ^IYDS(X0){T@bM@~m zB%)r6FI=9jGgk!^`|8TB!{zw^aoqb@h|NGd5|SMAkmXwb;F{Odfh_ZD6%U*J-@SM^ zc&+mB4K@t7-lDPUNf(!@bY!Tp`e`p;1|S04uZq>zCC- z1FQqE6Tw~sOJVg8fPWqBH!aO7740BF*}Z61%^}y4icl8YOF5LQTIRoFU5D;Brol|E zlC4k#(W?nBh`An?Xo`@}Ee((Fw}L~%JNMttqj=hxb9nUJeW5^Tz%EPtuwTN~6oo|; zlnFT}?7kCkV8r1@h3jHtjY8BB@pQxmNxY%I8anP04R$72J5p7UuXIHp zIl~OqpnawLbBA9HIOuHriLL ziYp_5CtAJLD#_h=IkykD#7^60FZC=wMftHRN9-;u)Kbb_yc6Smc{g^w(K zmllb`19eyL7Fk_3%QCAk885Y~J^65;zI39}p(|>g`Fl6`A5QQ;I9c)VVi9ByI$1IE z`5(EfAoAD*~msBh|1UV?*0vz$DDlCnGyG%(b_LP`H zYpxHEAsl}l?qs@8nqqZNuU%M_!sGY@n!c$ahVP{bn%+(Noead031NLJuYrLkCej~; zJ?G_5u|BH?wbTt`+Hq;V>N0WK;i-{HA~0!ntWltPY?dPGgj$F;LZhrmsX#4J5f?34 zRjpJai5Ae5}S(aljq57#zL7!8(+pi&+0X4fBVqRR3THo}UM%aXek#KDJojDcf zI8P3A{?)s_hy=q#<(Y6h7s3@Rw@v(d3!r{H=A62m3ob1y zRx-qdze`E^tcZ-m7>4E-vcRj62PEK?I$6a_C++e-w3RE>st(P3iAb6!U|`6@5Q1gC0RyV26QS1=TMlURF(9VogbWpEu-O5t!7J=j;vTs)G)L(kY~Nu^lru-`4>DsC z1PFYb+`Ov( zM&B|O&*RpNJHqZ+$Z2zOrdg_hRU9V5KT}JD%TMf93>~9YAef!-~^~e>z zrJvIJsvyqN_Ctn_mC_l}FP&8FY_W$^J$ow1K1@ox?opM;jy#_-IW}=)dwNvzrf165 zn-ZQ$AZ?yQmEo>t;=rsmdO8!bc5QTx>h`D-7}@D=M~8Gg(yt=CM)%dbJ5MgZ5dT)b6UFUHp{@eBaFw! zzaHCN`I+|W!ur>aTiCy%7J41_7jI>aNfmR+Cgbp?#7Wd!y8tO|lcuJ$Eqrvzy)aC! zeTmiFQq##7@35JU`tE5y=ie8Ua&AsWzs(d=9y+M(7b9Q@t`C)bX_?ddJbj>5f*ZTY zDJju4zJ5qUMasirLa{uq?SlEh5sQVN+NSJh>6>?7G#OmhBHk0-{aKUHa)vmz^C(72 zjJGcypJ7D~Yhj7xnM*Ku#4Vl@A*z?D!nB+I>Ci3+X3fTWjnAooQMO{L&V0Jb9-Av% z?9j(EJL+}>(6*GUwxw=wN!t!3m@hM346F<5c2eFXaXyh56` zMqr;ypkl~a(}7=?Km8=HSlZxxer@K#>h5mbLBuJZu0@M`5W_w*h+Qxh(+?M4m+=A{ z#2YTfX5szQB|Kkk++AMXs^huT_h6GsLTu}=X21HindRiZaeF*SNNRj^K#xI{vn}xVwl$*1Xi~6mMc&{|wr=+yrTd(4iCwckwD^#z)m`&7^zq@K z<3q;1siN5L9Dlr9|EJ_4|BvJXELLz$2Ty%4wgB&4;D!m#l0RdMKe?~op8xqfBIWnH zbvAf*oO;>jrF_fR<1u)*4tn#g9bCti#pC-5eELu6knw1}@oGd#x_$u(mOqIXI zrp#Llb%Dd4&5xHFgLYSTAw$thYFb)iSS%EYA;JieL<|zjA?*eLY(ip6aw>cmCM78; zAuB5-&>WwdmsbejERgWjtAYeLVmAr_!3&|$3C(ak1QERTdoUsTS4I61O#GMM3X)jO zCcrJ@zho2ORsv4d)ocR1w1Ne>8c+Oq5&Dr0Vnk9N+%ozc~_!% z$n6+fLCclq^qZYL8fGU7BGlVl+S_tn2!hfRfrQ<>+to>fWb5OR)19TA6ePz2M2Mx( zI)G&g7J``k6Cv#fg#R*}0C9qq1Qyo+E}uZW%3TR3{tm*f7}J|}0i&`2vqKAF<#Hh) z@C-`?5h6_9ObiJjh3!CLV*#P4O-aefOWVlEWPrpFA>|4Y`CHHC247V{UCBk_wJ13$ zvGE#_Wx|vS6%mSXfKc*zO?Xcknu>3i7x6}y1;Dk*-Qy`xDv^SR&BBRP=-_zfHsZpA z*W*PyQG{1--UuO3dhf2iUm|>pVbDi!<#3>NX$F#`02F~5l(c4#vVkITsqgLjL&o=i zl}-FF3BN7KWTSJTT~B=ZlE4S9dI(BuSr&!A0KnbNsqirT8CgmgK(HY2vGOQzZ!{x@ zhT%3Qheeq1_=)tWFleL!RfrE)#HFViBGX|?i2CxK)W#weYl; zP>1+-1xeZ4&C4V9*JQx`Tgd94_oKI+1P zVW4QnQV*LAUpqxZ2` z8*stGpu*jW*02j$0tN2w=eY;z=LeU*l!UfUJcX2wy@0U7r1?inC#D5j2A#@~fm{Ge zEr?0}5Lt3qI@y9O6o-=YYQ|aMnz8wEs4)L{GngN{S02Oj?ldNshhr3OHseiBUZ|uK z?z)c}2-3zCr^Ef;vidK~DGQq6LGQ?{T_q+zyixp6?&i1^Qa_f=A44jMMEf95U8-e0Aot7A=?c^-#`pd}VRZE=4fL&W!$ zmue(&5>3Tr(YgB}^e#Al)Z10&`wIN`V~JL+m&48A1^ZtNEwutGQD|(}+fh0Ruw$|( znJ(l_90|UQzaBHWu#SKxHLek^Xas z{rf@0Kete#4=i8+0O=&h5Rl?};oiAg6nU7daN4+#EK)^}H!3e?xgaJQ5x3?*yPx<5 z*={pau?*J@hyXnF_`Z{zU;yfNFu>0WdOpSslYmY+V|Lg$!8py==?DiVIGgVzunx!o z(4j$`xXcP;cLOf;8mHC-;U7?ZIWNcRsGxoa*BRgMa-32MT-`C6CSdPu9-tU?ZfhN( zq6AaA_faBTV3$sH9c|VrTeHLSIqg;1dreeyBJKXfsREf3oa{Vt*t3VxpzN;BKuvPW2cRMgpb(Abh7w=xQ zugkpmh zs+92&JV@ThA<>IFJ4UOz=NXXsN-NR}(y;2SkRG+tE>5Ofp+wJ(EgIw=TAjgR=kvlY z!CpcB0QdX_yFg5cMVJWG6G8QH0{F?05QGUPH8`1;$aVwRg;Z!R27M-`FvA(A_La)0Bp(nI{b;J14U*?TvrJ zbGqo+*)xfvu_u!!>SjTd9(aRf6w5sbHE_-_O=PWU}As$ zph@*a;h4*4XIpQ5NpI?8=fci=$T!XJTi(_r<9MD8v*Mz6>gj2)iz?Y{yU|1T`paLwU@boP1C13`gTy8 zIaocYJO8EosHc}1PnA!WtQ-05vq{SE=L?%G zOfGFwDh}#=)bYFD&X?CBl8N`54ax#CiSn7RedMbk_ zyvu-B%(0`Y+yjNAtXQ`V1S?jmnIrOAVoGUC{=b9k)k4tA|w!2A?yf< z2#N?u0WDQjRKOK$D~e8CT1BPS)|J+2JDs_=_v9j@wsva&oczT<N0$9>MJ!BbZ*Um3eUrt(xt93>s?9T(1Dh);-r z^xY%1k6IuQAb;g!`771WBRFV*(%-|`QHn?5e=Yxk85to=L}K_J!!r0&$ zuVc|-Bo!r5x079-j$2B!{qsj{pXmh(wKm>;=WuJ1&qqtUu5~1T`gqfc(e6~WV>IrHX#3fW9qM`uTLY%~Z2Y4r{D(UH+0{KDrK zKzPrAo}}cYD}TH4mKq5`qwwl}%>Rz?G)szzFW%$G13RC3D~1)S$XOv6ZYw$iS8tZc z%#CabSFF#vUsQJ04^wyj`_&0YZ$Ilz_v^a(^yj{ei%Ef4 zY6e3<3Wxw%VN1innZDzFpbVrG6&8UGP^`<+HMcZ_QGG}HKodv|TOJ0Y!By3K)f<%& z)`eT^n>WnCtrM~TZovQ@&xH^7Jl*uYT4v7I+*Hy^^3XwF3>h#F@@kXBZl#xK4o0nfuxV5NQUs76DUQt<9y{)FU zZhQTXhN?-G+}Bk?$SSKV;q9ORbbwHJKKKW&fC3N)Nd=Xl8vuZAKoYzp7}&f~mLXlQ zdH>+gpEefGqXi?4@ZF@b?nd-ea%t9$=}k9$5jc&JxDso&&v{SZu$4K~S~WuUpT zyb_!RC5b<&Gx?BSw5N|-{_vdp-s0kP8n|II2a&jeR+k(qh;~n%{ zkN)|b2`=~FR8q()G%()a@`kgG7O@B=n}ial5byEb&4tOi!f zT#^qM^dCNQwC~vQ6a52&Cr_O|J_+MDVSv~I3BUj-%9`Rsn6@mjJ(;}5+mgU>I zTz~e-fL2e9a?ol@sLHDpeWGkM3$F0|Q62H6wed5uVu!^88Od`));f)n?v^QF%kdlX zHV2c#QFmsUlIlk1B631)0Kpz%xHEPsac(y5wD$ROdN6Ch@{_0?hg^&#a)$2EIe)-j{+oN~x-W$6<$%_4Ia0Ei|A5cte0$2=y3s^x$ z02I)J{Q*M++$NF*V1d=!P@0$?!a$=?KjthgWtrvo)2I-ff!2V|d&C7WIEq7Y7Ch~O zs45o>>95lmX+I<5^E=1!^O%Qo1@3_ot9(+i#(!Gm*rlxf&PiUH4Sc_;p5}>y3{tv+ zz`G~7#JT)6+ugKxik_~`Ky z;UqQVm(;R_0wLf4E)W_>5|9FL5F>yEkpg@G4l)O1ffvBSt~?v^zT`9CY`1DDS)}Kb z@%-95J?EDSnT>6hT<-vKPZWlPcsH^wvIM8J+t_{KG>;AZdRjh%kgY0pXP;}wN?YgJ zAn^)y-Sxo|O;>+z)wDH6s7UjL4OvB8loFgN#EXrL$+q;o`Sf|FVrr?BWJ`)6T5hvK z3RSqB(%n;&_E-_77Pechw@d5d)Z4c8unDjP53^PDl!l(-71XK|=NP0j$9u|&$__?u zJO0onTS`XW>Uk^IJG7^KY=ig3Z z$jtvo2+{?pfYWc1gN-B(d27irtxi5nM5G^K*|z3(E=w#GhBu4ZyoG1XEhW?1i$_K7 zLgqePnaZC|K3<^tSgY5xDrWq$AfcMAIo~h(jGOcLu7&MMocZ_0Rmm0Ii-uP7yHAos zsgbKP<}JjNaJE}=ghpF!C~?J{Y&VNasX2Ljt#GrpL6GRWYqyNt!mXdCYiFBJHxF+> zrjiROMJ28feuWGpD^xe13nN?=jLV`ot*2Ms&4q+iohPq4w7c9b=796RX({?8+Jh<(ZR8V>X=XwXP2}t zYvsl`Zbb->xv}tF0%b>QuA}GToU~?rX>nTDJ{Rx!BG1D!kBKB7IlsF~9;@>UT0Enl zGGosQ*_O4^&x4RJh-XDcF9LvnDO76^YA1m?0DU-peTfzOD@l1hUP}53pLA=A;=0L3 zVxz;ADb*aix-)kZ*}t3{vMt-RbHSXjcO$yji#yF{?mR$pve;>q7wI#%v^;bX`DRsy zSp>hO&$lV(9YGy;={vdf!!@QW&i02sbPeZt29=K|k6p>jX_duRzu(Nt*Np6ny3~95 zeoNJXZ^_R2CSWcpp_dtG9 zTZ&@(b9c7n%Q3`mawopAXu{Tm9RO;eX8}YwsuR~3_ySx=2i#%kXoihBZw?eqpbYZ> zH3e=CtPQ~Znn74ZWP7BB zIaQn*xUx`v%XpB&4C!++CNdbrgb%4G;)szmGE1n8O-^(snX`n-=8&0%;z^aJF9V~4 zzWqnXwEaHN&VKZY2A%{%5EeluxarbG;o2YxI1r4jb3f;T40>}3e{tHj0>eUaRc!8I)o%vwHb5YlQ8YptnV`{JdCnI%|7ofjyJ-!QLJ}W72L%8kTD>YkZ(W-!~VvIzw(2_ z@F$@Ydgkv@^u@`FrfCvGxJd;$ssju8+te!^#p3B3IA4c54bz4AxM#Wfo~Bg%lX^#A zzWkhXO_(g6-t&AQsVIiV@G-VReK<0X8Wqx(QHz{%!!iZNBsHhXj#fw|>8x=zR7Q$D zouO_N8<$X-EV4C?#atEEB&MP2RpA69Bf^SaHu|xHv5{}@=O;LrGnr_FuUQ;H9I~B6 z#CmmHUayxx0Lc7@dij^Sr2$cI`0vuP)_HU{+ktQn{YJqx#gn5`d>ze7aVSYA#Y%}Y zvP^jNn|Q2=7H>AtSW9xi^5(2-I{J8*CAIy=P|x_j@L9xwG=JtiSBei!fGO!|E>wCz zkO1{bbk1EPsEBc{2`#h2Jm)vtQ*+7HB4cG}z8$49)L4v#_z>}J4UB9bdZ#Ud?mtPQ z(MSh<2!`#FGURiOKs)WYkVZ^MAky$7|K2Ts-YVz)ajX0kTIJ+1YGoCLSeo#8dkVNX z1wmg?vnX6XpnBwFp|~Su3JY!^HW616@;}IS3pHbIy^&=%BHI#c3Ymp1KP1voe*4 zelis^I(GHuhnJ>@NGS;#lzQJ}vNTa%hR4vde^Vw6(*#X&<{O$MgaNzkKf&WY?dY^_ zGml73pnpBjN$9O%KU0LA*=`{qTXdmoaKo1Vl}N{M1wWh={dKL}hxTbpaM|YlmDv}o z1)8D4g28L+7m`0U8s9YE#FlfzZK*5og2N2O>`asJSe>^!J|JK0nq5p$;6-s|GYIJN zVkCi-xIVKnq*N!GPpMm{ODt-}r!7SG&hpD!6TIYo!i*yegS$HQ_ad)>g?0mwV#PU{M@+fr4Q}ljs zZ(feM)8NR6Yf+$_f$L>@XidbTo~ZG~j;8zKx6C@MiJNa<$vga2>A--(k#MJ6aDx>W z#C(ij9BcN49@YF$oC;xF=%{TPj;FZYIDbm)Soi#Yn+yKI%m~mda?R9HHm2oM(-QMH zpb5)UB5=`u`TlIwu`+gUazt`^+N}3B$M481aBK^Gui0K1E0`&t=j+nKpKDd_MP+0S htmWARpgROMJIy6&HkVJF4qCm#!(p4K!{P|yg7K~WJ=NC*ZbV343J z0Ra(EBO;)U;KJsDpn{@c52Yw*yU=P|w&OPKd=Y4=cB~rzP5z`RRrlsR?|HxP94{YF zdxvlX$N&;SkZiwf@RvbFjbil0Xhmg(yhQ%#&rk9~`N-puhNgx$Z{NrYWp7@;Q5;o_ zJ{vvTcJ}k<&(M#23_p|nJ%WSW*c=a=Synh0JZtzKRaJ#35KH+Ur3?t~YG9mgZ0qbA z$4Yx;AIZv9hgfgJRW?u8%IX--;X%~%6;~)h<_CMK<9&~ZofuGT?fNb8!cc9(qFF^Z zo-`z0i{0Ti{#x+l#A{P4$}9SA_BEVt000ej4TJXv0Y=BAj!z#x0o1-beP_>~1%v=~ zj0#=c)9Dl7&{kpT&ki>CZ_j~vM@=tVolhfDy5d+J8K$ikHfC(W?-m$G?O?Su*pWW3 z>U)Bk@4t#g$2Dnu)g%Iw9(gzdL?|^iHFRI^25Nvr<#e0Q0+roYyMZR48~6Y`0TO>` zsRR~TP)X2@nHKk=j{x1v^??hl7ppX<%cTb zG``(O5!iD;0dxWc;0Le)oDo2zv;^n}EFV4rM!*Gj3b6c;Lts7eC1Br2_L+BY)|;{h z#ehj%NJV|rVV60MuJ+)`BMeD(b+JP9tjl;ULmEitU1rM_eT*IMhBq*-IE04(i`PS# zA~(pKW*Mt^h4td8&ukOW0H(SVlHxjd*Br0-3>#9kN_fILsV&}~NWr}F0}=b>4hKqq zf)6L`tuk>UgrLV=qti)=^(JSU&z?Jfp{2F0z2oAg%U3$Dc3qw@mORN=fD6#U7?jI- zrw^cmH3swOzWHT5_Xfd8CXWHlmv;Irwm}7ciyXmONZ5(+wD?881QYs zhFA13hj0`^^SvXrMcN$i-XY_jIVPlwGwdDSk^40y+{hO6!G138aa`lmJ+p~xE_r2S z2~Q3UZi|LU+aWmF5@x_*Lb1_Kh&UI`w#;Sl@|c2{LZ&3K#Lz0gTw4I+11dG~TNSk@ z>*^a$o&LG;OjEOB!f(|4?p-X2q&&rHumJ=c9$Mq*jWZK3Hw0Vo8`+OTyrbz{&1w*KhQ6 zO%P*~hyg3G5KsbQfT$#XG5Rg2@+$rEK@U@aof;_5Ws&`uoz+&7;qY?zsfP$xeBDmd z(w;n%>qPTy22Im~7Q6RRV!S%xM){)R-rnavch@d+G>XOjdr5rP(%X8znTOQ z#>Z94uC7oWzoT$pxdZ?T5RKs=>GHjX$Zrg(-0MuHM}_PWK4Hp%q}(kVg88Z=uw7JV z;|ZDn@VxDIgYSOlx9(Zvy(uQiTRm4N$~1M+dhyKq8ljh^$?&-sZI~6!a8Jn;YD?iY ze0N($VJ?x%Ga} z%iD|kW;PG)HHPRWE)N4;70zkX9=*BK#0(6JIUe1peQGN7&U~KPJpbBTzOmF_`t7O~ zR?WT;et+8h%PP62JVIB8rc>WpJ!UQmxf5y=c**V*WyW^Sgt*Ch1?msD=0PX}m7pAe z`UB2Ch%C^6KnQ^D18zK^9vqjkAV%kdygGKy{`s}$&s_8Di1j7Bqct(l&+}O~;y2t+ zs0nK4s*!_S*!ISHDo6`g6DsMcYH#qyh?oak%8Ox+8~JTZ0sjVe^sklzuG_JSGM1EM zu{w4OeQ7D*mvDZDTEF>02x>8Bu~LyW`LFaS?S|}94uUympLu$G%9>&2Q zR;Z`ncUp=v@h)|M69c9Jh64lv5o3o5s00I17M0h^ga`8hGyK~XIeu?^=L;VLTFN)W zdztj|b4w}Tn?)Dk!k9V`HG<-CQwDq!il4VO&Lma|boef{x*`j1Vw7HA_Qks3Q2Rdd z_GfUwKU5I{0ok^T5N4^ia+hQ&k~kX=6V^weWH{Y?BF-i?PLXn;0O3o9gJ4%ueE0-N z0U!ti&{O`(f29H61i*K&zW$6CgM|MspgRp|ytqaif+%)qX)R@rT=Zx(fTKq^B+6xL z*=tpZhgl2tpu2&GtnSp2$?MAE=sgcO78shyHCGe)tCI+(1X6Tp(#$Eb{(BHI8OiY{ zs&2KwkvATw^j9J0TJ0sPt8B!plO;1J*eCD&c)I~1KGAN#1i;z@On|Rk_=$EiR&CJz z-`V*AvL%i((+wkXS=D%`6r)0_GL19#HXMl&htJBVy9pxr#*i0Dc*6QAt-(mJn9WXC z8|^9kSWMQN54Y8G7-U;rwFH9t5(a)FA%cqA2$5B{Xp!K6`KW+~5xq*BhzMd=;+{*# z&2u|;I2n-`kW`6iax&SYN@wD-pB&`Mmhz>n0R&}B0p%XJd~>|1ed{Bd1%mwVXGx)J zaP=q|l2&`JWJHz!v+=&ANwo%q-p-NY$Q;|{rMfPDuz>eEIDS?VBvK8~@+MyT)jN*7 zxbU$?f_eB$cRv@2u*T%A9+A6BH^Or@1KSWw#bu()ba8N|h=$wli4as(^B_W$9)9J5 zN(f0e$VKu{B!~9jh<>=5RR5i*Sfe!Pq&XxlZH3LfB|V9n7S#evHbe;}F#ua z=G5FevUR0am~&lI@X&h7!V#$X7L84?U3{^f%ifZAz22k9KzBxr%2rb75@s+#JJ~wj zFj!@$rfZ~>PMoi@X(~PdT~99x5$fVRtcy465aGp@)ik0g1VvO;k;5Sb84afz5Yoay zYNq2b_mtSR9l8^+Dqo{Q2+RVOfh7b^DT~(!WnzPi1y_>LH2A00Ri#y3f$@y#FnZ4# zLmR1(fsDmvd624qG065^v|sF!$*qH@HVZgggIQ|AB~=d87loM*D8~j)tr{G#i@{OO z1k@Mo7&si)Qusb&=aT+w5zT*CSl-w)*TgZ&Vh!DT9Z|H1wwlkjL!=sJc00)n)3o4K z`D(>>C@k|`<*bQY?S^p7BiG6(WwoacIS|mQwS+p-L_Ggbwc{x73reSF*_Lj0%f;O; zJWel+P~$uL$u7>qRD)*XR275G*E3TT{S+j@ftHc)loR8%_K=kb#sbB+(z^-UdJgw< zbyi+h({#JUV^TO3-%K1w5D@bE=voI@LlByE%f9EX6l$p z40f!R=1}L91ud{QSs*X8UJ4(KFjcr{;5_S)MwC-`f}$6%XkB`a0W%kDuF;&p`flsk zE8nY;-}PAtLD@6pk-11#d`hjpz$-`UE$DuF#N;{MY{~r9`oA8#?DL*AkHPnjp*h+_ z@NHA(6icYNQQ=#o26)c~c9xcg>qmu6lk`UFIyu)=XjnfQbZWX+aI-nAy5BS&CWz~8 u2XuHG_cYC3`*?!kgVsM}ytN@g4*Lpp#BpyO+HL3=#-;S5VgK*t!|6Y15pcHv diff --git a/themes/default/assets/images/loader-mini-inverted.gif b/themes/default/assets/images/loader-mini-inverted.gif deleted file mode 100644 index c7c95b948d30a5a8ee87741d663b2e05c77db59b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2722 zcmcJQe^8Ql9LFED zrgJ;b7M3NImX#|jYeJb>wz1}Z+MQ zu9PGt@`Fh5P4q*QLP0Qu=lS0AEP_tO<;zX8Rt=oC;h{ZSwCg_9?LSy}^NgPN{^Zfm zsgFN5r_N2S-ddfzBDecww^$?|yfO$doku!LHkJ&2Irwi9G+HT_xVUT3q4tAkd zzeC$X_dNe;$!kB99vm)3M^z>Us1O_i=2ENFZTs6mv8l1Cu&D5y>l_hBsF$ick9C4* z%dQr`9LnqHKjspywIs(=Lst_vCyR82QR$YOR7hP~cSP+_+3=$tyI#hdx=p6_2~G+W zj3ZzIMTP>T1kVXTmY2wbLA9@H6`2Z<0>QR}ZD4u*_Ii*-=Zy3php|8qt2Psqt9;T> zlt-}Gk!8n+2f5DA=?A|PD|M+f*Oa9G!nr%$j*^UaRm|wHVS(BlqATleMwYwfqE(JeB|a>slX|;O*bLdT z&{sk({rGhX4HxW#qj>KtuxJwuiAc zUb?;Mpu!1^FRpmJrQiq#we><073mK z#iaoVuz^c@qbtQWl!h@)GtGMpx9Ewc8(N1iqjK#t{wy z0H6r#1^}=FzyLhnOu!Dv2Ot4>6ei0p?-RXLfF{LbFRtcRt`9aWXh z1Y7_GL;wOrV49aDNT$oDC+|j&-8MGFCA&bnNq%b zyaI)_f+B%K0|jVL5P|TZOrdPXFHnv$@c9;PPU{lF$ft>FS{Mcvx}J?NNaJ18*an50 zf@XW7LE*^#C5rOgfimiJjfEdwv1_R*4=KqYVmW3GsRB z6Xx|?ZiWIH8$$HgC!~hX>+lcDB$t|(HCAXteqh#JAhgPK5 zq(zaX7dd<(H-z*JK_1_1e}BR$`1=#qbNv1k`OJPhHf=MX5>J<$i0#$u`*3E{WL~v> zM^ywDr8VOAXH{KI{CO?S*_BK>oBzBkrUPGzSD}s$-4bRMSwqHH z)Ufij5=^mkZ!c+Wy+4pKBv79sF~C3?-Vk8h0l;I3R17ds6<`!BKS06-qso6s80=J| zBKQxq|E$m~6pA@k)wO3wHelyfGo@#yQK#N|rqrozrLXNRCFm$EJ$n;^Qe)TH@lwKI zS)kA16>UBDzKDAtwf*8x>8bitt?ZZIM6sOMPIO^jjZ%RdOyGJKWr zp9*v#6lj5|n<0Jciyt|0Ga9o=ACe6N?)Rv(1XE5Kn!2&xg5&0stsg}t;zxtYi8h5j gW_w1fQu2_QnZPn3bFlfE(=lJv_)g~k=+Ak71CD7&bN~PV diff --git a/themes/default/assets/images/loader-mini.gif b/themes/default/assets/images/loader-mini.gif deleted file mode 100644 index 7f3e27c704155e5c2d5c4b7c776fd8f499f8e04f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2548 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 diff --git a/themes/default/assets/images/loader-small.gif b/themes/default/assets/images/loader-small.gif deleted file mode 100644 index 8c9f60ee2944554b57e0c79b6ad70e515c2a257b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3447 zcmchZc~nzp8i#Lg?!6=sAfaIq0TT=mAchF25nNcpBHKw26kMaC1Ox>|i&knvKo(hL zQE0|O1Pln4sf<;jPQb_*mx>zehKgvN;xeK#bz@4u0D*MIcIKR(Gx>*e63+KN@9%!^ z``n;Kf!w)ktRO4sAq16ImOpy@sO@;$&`(3MgECpQ?Abq_4gWk`US0m|$+O}2!*%ky zk&zKd_o0s%MFd1G_V?unxU)HU9QdC84j~dD62#K}kM>vynNgy4E{svID2kDSOd2AA zh>DOrxlPD7-=!trPe1x%*NYKlO-eA!y7*k28$5o3>EsDgP*wB22B37D>d-nRz$$!Th$%~E#!`GkTH zBv0jfnibuaTk_|c%s)pb5|nnZ(%tJl#qI{qvJxu3{A1hBOPkv751!Z+@ztFdZ#!1m z>RK?FY(WZ`K~5kr00~+E*dR*~DxhsU)du3!lD{7Y4UWMhOMBD%M`>vWkPZlP$ zuCHRPW;)lWdXh3ZXDP0mgm$F;(o_!WV}r|u-ZOP!m|(3!oL{cE zMW_(XQXw&rCi&cU98Fbg;k&mXZC3v5fYMv4AI!YOJ|`ZU6JydxL38u+_Z9?wjCO2f zv|xZ1%!n>rE$!ov(WV00Kr(F_1^d@E@p@%yiBG>IG6lxu7yV0RK}sxE-de#64DyX5 zEBj}*g+-?4RB#?3;jZ=3+vHqhQe%sGAVgJ7JJdJi?~$7PMt&r(ePGo|p1|eHed_VSTQh}hBdhcFP!N$Bpr(o9 zhy**PIYU7Dn}CYNDmu3-&XwZ!m>QisM8eaK*UjDVJq4mdA>7t`3C2^SDxP) zUZXa19VobW^vWl1%-N~&-6^!qXO?-g_Z|y=@a_v`B5m?u#ov z?Dx~-T$!M7U8{X(+p2a*^SY<}y& z1>cRQo!vsG&;E;$?i3qUe}?C_KDn=9?Ow2w*(`P4F{_I5K6PgwUvYQd&RIn}IHq#wvv24;5sy}e8NZHpnZM25 zF)4nyMZ8?(dbM!TN|S1I=DRC?74GbocNV&;#*P1Js zFl0Pu{Z*^A)m05xuiz?-sS4Bqn^#+^K`SyK5@3{xC=l5 z`_xWhnTZ*=Duji}e0^FGGGeH3(5+Mbh9_*L?fH1yn54AA0(u-(6#xO7Y_j2?k2UOV zbx;yzgk#EJf`>T-b;HMm5Z=<3*2!U6l_db2wa=Un0!Vz6qp!&sNd72-f!p%V9tq0l)}0^_D10}-Lth@O4|vM zIQTxgwGBkDgj1{v8ghO#e5omd#nT5hd>D3OU+)t!sm7TPs=|%!E)UX8W9Bux;&DVY z10~|b4)pPc^j>D9`mWNx5RB>y^f4wXpeWGCM6v)Bi7WZHhs(62<)tHgAyz+3zzK6P zG70f}T1JB~QkF>_FIb$Fc^IP695hTP*ZM~UR+!&FJ3>XW*OYQ?%#5V++uxGT1)|pc zfEBawIM^35|Fw3C{bbaf+BrwMCuu*>}n`sh%616hxx)5PVNT|3ZnGPX4AP>$Syzs3zzu$mioZ%ID znd4oT(z29!+=hUIo`yZ~YEuW=NdO&w4^WxBjH0fhBE^(P+rm3^kA% zED&UvqnzjhggtdZtYBraxsLjO^3$iHQ@uZLP~L(|qp~can~NVvLf;7Tx4E3jt+aE5 zx-O*gsCPn*NZfnR{UK@=$B!aSGT$Bi{cE%9xXS4GmsV%DCEhJAPIzq_FTBT!cc@KS zAypewT7;hN>p1QA55g#3ibpe$G!hzOx3thMiix_E5uZ~&=93`TV${;A>W&Z)H zhY4%R{#aSM%vwJC?t8&4v^bP@gJi<2-SinQw!C*x`N5WQ_WY|JmTfA0yDWa?s`N

xA+D)|B@z|0K+C diff --git a/themes/default/collections/breadcrumb.overrides b/themes/default/collections/breadcrumb.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/collections/breadcrumb.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/collections/breadcrumb.variables b/themes/default/collections/breadcrumb.variables deleted file mode 100644 index 2807d0d0b9..0000000000 --- a/themes/default/collections/breadcrumb.variables +++ /dev/null @@ -1,43 +0,0 @@ -/******************************* - Breadcrumb -*******************************/ - -/*------------------- - Breadcrumb ---------------------*/ - -@verticalMargin: 1em; -@display: inline-block; -@verticalAlign: middle; - -@dividerSpacing: 0.2rem; -@dividerOpacity: 0.5; -@dividerColor: @lightTextColor; - -@dividerSize: 0.9em; -@dividerVerticalAlign: baseline; - -@iconDividerSize: 0.7em; -@iconDividerVerticalAlign: middle; - -@sectionMargin: 0em; -@sectionPadding: 0em; - -/* Coupling */ -@segmentPadding: 0.5em 1em; - -/*------------------- - States ---------------------*/ - -@activeFontWeight: bold; - -/* Sizes */ -@mini: 0.65em; -@tiny: 0.7em; -@small: 0.75em; -@medium: 1em; -@big: 1.05em; -@large: 1.1em; -@huge: 1.3em; -@massive: 1.5em; \ No newline at end of file diff --git a/themes/default/collections/form.overrides b/themes/default/collections/form.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/collections/form.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/collections/form.variables b/themes/default/collections/form.variables deleted file mode 100644 index f523391836..0000000000 --- a/themes/default/collections/form.variables +++ /dev/null @@ -1,178 +0,0 @@ -/******************************* - Form -*******************************/ - -/*------------------- - Elements ---------------------*/ - -/* Form */ -@gutterWidth: 1em; -@rowDistance: 1em; - -/* Text */ -@paragraphMargin: @rowDistance 0em; - -/* Field */ -@fieldMargin: 0em 0em @rowDistance; - -/* Form Label */ -@labelDistance: 0.3rem; -@labelMargin: 0em 0em @labelDistance 0em; -@labelFontSize: 0.9em; -@labelFontWeight: bold; -@labelTextTransform: none; -@labelColor: @textColor; - -/* Grouped / Inline Labels */ -@groupedLabelDistance: @labelDistance; -@groupedLabelColor: @labelColor; -@groupedLabelMargin: @labelMargin; -@groupedLabelFontSize: @labelFontSize; -@groupedLabelFontWeight: @labelFontWeight; -@groupedLabelTextTransform: @labelTextTransform; - -/* Input */ -@inputWidth: 100%; -@inputFontSize: 1em; -@inputVerticalPadding: 0.8em; -@inputHorizontalPadding: 1em; -@inputLineHeight: 1.2; -@inputPadding: (@inputVerticalPadding + ((1em - @inputLineHeight) / 2)) @inputHorizontalPadding; -@inputBackground: #FFFFFF; -@inputBorder: 1px solid @borderColor; -@inputBorderRadius: @absoluteBorderRadius; -@inputColor: @textColor; -@inputTransition: - background-color 0.2s ease, - color 0.2s ease, - box-shadow 0.2s ease, - border-color 0.2s ease -; -@inputBoxShadow: 0em 0em 0em 0em transparent inset; - -/* Select */ -@selectBackground: @white; -@selectBorderRadius: @inputBorderRadius; -@selectBorder: @inputBorder; -@selectPadding: 0.62em @inputHorizontalPadding; -@selectBoxShadow: @inputBoxShadow; -@selectTransition: @inputTransition; -@selectColor: @inputColor; - -/* Text Area */ -@textAreaPadding: @inputVerticalPadding @inputHorizontalPadding; -@textAreaHeight: 12em; -@textAreaResize: vertical; -@textAreaLineHeight: 1.33; -@textAreaMinHeight: 8em; -@textAreaMaxHeight: 24em; -@textAreaBackground: @inputBackground; -@textAreaBorder: @inputBorder; -@textAreaFontSize: @inputFontSize; -@textAreaTransition: @inputTransition; - -/* Checkbox */ -@checkboxVerticalAlign: top; -@checkboxLabelFontSize: 1em; -@checkboxLabelTextTransform: @labelTextTransform; - -/* Divider */ -@dividerMargin: @rowDistance 0em; - -/* Validation Prompt */ -@validationMargin: 0em 0em 0em @rowDistance; -@validationArrowOffset: -0.3em; - -/*------------------- - States ---------------------*/ - -/* Disabled */ - -/* Focus */ -@inputFocusPointerSize: 1px; - -/* Input Focus */ -@inputFocusBackground: @inputBackground; -@inputFocusBorderColor: @selectedBorderColor; -@inputFocusColor: rgba(0, 0, 0, 0.85); -@inputFocusBoxShadow: @inputFocusPointerSize 0em 0em 0em @selectedBorderColor inset; -@inputFocusBorderRadius: 0em @inputBorderRadius @inputBorderRadius 0em; - -/* Text Area Focus */ -@textAreaFocusBackground: @inputFocusBackground; -@textAreaFocusBorderColor: @inputFocusBorderColor; -@textAreaFocusColor: @inputFocusColor; -@textAreaFocusBoxShadow: @inputFocusBoxShadow; -@textAreaFocusBorderRadius: @inputFocusBorderRadius; - -/* Error */ -@formErrorColor: @negativeColor; -@formErrorBorder: @negativeBorderColor; -@formErrorBackground: @negativeBackgroundColor; - -/* Input Error */ -@inputErrorPointerSize: 2px; -@inputErrorBorderRadius: 0em @inputBorderRadius @inputBorderRadius 0em; -@inputErrorBoxShadow: @inputErrorPointerSize 0em 0em 0em @formErrorColor inset; - -/* Dropdown Error */ -@dropdownErrorHoverBackground: #FFF2F2; -@dropdownErrorActiveBackground: #FDCFCF; - -/* Focused Error */ -@inputErrorFocusBackground: @negativeBackgroundColor; -@inputErrorFocusColor: @negativeColorHover; -@inputErrorFocusBorder: @negativeBorderColor; -@inputErrorFocusBoxShadow: @inputErrorPointerSize 0em 0em 0em @negativeColorHover inset; - -/* Placeholder */ -@inputPlaceholderColor: lighten(@inputColor, 55); -@inputPlaceholderFocusColor: lighten(@inputColor, 35); -@inputErrorPlaceholderColor: lighten(@formErrorColor, 10); -@inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 5); - -/* Loading */ -@formLoaderDimmerColor: rgba(255, 255, 255, 0.6); -@formLoaderPath: "@{imagePath}/loader-large.gif"; -@formLoaderPosition: 50% 50%; - - -/*------------------- - Types ---------------------*/ - -/* Required */ -@requiredColor: @negativeColor; -@requiredVerticalOffset: -0.2em; - -/* Inverted */ -@invertedLabelColor: @invertedTextColor; -@formInvertedLoaderPath: "@{imagePath}/loader-large-inverted.gif"; -@formInvertedLoaderDimmerColor: rgba(0, 0, 0, 0.8); - -/*------------------- - Variations ---------------------*/ - -/* Grouped Fields */ -@groupedMargin: @fieldMargin; -@groupedFieldMargin: 0.5em 0em; - -/* Inline */ -@inlineLabelFontSize: 1em; -@inlineLabelVerticalAlign: middle; -@inlineGroupedFieldLabelDistance: 0.5rem; - -/* Sizes */ -@small: 0.875em; -@medium: auto; -@large: 1.125em; -@huge: 1.2em; - -/*------------------- - Groups ---------------------*/ - -@inlineFieldsMargin: 0em 1em 0em 0em; \ No newline at end of file diff --git a/themes/default/collections/grid.overrides b/themes/default/collections/grid.overrides deleted file mode 100644 index 6273007693..0000000000 --- a/themes/default/collections/grid.overrides +++ /dev/null @@ -1,4 +0,0 @@ -/******************************* - Overrides -*******************************/ - diff --git a/themes/default/collections/grid.variables b/themes/default/collections/grid.variables deleted file mode 100644 index b3b64861d1..0000000000 --- a/themes/default/collections/grid.variables +++ /dev/null @@ -1,98 +0,0 @@ -/******************************* - Grid -*******************************/ - -/* Inherited From Site */ - -// @mobileBreakpoint -// @tabletBreakpoint -// @computerBreakpoint -// @largeMonitorBreakpoint -// @widescreenMonitorBreakpoint - -/******************************* - Grid -*******************************/ - -@minWidth: 320px; - -@gutterWidth: 2rem; -@rowSpacing: 2rem; -@tableWidth: ~"calc(100% + "@gutterWidth~")"; - -@columnMaxImageWidth: 100%; - -/******************************* - Variations -*******************************/ - -/*-------------- - Page ----------------*/ - -/* Column Gutters */ -@mobileWidth: auto; - -@tabletWidth: auto; -@tabletGutter: 8%; - -@computerWidth: auto; -@computerGutter: 13%; - -@largeMonitorWidth: auto; -@largeMonitorGutter: 18%; - -@widescreenMonitorWidth: auto; -@widescreenMonitorGutter: 23%; - - -/*-------------- - Relaxed ----------------*/ - -@relaxedGutterWidth: 3rem; -@veryRelaxedGutterWidth: 5rem; - -@relaxedTableWidth: ~"calc(100% + "@relaxedGutterWidth~")"; -@veryRelaxedTableWidth: ~"calc(100% + "@veryRelaxedGutterWidth~")"; - - -/*-------------- - Divided ----------------*/ - -@dividedBorder: - -1px 0px 0px 0px rgba(0, 0, 0, 0.1) -; -@verticallyDividedBorder: - 0px -1px 0px 0px rgba(0, 0, 0, 0.1) -; - -@dividedInvertedBorder: - -1px 0px 0px 0px rgba(255, 255, 255, 0.15) -; -@verticallyDividedInvertedBorder: - 0px -1px 0px 0px rgba(255, 255, 255, 0.15) -; - -/*-------------- - Celled ----------------*/ - -@celledMargin: 1em 0em; -@celledWidth: 1px; -@celledBorderColor: @solidBorderColor; - -@celledPadding: 0.75em; -@celledRelaxedPadding: 1em; -@celledVeryRelaxedPadding: 2em; - -/*-------------- - Stackable ----------------*/ - -@stackableRowSpacing: @rowSpacing; -@stackableGutter: @gutterWidth; -@stackableMobileBorder: 1px solid @borderColor; -@stackableInvertedMobileBorder: 1px solid @whiteBorderColor; - diff --git a/themes/default/collections/menu.overrides b/themes/default/collections/menu.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/collections/menu.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/collections/menu.variables b/themes/default/collections/menu.variables deleted file mode 100644 index 17413f8340..0000000000 --- a/themes/default/collections/menu.variables +++ /dev/null @@ -1,322 +0,0 @@ -/******************************* - Menu -*******************************/ - - -/*------------------- - Globals Used ---------------------*/ - -// @textColor -// @borderColor -// @invertedUnselectedTextColor - -/*------------------- - Collection ---------------------*/ - -@margin: 1rem 0rem; -@verticalPadding: 0.83em; -@horizontalPadding: 0.95em; - -@background: #FFFFFF; -@itemBackground: none; - -@fontWeight: normal; -@boxShadow: - 0px 0px 0px 1px @borderColor, - @subtleShadow -; - -@borderSize: 0em; - -@transition: - opacity 0.2s ease, - background 0.2s ease, - box-shadow 0.2s ease -; -@borderRadius: @defaultBorderRadius; - -@dividerSize: 1px; -@dividerBackground: linear-gradient( - rgba(0, 0, 0, 0.05) 0%, - rgba(0, 0, 0, 0.1) 50%, - rgba(0, 0, 0, 0.05) 100%) -; - -@headerBackground: rgba(0, 0, 0, 0.04); -@headerWeight: bold; - -@textLineHeight: 1.3; - -@transition: - opacity 0.2s ease, - background 0.2s ease, - box-shadow 0.2s ease -; - -@menuTextColor: @textColor; - -/* Sub Menu */ -@subMenuMargin: 0.5em; -@subMenuFontSize: 0.875rem; -@subMenuTextColor: rgba(0, 0, 0, 0.5); - -@subMenuHorizontalPadding: 0.5rem; -@subMenuVerticalPadding: 1.5rem; - -/*-------------- - Elements ----------------*/ - -/* Icon */ -@iconFloat: none; -@iconMargin: 0em 0.25em 0em 0em; -@iconOpacity: 0.75; - -@dropdownIconFloat: right; -@dropdownIconDistance: 1em; - -@verticalIconFloat: right; -@verticalIconMargin: 0em 0em 0em 0.5em; - -/* Header */ -@headerBackground: rgba(0, 0, 0, 0.04); -@headerWeight: bold; -@headerTextTransform: normal; - -/*-------------- - Couplings ----------------*/ - -/* Button */ -@buttonOffset: -0.05em; -@buttonVerticalPadding: 0.55em; -@buttonSize: 0.875em; -@actionButtonHorizontalPadding: 0.8em; - -/* Input */ -@inputSize: 1em; -@inputVerticalMargin: -0.6em; -@inputOffset: 0em; -@inputVerticalPadding: 0.4em; - -@smallInputOffset: 0em; -@smallInputVerticalPadding: 0.4em; - -@largeInputOffset: -0.125em; -@largeInputVerticalPadding: 0.6em; - -/* Label */ -@labelOffset: -0.15em; -@labelBackground: rgba(0, 0, 0, 0.35); -@labelTextColor: #FFFFFF; - -@labelTextMargin: 0.5em; -@labelVerticalPadding: 0.3em; -@labelHorizontalPadding: 0.8em; - -@labelAndIconFloat: none; -@labelAndIconMargin: 0em 0.5em 0em 0em; - -/* Dropdown */ -@dropdownBackground: #FFFFFF; -@dropdownMenuOffset: 0px; -@dropdownPointingDistance: 0px; - -@dropdownTextColor: @textColor; -@dropdownTextColorHover: @darkTextColor; -@dropdownIconMargin: 0em 0em 0em 1em; - -@dropdownBoxShadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08); -@dropdownVerticalBoxShadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08); - -/* Pointing Arrow */ -@arrowSize: 0.6em; -@arrowOffset: -(@arrowSize / 2); -@arrowBorder: 1px solid rgba(0, 0, 0, 0.1); - -@arrowHoverColor: #FAFAFA; -@arrowActiveColor: #F6F6F6; - -@arrowVerticalHoverColor: #FAFAFA; -@arrowVerticalActiveColor: #FCFCFC; - -/*-------------- - States ----------------*/ - -@hoverBackground: @subtleTransparentBlack; -@hoverColor: @textColor; - -@pressedBackground: @subtleTransparentBlack; -@pressedColor: @pressedTextColor; - -@activeBackground: @subtleTransparentBlack; -@activeColor: @darkTextColor; -@activeBorderSize: 2px; -@activeFontWeight: normal; -@activeIconOpacity: 1; - -@activeHoverBackground: @hoverBackground; -@subMenuActiveBackground: transparent; - -@loadingBackgroundColor: rgba(255, 255, 255, 0.8); -@loadingImage: "@{imagePath}/loader-large.gif"; -@loadingPosition: 50% 50%; - - -/*-------------- - Types ----------------*/ - -/* Vertical */ -@verticalBackground: #FFFFFF; -@verticalItemBackground: none; -@verticalDividerBackground: linear-gradient(to right, - rgba(0, 0, 0, 0.03) 0%, - rgba(0, 0, 0, 0.1) 1.5em, - rgba(0, 0, 0, 0.03) 100%) -; - - -/* Secondary */ -@secondaryBackground: none; -@secondaryItemBackground: none; - -@secondaryTransition: color 0.2s ease; - -@secondaryBorderRadius: @defaultBorderRadius; - -@secondaryMargin: 0.25em; -@secondaryVerticalMargin: 0.3em; -@secondaryVerticalPadding: 0.5em; -@secondaryHorizontalPadding: 1em; - -@secondaryLinkOpacity: 0.8; - -@secondaryHeaderBackground: none transparent; -@secondaryHeaderBorder: 0.1em solid rgba(0, 0, 0, 0.1); - -@secondaryActiveBackground: @transparentBlack; -@secondaryInvertedActiveBackground: @transparentWhite; - - -/* Pointing */ -@secondaryPointingBorderWidth: 3px; -@secondaryPointingVerticalPadding: 0.6em; -@secondaryPointingHorizontalPadding: 0.95em; - -@secondaryPointingBorderColor: rgba(0, 0, 0, 0.2); -@secondaryPointingHoverTextColor: @textColor; - -@secondaryPointingActiveBorderColor: rgba(0, 0, 0, 0.4); -@secondaryPointingActiveTextColor: @selectedTextColor; - -@secondaryPointingHeaderColor: @darkTextColor; - -/* Tiered */ -@tieredActiveItemBackground: #FCFCFC; -@tieredActiveMenuBackground: #FCFCFC; - -@tieredSubMenuTextTransform: normal; -@tieredSubMenuFontWeight: normal; - -@tieredSubMenuColor: @lightTextColor; - -@tieredSubMenuHoverBackground: none transparent; -@tieredSubMenuHoverColor: @hoveredTextColor; - -@tieredSubMenuActiveBackground: none transparent; -@tieredSubMenuActiveColor: @selectedTextColor; - -@tieredInvertedSubMenuBackground: rgba(0, 0, 0, 0.2); - -/* Tabular */ -@tabularBorderColor: @solidBorderColor; -@tabularBackgroundColor: #FFFFFF; -@tabularBorderWidth: 1px; -@tabularHorizontalPadding: 1.4em; -@tabularMenuTextColor: @menuTextColor; - -@tabularActiveColor: @selectedTextColor; - -@tabularMenuActiveBackground: #FFFFFF; -@tabularActiveWeight: bold; -@tabularBorderRadius: 5px; - -/* Pagination */ -@paginationMinWidth: 3em; -@paginationActiveBackground: rgba(0, 0, 0, 0.03); - -/* Labeled Icon */ -@labeledIconSize: 1.5em; -@labeledIconMinWidth: 6em; -@labeledIconTextMargin: 0.3em; - -/* Text */ -@textMenuTransition: opacity 0.2s ease; - -/*-------------- - Variations ----------------*/ - -/* Inverted */ -@invertedBackground: @black; -@invertedBoxShadow: none; -@invertedHeaderBackground: rgba(0, 0, 0, 0.3); - -/* Inverted Sub Menu */ -@invertedSubMenuBackground: transparent; -@invertedSubMenuColor: @invertedUnselectedTextColor; - -/* Inverted Hover */ -@invertedHoverBackground: rgba(255, 255, 255, 0.1); -@invertedHoverColor: @white; -@invertedSubMenuHoverBackground: transparent; -@invertedSubMenuHoverColor: @white; - -/* Pressed */ -@invertedMenuPressedBackground: rgba(255, 255, 255, 0.15); -@invertedMenuPressedColor: @white; - -/* Inverted Active */ -@invertedActiveBackground: rgba(255, 255, 255, 0.2); -@invertedActiveColor: @white; -@invertedSubMenuActiveBackground: transparent; -@invertedSubMenuActiveColor: @white; - -/* Inverted Secondary */ -@secondaryInvertedColor: @invertedLightTextColor; -@secondaryInvertedHoverColor: @invertedSelectedTextColor; - -/* Inverted Menu Divider */ -@invertedDividerBackground: linear-gradient( - rgba(255, 255, 255, 0.03) 0%, - rgba(255, 255, 255, 0.1) 50%, - rgba(255, 255, 255, 0.03) 100%) -; -@invertedVerticalDividerBackground: linear-gradient(to right, - rgba(255, 255, 255, 0.03) 0%, - rgba(255, 255, 255, 0.1) 50%, - rgba(255, 255, 255, 0.03) 100%) -; - -/* Fixed */ -@fixedGridMargin: 2.75rem; - -/* Attached */ -@attachedBoxShadow: 0px 0px 0px 1px #DDDDDD; - -/* Sizes */ -@small: 0.875rem; -@smallSubMenu: 0.875rem; -@smallWidth: 13rem; - -@medium: 1rem; -@mediumWidth: 15rem; - -@large: 1.125rem; -@largeSubMenu: 0.875rem; -@largeDropdown: 1rem; -@largeWidth: 18rem; \ No newline at end of file diff --git a/themes/default/collections/message.overrides b/themes/default/collections/message.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/collections/message.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/collections/message.variables b/themes/default/collections/message.variables deleted file mode 100644 index 31d615c8f4..0000000000 --- a/themes/default/collections/message.variables +++ /dev/null @@ -1,88 +0,0 @@ -/******************************* - Message -*******************************/ - -// @textColor - -/*------------------- - Elements ---------------------*/ - -@verticalMargin: 1em; - -@verticalPadding: 1em; -@horizontalPadding: 1.5em; - -@background: #EFEFEF; -@lineHeight: 1.3; -@lineHeightOffset: ((@lineHeight - 1em) / 2); - -@borderRadius: @defaultBorderRadius; -@borderWidth: 1px; -@borderShadow: 0px 0px 0px @borderWidth @borderColor inset; -@shadowShadow: 0px 0px 0px 0px transparent; -@boxShadow: - @borderShadow, - @shadowShadow -; - -@transition: - opacity 0.2s ease, - color 0.2s ease, - background 0.2s ease, - box-shadow 0.2s ease -; - -/* Header */ -@headerFontSize: 1.1em; -@headerFontWeight: bold; -@headerDisplay: block; -@headerDistance: 0rem; -@headerParagraphDistance: 0.25em; - -/* Paragraph */ -@messageTextOpacity: 0.85; -@messageParagraphMargin: 0.75em; - -/* List */ -@listOpacity: 0.85; -@listStylePosition: inside; -@listMargin: 0.5em; -@listItemIndent: 1em; -@listItemMargin: 0.3em; - -/* Icon */ -@iconDistance: 0.6em; - -/* Close Icon */ -@closeTopDistance: (1em + @lineHeightOffset); -@closeRightDistance: 0.5em; -@closeOpacity: 0.7; - - -/*------------------- - Types ---------------------*/ - -/* Icon Message */ -@iconSize: 3em; -@iconOpacity: 0.8; -@iconContentDistance: 1.5rem; -@iconVerticalAlign: middle; -@circularIconContentDistance: 2em; - -/* Attached */ -@attachedXOffset: -1px; -@attachedYOffset: -1px; -@attachedBoxShadow: 0em 0em 0em @borderWidth rgba(0, 0, 0, 0.1) inset; -@attachedBottomBoxShadow: - @attachedBoxShadow, - @subtleShadow -; - -/* Floating */ -@floatingShadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); -@floatingBoxShadow: - @floatingShadow, - @borderShadow -; diff --git a/themes/default/collections/table.overrides b/themes/default/collections/table.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/collections/table.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/collections/table.variables b/themes/default/collections/table.variables deleted file mode 100644 index dc3cc6cb53..0000000000 --- a/themes/default/collections/table.variables +++ /dev/null @@ -1,226 +0,0 @@ -/******************************* - Table -*******************************/ - -/*------------------- - Element ---------------------*/ - -@margin: 1em 0em; -@borderCollapse: separate; -@borderSpacing: 0px; -@transition: all 0.2s @defaultEasing; -@borderRadius: 0.25rem; -@background: #FFFFFF; -@color: @textColor; -@borderWidth: 1px; -@borderColor: #D0D0D0; -@border: @borderWidth solid @borderColor; -@boxShadow: none; - -/*------------------- - Types ---------------------*/ - -/* Definition */ -@definitionPageBackground: @white; - -@definitionHeaderBackground: transparent; -@definitionHeaderColor: @unselectedTextColor; -@definitionHeaderFontWeight: normal; - -@definitionFooterBackground: @definitionHeaderBackground; -@definitionFooterColor: @definitionHeaderColor; -@definitionFooterFontWeight: @definitionHeaderFontWeight; - -@definitionColumnBackground: @subtleTransparentBlack; -@definitionColumnColor: @selectedTextColor; -@definitionColumnFontWeight: bold; - - -/*-------------- - Parts ----------------*/ - -/* Table Row */ -@rowBorder: 1px solid @solidBorderColor; - -/* Table Cell */ -@cellVerticalPadding: 0.7em; -@cellHorizontalPadding: 0.8em; -@cellVerticalAlign: middle; -@cellBorder: 1px solid @solidBorderColor; - -/* Table Header */ -@headerBorder: 1px solid @solidBorderColor; -@headerDivider: none; -@headerBackground: @darkWhite; -@headerAlign: left; -@headerVerticalAlign: middle; -@headerColor: @textColor; -@headerVerticalPadding: @cellVerticalPadding; -@headerHorizontalPadding: @cellHorizontalPadding; -@headerFontStyle: none; -@headerFontWeight: bold; -@headerTextTransform: none; -@headerBoxShadow: none; - -/* Table Footer */ -@footerBoxShadow: none; -@footerBorder: 1px solid @solidBorderColor; -@footerDivider: none; -@footerBackground: @white; -@footerAlign: left; -@footerVerticalAlign: middle; -@footerColor: @textColor; -@footerVerticalPadding: @cellVerticalPadding; -@footerHorizontalPadding: @cellHorizontalPadding; -@footerFontStyle: normal; -@footerFontWeight: normal; -@footerTextTransform: none; - -/* Responsive Size */ -@responsiveHeaderDisplay: block; -@responsiveFooterDisplay: block; -@responsiveRowVerticalPadding: 1em; -@responsiveRowBoxShadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important; -@responsiveCellVerticalPadding: 0.25em; -@responsiveCellHorizontalPadding: 0.75em; -@responsiveCellBoxShadow: none !important; -@responsiveStatusColor: transparent; - -/*-------------- - Couplings ----------------*/ - -@iconVerticalAlign: baseline; - - -/*-------------- - States ----------------*/ - -@stateMarkerWidth: 2px; - -/* Positive */ -@positiveColor: #119000; -@positiveBackgroundColor: #F2F8F0; -@positiveBoxShadow: @stateMarkerWidth 0px 0px @positiveColor inset; -@positiveBackgroundHover: #ECF5E9; -@positiveColorHover: #119000; - -/* Negative */ -@negativeColor: #CD2929; -@negativeBackgroundColor: #F9F4F4; -@negativeBoxShadow: @stateMarkerWidth 0px 0px @negativeColor inset; -@negativeBackgroundHover: #F2E8E8; -@negativeColorHover: #CD2929; - -/* Error */ -@errorColor: #CD2929; -@errorBackgroundColor: #F9F4F4; -@errorBoxShadow: @stateMarkerWidth 0px 0px @errorColor inset; -@errorBackgroundHover: #F2E8E8; -@errorColorHover: #CD2929; - -/* Warning */ -@warningColor: #7D6C00; -@warningBackgroundColor: #FBF6E9; -@warningBoxShadow: @stateMarkerWidth 0px 0px @warningColor inset; -@warningBackgroundHover: #F3EDDC; -@warningColorHover: #CD2929; - -/* Active */ -@activeColor: rgba(50, 50, 50, 0.9); -@activeBackgroundColor: #E0E0E0; -@activeBoxShadow: @stateMarkerWidth 0px 0px @activeColor inset; -@activeBackgroundHover: #EFEFEF; -@activeColorHover: rgba(50, 50, 50, 1); - -/*-------------- - Types ----------------*/ - -/* Attached */ -@attachedHorizontalOffset: -1px; -@attachedBoxShadow: none; -@attachedTableWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")"; - -/* Striped */ -@stripedBackground: rgba(0, 0, 50, 0.03); -@invertedStripedBackground: rgba(255, 255, 255, 0.06); - -/* Sortable */ -@sortableBackground: ''; -@sortableColor: @textColor; - -@sortableBorder: 1px solid @borderColor; -@sortableIconWidth: 1em; -@sortableIconDistance: 0.5em; -@sortableIconOpacity: 0.8; -@sortableIconFont: 'Icons'; -@sortableIconAscending: '\f0d7'; -@sortableIconDescending: '\f0d8'; -@sortableDisabledColor: @disabledTextColor; - -@sortableHoverBackground: @transparentBlack; -@sortableHoverColor: @hoveredTextColor; - -@sortableActiveBackground: @transparentBlack; -@sortableActiveColor: @selectedTextColor; - -@sortableActiveHoverBackground: @transparentBlack; -@sortableActiveHoverColor: @selectedTextColor; - -@sortableInvertedBorderColor: transparent; -@sortableInvertedHoverBackground: @transparentWhite @subtleGradient; -@sortableInvertedHoverColor: @invertedHoveredTextColor; -@sortableInvertedActiveBackground: @strongTransparentWhite @subtleGradient; -@sortableInvertedActiveColor: @invertedSelectedTextColor; - -/* Colors */ -@coloredBorderSize: 0.2em; -@coloredBorderRadius: 0em 0em @borderRadius @borderRadius; - -/* Inverted */ -@invertedBackground: #333333; -@invertedBorder: none; -@invertedCellBorderColor: rgba(0, 0, 0, 0.2); -@invertedCellColor: @invertedTextColor; -@invertedHeaderBackground: rgba(0, 0, 0, 0.15); -@invertedHeaderColor: rgba(255, 255, 255, 0.9); - -@invertedDefinitionColumnBackground: @subtleTransparentWhite; -@invertedDefinitionColumnColor: @invertedSelectedTextColor; -@invertedDefinitionColumnFontWeight: bold; - -/* Basic */ -@basicTableBackground: transparent; -@basicTableBorder: 1px solid @borderColor; -@basicBoxShadow: none; - -@basicTableHeaderBackground: transparent; -@basicTableCellBackground: transparent; -@basicTableHeaderDivider: none; -@basicTableCellBorder: 1px solid rgba(0, 0, 0, 0.1); -@basicTableCellVerticalPadding: 0.8em; -@basicTableCellHorizontalPadding: 0em; -@basicTableStripedBackground: @transparentBlack; - -/* Padded */ -@paddedVerticalPadding: 1em; -@paddedHorizontalPadding: 1em; -@veryPaddedVerticalPadding: 1.5em; -@veryPaddedHorizontalPadding: 1.5em; - -/* Compact */ -@compactVerticalPadding: 0.5em; -@compactHorizontalPadding: 0.7em; -@veryCompactVerticalPadding: 0.4em; -@veryCompactHorizontalPadding: 0.6em; - - -/* Sizes */ -@small: 0.9em; -@medium: 1em; -@large: 1.1em; \ No newline at end of file diff --git a/themes/default/elements/button.overrides b/themes/default/elements/button.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/button.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/button.variables b/themes/default/elements/button.variables deleted file mode 100644 index 9ac66a01f7..0000000000 --- a/themes/default/elements/button.variables +++ /dev/null @@ -1,259 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ - -@verticalMargin: 0em; -@horizontalMargin: 0.25em; - -/* Style */ -@backgroundColor: #E0E0E0; -@backgroundImage: none; -@verticalPadding: 0.8em; -@horizontalPadding: 1.5em; - -/* Text */ -@textTransform: none; -@tapColor: transparent; -@fontWeight: bold; -@textColor: rgba(0, 0, 0, 0.6); -@textShadow: none; -@invertedTextShadow: none; -@borderRadius: @defaultBorderRadius; -@verticalAlign: baseline; - -/* Internal Shadow */ -@shadowDistance: 0em; -@shadowOffset: (@shadowDistance / 2); -@shadowBoxShadow: 0px -@shadowDistance 0px 0px @borderColor inset; - -/* Box Shadow */ -@borderBoxShadowColor: transparent; -@borderBoxShadowWidth: 1px; -@borderBoxShadow: 0px 0px 0px @borderBoxShadowWidth @borderBoxShadowColor inset; -@boxShadow: - @borderBoxShadow, - @shadowBoxShadow -; - -/* Icon */ -@iconOpacity: 0.8; -@iconDistance: 0.4em; -@iconTransition: opacity @transitionDuration @transitionEasing; -@iconMargin: 0em @iconDistance 0em -(@iconDistance / 2); -@rightIconMargin: 0em -(@iconDistance / 2) 0em @iconDistance; -@iconVerticalAlign: baseline; - -/* Loader */ -@loaderSize: 1.2857em; -@loaderOffset: -(@loaderSize / 2); -@loaderMargin: @loaderOffset 0em 0em @loaderOffset; -@loaderLineWidth: 3px; -@loaderSpeed: 0.75s; - -@loaderFillColor: rgba(0, 0, 0, 0.15); -@loaderLineColor: rgba(255, 255, 255, 0.8); -@invertedLoaderLineColor: @darkGrey; - -@transition: - opacity 0.1s @transitionEasing, - background-color 0.1s @transitionEasing, - color 0.1s @transitionEasing, - box-shadow 0.1s @transitionEasing, - background 0.1s @transitionEasing -; - -/*------------------- - Group ---------------------*/ - -@groupBoxShadow: none; -@groupButtonBoxShadow: @boxShadow; -@verticalBoxShadow: none; -@groupButtonOffset: 0px 0px 0px 0px; -@verticalGroupOffset: 0px 0px 0px 0px; - -/*------------------- - States ---------------------*/ - -/* Hovered */ -@hoverBackgroundColor: #E8E8E8; -@hoverBackgroundImage: none; -@hoverBoxShadow: ''; -@hoverColor: @hoveredTextColor; -@iconHoverOpacity: 0.85; - -/* Focused */ -@focusBackgroundColor: ''; -@focusBackgroundImage: ''; -@focusBoxShadow: - @borderBoxShadow, - 0px 0px 1px rgba(81, 167, 232, 0.8) inset, - 0px 0px 3px 2px rgba(81, 167, 232, 0.8) -; -@focusColor: @hoveredTextColor; -@iconFocusOpacity: 0.85; - -/* Pressed Down */ -@downBackgroundColor: #CCCCCC; -@downBackgroundImage: ''; -@downBoxShadow: - @borderBoxShadow, - 0px 1px 4px 0px @borderColor inset !important -; -@downColor: @pressedTextColor; - -/* Active */ -@activeBackgroundColor: #D0D0D0; -@activeBackgroundImage: none; -@activeColor: @selectedTextColor; -@activeBoxShadow: @borderBoxShadow; - -/* Active + Hovered */ -@activeHoverBackgroundColor: @activeBackgroundColor; -@activeHoverBackgroundImage: none; -@activeHoverColor: @activeColor; -@activeHoverBoxShadow: @activeBoxShadow; - -/* Loading */ -@loadingBackground: @offWhite; - -/*------------------- - Types ---------------------*/ - -/* Or */ -@orGap: 0.3em; -@orHeight: (@verticalPadding * 2) + 1em; - -@orCircleDistanceToEdge: (@verticalPadding); -@orCircleSize: @orHeight - @orCircleDistanceToEdge; -@orLineHeight: (@orCircleSize - 0.2em); -@orBoxShadow: @borderBoxShadow; - -@orVerticalOffset: -(@orCircleSize / 2); -@orHorizontalOffset: -(@orCircleSize / 2); - -@orBackgroundColor: @white; -@orTextShadow: @invertedTextShadow; -@orTextStyle: normal; -@orTextWeight: bold; -@orTextColor: @lightTextColor; - - -@orSpacerHeight: @verticalPadding; -@orSpacerColor: transparent; - -/* Icon */ -@iconButtonOpacity: 0.9; - -/* Labeled Icon */ -@labeledIconWidth: 1em + (@verticalPadding * 2); -@labeledIconBackgroundColor: rgba(0, 0, 0, 0.05); -@labeledIconPadding: (@horizontalPadding + @labeledIconWidth); -@labeledIconBorder: transparent; -@labeledIconColor: ''; - -@labeledIconLeftShadow: -1px 0px 0px 0px @labeledIconBorder inset; -@labeledIconRightShadow: 1px 0px 0px 0px @labeledIconBorder inset; - -/* Inverted */ -@invertedBorderSize: 2px; -@invertedTextColor: @white; -@invertedTextHoverColor: @hoverColor; -@invertedGroupButtonOffset: 0px 0px 0px -(@invertedBorderSize); -@invertedVerticalGroupButtonOffset: 0px 0px -(@invertedBorderSize) 0px; - -/* Basic */ -@basicBorderRadius: @borderRadius; -@basicBorderSize: 1px; -@basicColoredBorderSize: 2px; - -@basicBackground: transparent; -@basicFontWeight: normal; -@basicBoxShadow: 0px 0px 0px @basicBorderSize @borderColor inset; -@iconOffset: 0.05em; -@basicLoadingColor: @offWhite; -@basicTextTransform: none; - -/* Basic Hover */ -@basicHoverBackground: #FAFAFA; -@basicHoverBoxShadow: - 0px 0px 0px @basicBorderSize @borderColor inset, - 0px 0px 0px 0px @borderColor inset -; -/* Basic Down */ -@basicDownBackground: #F8F8F8; -@basicDownBoxShadow: - 0px 0px 0px @basicBorderSize rgba(0, 0, 0, 0.15) inset, - 0px 1px 4px 0px @borderColor inset -; -/* Basic Active */ -@basicActiveBackground: @transparentBlack; -@basicActiveBoxShadow: ''; -@basicActiveColor: @selectedTextColor; - -/* Basic Inverted */ -@basicInvertedBackground: transparent; -@basicInvertedHoverBackground: transparent; -@basicInvertedDownBackground: @transparentWhite; -@basicInvertedActiveBackground: @transparentWhite; - -@basicInvertedBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.5) inset; -@basicInvertedHoverBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 1) inset; -@basicInvertedDownBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.9) inset; -@basicInvertedActiveBoxShadow: 0px 0px 0px @invertedBorderSize rgba(255, 255, 255, 0.7) inset; - -@basicInvertedColor: @darkWhite; -@basicInvertedHoverColor: @darkWhiteHover; -@basicInvertedDownColor: @darkWhiteActive; -@basicInvertedActiveColor: @invertedTextColor; - - -/* Basic Group */ -@basicGroupBorder: 1px solid @borderColor; -@basicGroupBoxShadow: 0px 0px 0px 1px @borderColor; - -/*------------------- - Variations ---------------------*/ - -/* Colors */ -@coloredBackgroundImage: none; -@coloredBoxShadow: @shadowBoxShadow; - -/* Ordinality */ -@primaryBackgroundImage: @coloredBackgroundImage; -@primaryTextColor: @invertedTextColor; -@primaryTextShadow: @invertedTextShadow; -@primaryBoxShadow: @coloredBoxShadow; - -@secondaryBackgroundImage: @coloredBackgroundImage; -@secondaryTextColor: @invertedTextColor; -@secondaryTextShadow: @invertedTextShadow; -@secondaryBoxShadow: @coloredBoxShadow; - -/* Compact */ -@compactVerticalPadding: (@verticalPadding * 0.75); -@compactHorizontalPadding: (@horizontalPadding * 0.75); - -/* Attached */ -@attachedOffset: -1px; -@attachedBoxShadow: 0px 0px 0px 1px @borderColor; -@attachedHorizontalPadding: 0.75em; - -/* Floated */ -@floatedMargin: 0.25em; - -/* Animated */ -@animationDuration: 0.3s; -@animationEasing: ease; -@fadeScaleHigh: 1.5; -@fadeScaleLow: 0.75; - - -/* Sizing (Uses Defaults) */ diff --git a/themes/default/elements/divider.overrides b/themes/default/elements/divider.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/divider.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/divider.variables b/themes/default/elements/divider.variables deleted file mode 100644 index 2934cc32b0..0000000000 --- a/themes/default/elements/divider.variables +++ /dev/null @@ -1,51 +0,0 @@ -/******************************* - Divider -*******************************/ - -/*------------------- - Element ---------------------*/ - -@margin: 1rem 0rem; - -@highlightWidth: 1px; -@highlightColor: rgba(255, 255, 255, 0.2); - -@shadowWidth: 1px; -@shadowColor: rgba(0, 0, 0, 0.1); - -/* Text */ -@fontWeight: bold; -@color: @darkTextColor; -@textTransform: uppercase; - -/*------------------- - Coupling ---------------------*/ - -/* Icon */ -@dividerIconSize: 1rem; -@dividerIconMargin: 0rem; - - -/******************************* - Variations -*******************************/ - -/* Horizontal / Vertical */ -@horizontalMargin: ''; -@horizontalDividerMargin: 1.5%; -@verticalDividerMargin: 1rem; -@verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")"; - -/* Inverted */ -@invertedTextColor: @white; -@invertedHighlightColor: rgba(255, 255, 255, 0.15); -@invertedShadowColor: rgba(0, 0, 0, 0.15); - -/* Section */ -@sectionMargin: 2rem; - - -/* Sizes */ -@medium: 1rem; \ No newline at end of file diff --git a/themes/default/elements/flag.overrides b/themes/default/elements/flag.overrides deleted file mode 100644 index 2cd5812438..0000000000 --- a/themes/default/elements/flag.overrides +++ /dev/null @@ -1,979 +0,0 @@ -/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */ - -/******************************* - Overrides -*******************************/ - -i.flag.ad:before, -i.flag.andorra:before { - background-position: 0px 0px; -} -i.flag.ae:before, -i.flag.united.arab.emirates:before, -i.flag.uae:before { - background-position: 0px -26px; -} -i.flag.af:before, -i.flag.afghanistan:before { - background-position: 0px -52px; -} -i.flag.ag:before, -i.flag.antigua:before { - background-position: 0px -78px; -} -i.flag.ai:before, -i.flag.anguilla:before { - background-position: 0px -104px; -} -i.flag.al:before, -i.flag.albania:before { - background-position: 0px -130px; -} -i.flag.am:before, -i.flag.armenia:before { - background-position: 0px -156px; -} -i.flag.an:before, -i.flag.netherlands.antilles:before { - background-position: 0px -182px; -} -i.flag.ao:before, -i.flag.angola:before { - background-position: 0px -208px; -} -i.flag.ar:before, -i.flag.argentina:before { - background-position: 0px -234px; -} -i.flag.as:before, -i.flag.american.samoa:before { - background-position: 0px -260px; -} -i.flag.at:before, -i.flag.austria:before { - background-position: 0px -286px; -} -i.flag.au:before, -i.flag.australia:before { - background-position: 0px -312px; -} -i.flag.aw:before, -i.flag.aruba:before { - background-position: 0px -338px; -} -i.flag.ax:before, -i.flag.aland.islands:before { - background-position: 0px -364px; -} -i.flag.az:before, -i.flag.azerbaijan:before { - background-position: 0px -390px; -} -i.flag.ba:before, -i.flag.bosnia:before { - background-position: 0px -416px; -} -i.flag.bb:before, -i.flag.barbados:before { - background-position: 0px -442px; -} -i.flag.bd:before, -i.flag.bangladesh:before { - background-position: 0px -468px; -} -i.flag.be:before, -i.flag.belgium:before { - background-position: 0px -494px; -} -i.flag.bf:before, -i.flag.burkina.faso:before { - background-position: 0px -520px; -} -i.flag.bg:before, -i.flag.bulgaria:before { - background-position: 0px -546px; -} -i.flag.bh:before, -i.flag.bahrain:before { - background-position: 0px -572px; -} -i.flag.bi:before, -i.flag.burundi:before { - background-position: 0px -598px; -} -i.flag.bj:before, -i.flag.benin:before { - background-position: 0px -624px; -} -i.flag.bm:before, -i.flag.bermuda:before { - background-position: 0px -650px; -} -i.flag.bn:before, -i.flag.brunei:before { - background-position: 0px -676px; -} -i.flag.bo:before, -i.flag.bolivia:before { - background-position: 0px -702px; -} -i.flag.br:before, -i.flag.brazil:before { - background-position: 0px -728px; -} -i.flag.bs:before, -i.flag.bahamas:before { - background-position: 0px -754px; -} -i.flag.bt:before, -i.flag.bhutan:before { - background-position: 0px -780px; -} -i.flag.bv:before, -i.flag.bouvet.island:before { - background-position: 0px -806px; -} -i.flag.bw:before, -i.flag.botswana:before { - background-position: 0px -832px; -} -i.flag.by:before, -i.flag.belarus:before { - background-position: 0px -858px; -} -i.flag.bz:before, -i.flag.belize:before { - background-position: 0px -884px; -} -i.flag.ca:before, -i.flag.canada:before { - background-position: 0px -910px; -} -i.flag.cc:before, -i.flag.cocos.islands:before { - background-position: 0px -962px; -} -i.flag.cd:before, -i.flag.congo:before { - background-position: 0px -988px; -} -i.flag.cf:before, -i.flag.central.african.republic:before { - background-position: 0px -1014px; -} -i.flag.cg:before, -i.flag.congo.brazzaville:before { - background-position: 0px -1040px; -} -i.flag.ch:before, -i.flag.switzerland:before { - background-position: 0px -1066px; -} -i.flag.ci:before, -i.flag.cote.divoire:before { - background-position: 0px -1092px; -} -i.flag.ck:before, -i.flag.cook.islands:before { - background-position: 0px -1118px; -} -i.flag.cl:before, -i.flag.chile:before { - background-position: 0px -1144px; -} -i.flag.cm:before, -i.flag.cameroon:before { - background-position: 0px -1170px; -} -i.flag.cn:before, -i.flag.china:before { - background-position: 0px -1196px; -} -i.flag.co:before, -i.flag.colombia:before { - background-position: 0px -1222px; -} -i.flag.cr:before, -i.flag.costa.rica:before { - background-position: 0px -1248px; -} -i.flag.cs:before, -i.flag.serbia:before { - background-position: 0px -1274px; -} -i.flag.cu:before, -i.flag.cuba:before { - background-position: 0px -1300px; -} -i.flag.cv:before, -i.flag.cape.verde:before { - background-position: 0px -1326px; -} -i.flag.cx:before, -i.flag.christmas.island:before { - background-position: 0px -1352px; -} -i.flag.cy:before, -i.flag.cyprus:before { - background-position: 0px -1378px; -} -i.flag.cz:before, -i.flag.czech.republic:before { - background-position: 0px -1404px; -} -i.flag.de:before, -i.flag.germany:before { - background-position: 0px -1430px; -} -i.flag.dj:before, -i.flag.djibouti:before { - background-position: 0px -1456px; -} -i.flag.dk:before, -i.flag.denmark:before { - background-position: 0px -1482px; -} -i.flag.dm:before, -i.flag.dominica:before { - background-position: 0px -1508px; -} -i.flag.do:before, -i.flag.dominican.republic:before { - background-position: 0px -1534px; -} -i.flag.dz:before, -i.flag.algeria:before { - background-position: 0px -1560px; -} -i.flag.ec:before, -i.flag.ecuador:before { - background-position: 0px -1586px; -} -i.flag.ee:before, -i.flag.estonia:before { - background-position: 0px -1612px; -} -i.flag.eg:before, -i.flag.egypt:before { - background-position: 0px -1638px; -} -i.flag.eh:before, -i.flag.western.sahara:before { - background-position: 0px -1664px; -} -i.flag.er:before, -i.flag.eritrea:before { - background-position: 0px -1716px; -} -i.flag.es:before, -i.flag.spain:before { - background-position: 0px -1742px; -} -i.flag.et:before, -i.flag.ethiopia:before { - background-position: 0px -1768px; -} -i.flag.eu:before, -i.flag.european.union:before { - background-position: 0px -1794px; -} -i.flag.fi:before, -i.flag.finland:before { - background-position: 0px -1846px; -} -i.flag.fj:before, -i.flag.fiji:before { - background-position: 0px -1872px; -} -i.flag.fk:before, -i.flag.falkland.islands:before { - background-position: 0px -1898px; -} -i.flag.fm:before, -i.flag.micronesia:before { - background-position: 0px -1924px; -} -i.flag.fo:before, -i.flag.faroe.islands:before { - background-position: 0px -1950px; -} -i.flag.fr:before, -i.flag.france:before { - background-position: 0px -1976px; -} -i.flag.ga:before, -i.flag.gabon:before { - background-position: -36px 0px; -} -i.flag.gb:before, -i.flag.england:before, -i.flag.united.kingdom:before { - background-position: -36px -26px; -} -i.flag.gd:before, -i.flag.grenada:before { - background-position: -36px -52px; -} -i.flag.ge:before, -i.flag.georgia:before { - background-position: -36px -78px; -} -i.flag.gf:before, -i.flag.french.guiana:before { - background-position: -36px -104px; -} -i.flag.gh:before, -i.flag.ghana:before { - background-position: -36px -130px; -} -i.flag.gi:before, -i.flag.gibraltar:before { - background-position: -36px -156px; -} -i.flag.gl:before, -i.flag.greenland:before { - background-position: -36px -182px; -} -i.flag.gm:before, -i.flag.gambia:before { - background-position: -36px -208px; -} -i.flag.gn:before, -i.flag.guinea:before { - background-position: -36px -234px; -} -i.flag.gp:before, -i.flag.guadeloupe:before { - background-position: -36px -260px; -} -i.flag.gq:before, -i.flag.equatorial.guinea:before { - background-position: -36px -286px; -} -i.flag.gr:before, -i.flag.greece:before { - background-position: -36px -312px; -} -i.flag.gs:before, -i.flag.sandwich.islands:before { - background-position: -36px -338px; -} -i.flag.gt:before, -i.flag.guatemala:before { - background-position: -36px -364px; -} -i.flag.gu:before, -i.flag.guam:before { - background-position: -36px -390px; -} -i.flag.gw:before, -i.flag.guinea-bissau:before { - background-position: -36px -416px; -} -i.flag.gy:before, -i.flag.guyana:before { - background-position: -36px -442px; -} -i.flag.hk:before, -i.flag.hong.kong:before { - background-position: -36px -468px; -} -i.flag.hm:before, -i.flag.heard.island:before { - background-position: -36px -494px; -} -i.flag.hn:before, -i.flag.honduras:before { - background-position: -36px -520px; -} -i.flag.hr:before, -i.flag.croatia:before { - background-position: -36px -546px; -} -i.flag.ht:before, -i.flag.haiti:before { - background-position: -36px -572px; -} -i.flag.hu:before, -i.flag.hungary:before { - background-position: -36px -598px; -} -i.flag.id:before, -i.flag.indonesia:before { - background-position: -36px -624px; -} -i.flag.ie:before, -i.flag.ireland:before { - background-position: -36px -650px; -} -i.flag.il:before, -i.flag.israel:before { - background-position: -36px -676px; -} -i.flag.in:before, -i.flag.india:before { - background-position: -36px -702px; -} -i.flag.io:before, -i.flag.indian.ocean.territory:before { - background-position: -36px -728px; -} -i.flag.iq:before, -i.flag.iraq:before { - background-position: -36px -754px; -} -i.flag.ir:before, -i.flag.iran:before { - background-position: -36px -780px; -} -i.flag.is:before, -i.flag.iceland:before { - background-position: -36px -806px; -} -i.flag.it:before, -i.flag.italy:before { - background-position: -36px -832px; -} -i.flag.jm:before, -i.flag.jamaica:before { - background-position: -36px -858px; -} -i.flag.jo:before, -i.flag.jordan:before { - background-position: -36px -884px; -} -i.flag.jp:before, -i.flag.japan:before { - background-position: -36px -910px; -} -i.flag.ke:before, -i.flag.kenya:before { - background-position: -36px -936px; -} -i.flag.kg:before, -i.flag.kyrgyzstan:before { - background-position: -36px -962px; -} -i.flag.kh:before, -i.flag.cambodia:before { - background-position: -36px -988px; -} -i.flag.ki:before, -i.flag.kiribati:before { - background-position: -36px -1014px; -} -i.flag.km:before, -i.flag.comoros:before { - background-position: -36px -1040px; -} -i.flag.kn:before, -i.flag.saint.kitts.and.nevis:before { - background-position: -36px -1066px; -} -i.flag.kp:before, -i.flag.north.korea:before { - background-position: -36px -1092px; -} -i.flag.kr:before, -i.flag.south.korea:before { - background-position: -36px -1118px; -} -i.flag.kw:before, -i.flag.kuwait:before { - background-position: -36px -1144px; -} -i.flag.ky:before, -i.flag.cayman.islands:before { - background-position: -36px -1170px; -} -i.flag.kz:before, -i.flag.kazakhstan:before { - background-position: -36px -1196px; -} -i.flag.la:before, -i.flag.laos:before { - background-position: -36px -1222px; -} -i.flag.lb:before, -i.flag.lebanon:before { - background-position: -36px -1248px; -} -i.flag.lc:before, -i.flag.saint.lucia:before { - background-position: -36px -1274px; -} -i.flag.li:before, -i.flag.liechtenstein:before { - background-position: -36px -1300px; -} -i.flag.lk:before, -i.flag.sri.lanka:before { - background-position: -36px -1326px; -} -i.flag.lr:before, -i.flag.liberia:before { - background-position: -36px -1352px; -} -i.flag.ls:before, -i.flag.lesotho:before { - background-position: -36px -1378px; -} -i.flag.lt:before, -i.flag.lithuania:before { - background-position: -36px -1404px; -} -i.flag.lu:before, -i.flag.luxembourg:before { - background-position: -36px -1430px; -} -i.flag.lv:before, -i.flag.latvia:before { - background-position: -36px -1456px; -} -i.flag.ly:before, -i.flag.libya:before { - background-position: -36px -1482px; -} -i.flag.ma:before, -i.flag.morocco:before { - background-position: -36px -1508px; -} -i.flag.mc:before, -i.flag.monaco:before { - background-position: -36px -1534px; -} -i.flag.md:before, -i.flag.moldova:before { - background-position: -36px -1560px; -} -i.flag.me:before, -i.flag.montenegro:before { - background-position: -36px -1586px; -} -i.flag.mg:before, -i.flag.madagascar:before { - background-position: -36px -1613px; -} -i.flag.mh:before, -i.flag.marshall.islands:before { - background-position: -36px -1639px; -} -i.flag.mk:before, -i.flag.macedonia:before { - background-position: -36px -1665px; -} -i.flag.ml:before, -i.flag.mali:before { - background-position: -36px -1691px; -} -i.flag.mm:before, -i.flag.myanmar:before, -i.flag.burma:before { - background-position: -36px -1717px; -} -i.flag.mn:before, -i.flag.mongolia:before { - background-position: -36px -1743px; -} -i.flag.mo:before, -i.flag.macau:before { - background-position: -36px -1769px; -} -i.flag.mp:before, -i.flag.northern.mariana.islands:before { - background-position: -36px -1795px; -} -i.flag.mq:before, -i.flag.martinique:before { - background-position: -36px -1821px; -} -i.flag.mr:before, -i.flag.mauritania:before { - background-position: -36px -1847px; -} -i.flag.ms:before, -i.flag.montserrat:before { - background-position: -36px -1873px; -} -i.flag.mt:before, -i.flag.malta:before { - background-position: -36px -1899px; -} -i.flag.mu:before, -i.flag.mauritius:before { - background-position: -36px -1925px; -} -i.flag.mv:before, -i.flag.maldives:before { - background-position: -36px -1951px; -} -i.flag.mw:before, -i.flag.malawi:before { - background-position: -36px -1977px; -} -i.flag.mx:before, -i.flag.mexico:before { - background-position: -72px 0px; -} -i.flag.my:before, -i.flag.malaysia:before { - background-position: -72px -26px; -} -i.flag.mz:before, -i.flag.mozambique:before { - background-position: -72px -52px; -} -i.flag.na:before, -i.flag.namibia:before { - background-position: -72px -78px; -} -i.flag.nc:before, -i.flag.new.caledonia:before { - background-position: -72px -104px; -} -i.flag.ne:before, -i.flag.niger:before { - background-position: -72px -130px; -} -i.flag.nf:before, -i.flag.norfolk.island:before { - background-position: -72px -156px; -} -i.flag.ng:before, -i.flag.nigeria:before { - background-position: -72px -182px; -} -i.flag.ni:before, -i.flag.nicaragua:before { - background-position: -72px -208px; -} -i.flag.nl:before, -i.flag.netherlands:before { - background-position: -72px -234px; -} -i.flag.no:before, -i.flag.norway:before { - background-position: -72px -260px; -} -i.flag.np:before, -i.flag.nepal:before { - background-position: -72px -286px; -} -i.flag.nr:before, -i.flag.nauru:before { - background-position: -72px -312px; -} -i.flag.nu:before, -i.flag.niue:before { - background-position: -72px -338px; -} -i.flag.nz:before, -i.flag.new.zealand:before { - background-position: -72px -364px; -} -i.flag.om:before, -i.flag.oman:before { - background-position: -72px -390px; -} -i.flag.pa:before, -i.flag.panama:before { - background-position: -72px -416px; -} -i.flag.pe:before, -i.flag.peru:before { - background-position: -72px -442px; -} -i.flag.pf:before, -i.flag.french.polynesia:before { - background-position: -72px -468px; -} -i.flag.pg:before, -i.flag.new.guinea:before { - background-position: -72px -494px; -} -i.flag.ph:before, -i.flag.philippines:before { - background-position: -72px -520px; -} -i.flag.pk:before, -i.flag.pakistan:before { - background-position: -72px -546px; -} -i.flag.pl:before, -i.flag.poland:before { - background-position: -72px -572px; -} -i.flag.pm:before, -i.flag.saint.pierre:before { - background-position: -72px -598px; -} -i.flag.pn:before, -i.flag.pitcairn.islands:before { - background-position: -72px -624px; -} -i.flag.pr:before, -i.flag.puerto.rico:before { - background-position: -72px -650px; -} -i.flag.ps:before, -i.flag.palestine:before { - background-position: -72px -676px; -} -i.flag.pt:before, -i.flag.portugal:before { - background-position: -72px -702px; -} -i.flag.pw:before, -i.flag.palau:before { - background-position: -72px -728px; -} -i.flag.py:before, -i.flag.paraguay:before { - background-position: -72px -754px; -} -i.flag.qa:before, -i.flag.qatar:before { - background-position: -72px -780px; -} -i.flag.re:before, -i.flag.reunion:before { - background-position: -72px -806px; -} -i.flag.ro:before, -i.flag.romania:before { - background-position: -72px -832px; -} -i.flag.rs:before, -i.flag.serbia:before { - background-position: -72px -858px; -} -i.flag.ru:before, -i.flag.russia:before { - background-position: -72px -884px; -} -i.flag.rw:before, -i.flag.rwanda:before { - background-position: -72px -910px; -} -i.flag.sa:before, -i.flag.saudi.arabia:before { - background-position: -72px -936px; -} -i.flag.sb:before, -i.flag.solomon.islands:before { - background-position: -72px -962px; -} -i.flag.sc:before, -i.flag.seychelles:before { - background-position: -72px -988px; -} -i.flag.sd:before, -i.flag.sudan:before { - background-position: -72px -1040px; -} -i.flag.se:before, -i.flag.sweden:before { - background-position: -72px -1066px; -} -i.flag.sg:before, -i.flag.singapore:before { - background-position: -72px -1092px; -} -i.flag.sh:before, -i.flag.saint.helena:before { - background-position: -72px -1118px; -} -i.flag.si:before, -i.flag.slovenia:before { - background-position: -72px -1144px; -} -i.flag.sj:before, -i.flag.svalbard:before, -i.flag.jan.mayen:before { - background-position: -72px -1170px; -} -i.flag.sk:before, -i.flag.slovakia:before { - background-position: -72px -1196px; -} -i.flag.sl:before, -i.flag.sierra.leone:before { - background-position: -72px -1222px; -} -i.flag.sm:before, -i.flag.san.marino:before { - background-position: -72px -1248px; -} -i.flag.sn:before, -i.flag.senegal:before { - background-position: -72px -1274px; -} -i.flag.so:before, -i.flag.somalia:before { - background-position: -72px -1300px; -} -i.flag.sr:before, -i.flag.suriname:before { - background-position: -72px -1326px; -} -i.flag.st:before, -i.flag.sao.tome:before { - background-position: -72px -1352px; -} -i.flag.sv:before, -i.flag.el.salvador:before { - background-position: -72px -1378px; -} -i.flag.sy:before, -i.flag.syria:before { - background-position: -72px -1404px; -} -i.flag.sz:before, -i.flag.swaziland:before { - background-position: -72px -1430px; -} -i.flag.tc:before, -i.flag.caicos.islands:before { - background-position: -72px -1456px; -} -i.flag.td:before, -i.flag.chad:before { - background-position: -72px -1482px; -} -i.flag.tf:before, -i.flag.french.territories:before { - background-position: -72px -1508px; -} -i.flag.tg:before, -i.flag.togo:before { - background-position: -72px -1534px; -} -i.flag.th:before, -i.flag.thailand:before { - background-position: -72px -1560px; -} -i.flag.tj:before, -i.flag.tajikistan:before { - background-position: -72px -1586px; -} -i.flag.tk:before, -i.flag.tokelau:before { - background-position: -72px -1612px; -} -i.flag.tl:before, -i.flag.timorleste:before { - background-position: -72px -1638px; -} -i.flag.tm:before, -i.flag.turkmenistan:before { - background-position: -72px -1664px; -} -i.flag.tn:before, -i.flag.tunisia:before { - background-position: -72px -1690px; -} -i.flag.to:before, -i.flag.tonga:before { - background-position: -72px -1716px; -} -i.flag.tr:before, -i.flag.turkey:before { - background-position: -72px -1742px; -} -i.flag.tt:before, -i.flag.trinidad:before { - background-position: -72px -1768px; -} -i.flag.tv:before, -i.flag.tuvalu:before { - background-position: -72px -1794px; -} -i.flag.tw:before, -i.flag.taiwan:before { - background-position: -72px -1820px; -} -i.flag.tz:before, -i.flag.tanzania:before { - background-position: -72px -1846px; -} -i.flag.ua:before, -i.flag.ukraine:before { - background-position: -72px -1872px; -} -i.flag.ug:before, -i.flag.uganda:before { - background-position: -72px -1898px; -} -i.flag.um:before, -i.flag.us.minor.islands:before { - background-position: -72px -1924px; -} -i.flag.us:before, -i.flag.america:before, -i.flag.united.states:before { - background-position: -72px -1950px; -} -i.flag.uy:before, -i.flag.uruguay:before { - background-position: -72px -1976px; -} -i.flag.uz:before, -i.flag.uzbekistan:before { - background-position: -108px 0px; -} -i.flag.va:before, -i.flag.vatican.city:before { - background-position: -108px -26px; -} -i.flag.vc:before, -i.flag.saint.vincent:before { - background-position: -108px -52px; -} -i.flag.ve:before, -i.flag.venezuela:before { - background-position: -108px -78px; -} -i.flag.vg:before, -i.flag.british.virgin.islands:before { - background-position: -108px -104px; -} -i.flag.vi:before, -i.flag.us.virgin.islands:before { - background-position: -108px -130px; -} -i.flag.vn:before, -i.flag.vietnam:before { - background-position: -108px -156px; -} -i.flag.vu:before, -i.flag.vanuatu:before { - background-position: -108px -182px; -} -i.flag.wf:before, -i.flag.wallis.and.futuna:before { - background-position: -108px -234px; -} -i.flag.ws:before, -i.flag.samoa:before { - background-position: -108px -260px; -} -i.flag.ye:before, -i.flag.yemen:before { - background-position: -108px -286px; -} -i.flag.yt:before, -i.flag.mayotte:before { - background-position: -108px -312px; -} -i.flag.za:before, -i.flag.south.africa:before { - background-position: -108px -338px; -} -i.flag.zm:before, -i.flag.zambia:before { - background-position: -108px -364px; -} -i.flag.zw:before, -i.flag.zimbabwe:before { - background-position: -108px -390px; -} \ No newline at end of file diff --git a/themes/default/elements/flag.variables b/themes/default/elements/flag.variables deleted file mode 100644 index cf0884c531..0000000000 --- a/themes/default/elements/flag.variables +++ /dev/null @@ -1,13 +0,0 @@ -/******************************* - Flag -*******************************/ - -/*------------------- - Element ---------------------*/ - -@spritePath: "@{imagePath}/flags.png"; -@width: 16px; -@height: 11px; -@verticalAlign: baseline; -@margin: 0.5em; \ No newline at end of file diff --git a/themes/default/elements/header.overrides b/themes/default/elements/header.overrides deleted file mode 100644 index 6273007693..0000000000 --- a/themes/default/elements/header.overrides +++ /dev/null @@ -1,4 +0,0 @@ -/******************************* - Overrides -*******************************/ - diff --git a/themes/default/elements/header.variables b/themes/default/elements/header.variables deleted file mode 100644 index 544e2f4057..0000000000 --- a/themes/default/elements/header.variables +++ /dev/null @@ -1,132 +0,0 @@ -/******************************* - Header -*******************************/ - -/*------------------- - Element ---------------------*/ - -@fontWeight: bold; -@textTransform: none; - -@lineHeight: 1.33em; -@lineHeightOffset: (@lineHeight - 1em) / 2; - -@topMargin: ~"calc(2rem - "@lineHeightOffset~")"; -@bottomMargin: 1rem; - -@firstMargin: -@lineHeightOffset; -@lastMargin: 0em; - -@horizontalPadding: 0em; -@verticalPadding: 0em; - -/* HTML Headings */ -@h1: 2rem; -@h2: 1.714rem; -@h3: 1.28rem; -@h4: 1.071rem; -@h5: 1rem; - -/* Sizing */ -@tiny: 1em; -@small: 1.071em; -@medium: 1.285em; -@large: 1.714em; -@huge: 2em; - -/* Sub Header */ -@subHeaderFontSize: 1.1rem; -@subHeaderLineHeight: 1.2em; -@subHeaderColor: rgba(0, 0, 0, 0.5); - -/* Icon */ -@iconOpacity: 1; -@iconSize: 1.5em; -@iconOffset: @lineHeightOffset; -@iconMargin: 1rem; -@iconAlignment: middle; - -/* Label */ -@labelDistance: 0.5rem; -@labelVerticalAlign: middle; - -/* Content */ -@contentAlignment: top; - -/* Paragraph after Header */ -@nextParagraphTopMargin: 0em; - -/*------------------- - Variations ---------------------*/ - -/* Icon Header */ -@iconHeaderSize: 3em; -@iconHeaderOpacity: 1; -@iconHeaderMargin: 0.25rem; -@circularHeaderIconSize: 2em; -@squareHeaderIconSize: 2em; - -/* No Line Height Offset */ -@iconHeaderTopMargin: 2rem; -@iconHeaderBottomMargin: @bottomMargin; -@iconHeaderFirstMargin: 0em; - -/* Divided */ -@dividedBorder: 1px solid rgba(0, 0, 0, 0.1); -@dividedColoredBorderWidth: 2px; - -@dividedBorderPadding: 0.5rem; -@dividedSubHeaderPadding: 0.5rem; -@dividedIconPadding: 0.2em; - -/* Block */ -@blockBackground: @darkWhite; -@blockBoxShadow: none; -@blockBorder: 1px solid @solidBorderColor; -@blockHorizontalPadding: 1rem; -@blockVerticalPadding: 0.75rem; -@blockBorderRadius: 0.3125rem; - -@tinyBlock: @tiny; -@smallBlock: @small; -@mediumBlock: @medium; -@largeBlock: @large; -@hugeBlock: @huge; - -/* Divided */ -@blackDividedBorderColor: @black; -@blueDividedBorderColor: @blue; -@greenDividedBorderColor: @green; -@orangeDividedBorderColor: @orange; -@pinkDividedBorderColor: @pink; -@purpleDividedBorderColor: @purple; -@redDividedBorderColor: @red; -@tealDividedBorderColor: @teal; -@yellowDividedBorderColor: @yellow; - -/* Attached */ -@attachedOffset: -1px; -@attachedBoxShadow: none; -@attachedBorder: 1px solid @solidBorderColor; -@attachedVerticalPadding: @blockVerticalPadding; -@attachedHorizontalPadding: @blockHorizontalPadding; -@attachedBackground: @white; -@attachedBorderRadius: @blockBorderRadius; - -@tinyAttached: 0.875em; -@smallAttached: 0.9em; -@mediumAttached: 1em; -@largeAttached: 1.1em; -@hugeAttached: 1.2em; - -/* Inverted */ -@invertedColor: @white; -@invertedSubHeaderColor: rgba(255, 255, 255, 0.85); -@invertedDividedBorderColor: @whiteBorderColor; -@invertedBlockBackground: @lightBlack @subtleGradient; -@invertedAttachedBackground: @invertedBlockBackground; - -/* Floated */ -@floatedMargin: 0.5em; diff --git a/themes/default/elements/icon.overrides b/themes/default/elements/icon.overrides deleted file mode 100644 index 5d31d382ee..0000000000 --- a/themes/default/elements/icon.overrides +++ /dev/null @@ -1,661 +0,0 @@ -/* - * # Semantic - Icon - * http://github.com/jlukic/semantic-ui/ - * - * - * Copyright 2014 Contributor - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/* - * Font Awesome 4.0.3 - * the iconic font designed for Bootstrap - * ------------------------------------------------------------------------------ - * The full suite of pictographic icons, examples, and documentation can be - * found at http://fon.io. Stay up to date on Twitter at - * http://twitter.com/fon. - * - * License - * ------------------------------------------------------------------------------ - * - The Font Awesome font is licensed under SIL OFL 1.1 - - * http://scripts.sil.org/OFL - -/******************************* - -Semantic-UI integration of font-awesome : - -///class names are separated -i.icon.circle => i.icon.circle -i.icon.circle-o => i.icon.circle.outline - -//abbreviation are replaced by full letters: -i.icon.ellipsis-h => i.icon.ellipsis.horizontal -i.icon.ellipsis-v => i.icon.ellipsis.vertical -.alpha => .i.icon.alphabet -.asc => .i.icon.ascending -.desc => .i.icon.descending -.alt =>.alternate - -ASCII order is conserved for easier maintenance. - -Icons that only have one style 'outline', 'square' etc do not require this class -for instance `lemon icon` not `lemon outline icon` since there is only one lemon - -*******************************/ - -/******************************* - Icons -*******************************/ - -/* Web Content */ -i.icon.search:before { content: "\f002"; } -i.icon.mail.outline:before { content: "\f003"; } -i.icon.external.link:before { content: "\f08e"; } -i.icon.wifi:before { content: "\f012"; } -i.icon.setting:before { content: "\f013"; } -i.icon.home:before { content: "\f015"; } -i.icon.inbox:before { content: "\f01c"; } -i.icon.browser:before { content: "\f022"; } -i.icon.tag:before { content: "\f02b"; } -i.icon.tags:before { content: "\f02c"; } -i.icon.calendar:before { content: "\f073"; } -i.icon.comment:before { content: "\f075"; } -i.icon.comments:before { content: "\f086"; } -i.icon.shop:before { content: "\f07a"; } -i.icon.privacy:before { content: "\f084"; } -i.icon.settings:before { content: "\f085"; } -i.icon.trophy:before { content: "\f091"; } -i.icon.payment:before { content: "\f09d"; } -i.icon.feed:before { content: "\f09e"; } -i.icon.alarm.outline:before { content: "\f0a2"; } -i.icon.tasks:before { content: "\f0ae"; } -i.icon.cloud:before { content: "\f0c2"; } -i.icon.lab:before { content: "\f0c3"; } -i.icon.mail:before { content: "\f0e0"; } -i.icon.idea:before { content: "\f0eb"; } -i.icon.dashboard:before { content: "\f0e4"; } -i.icon.sitemap:before { content: "\f0e8"; } -i.icon.alarm:before { content: "\f0f3"; } -i.icon.terminal:before { content: "\f120"; } -i.icon.code:before { content: "\f121"; } -i.icon.protect:before { content: "\f132"; } -i.icon.calendar.outline:before { content: "\f133"; } -i.icon.ticket:before { content: "\f145"; } -i.icon.external.link.square:before { content: "\f14c"; } -i.icon.map:before { content: "\f14e"; } -i.icon.bug:before { content: "\f188"; } -i.icon.mail.square:before { content: "\f199"; } -i.icon.history:before { content: "\f1da"; } -i.icon.options:before { content: "\f1de"; } -i.icon.comment.outline:before { content: "\f0e5"; } -i.icon.comments.outline:before { content: "\f0e6"; } - -/* User Actions */ -i.icon.download:before { content: "\f019"; } -i.icon.repeat:before { content: "\f01e"; } -i.icon.refresh:before { content: "\f021"; } -i.icon.lock:before { content: "\f023"; } -i.icon.bookmark:before { content: "\f02e"; } -i.icon.print:before { content: "\f02f"; } -i.icon.write:before { content: "\f040"; } -i.icon.theme:before { content: "\f043"; } -i.icon.adjust:before { content: "\f042"; } -i.icon.edit:before { content: "\f044"; } -i.icon.external.share:before { content: "\f045"; } -i.icon.ban:before { content: "\f05e"; } -i.icon.mail.forward:before { content: "\f064"; } -i.icon.share:before { content: "\f064"; } -i.icon.expand:before { content: "\f065"; } -i.icon.compress:before { content: "\f066"; } -i.icon.unhide:before { content: "\f06e"; } -i.icon.hide:before { content: "\f070"; } -i.icon.random:before { content: "\f074"; } -i.icon.retweet:before { content: "\f079"; } -i.icon.sign.out:before { content: "\f08b"; } -i.icon.pin:before { content: "\f08d"; } -i.icon.sign.in:before { content: "\f090"; } -i.icon.upload:before { content: "\f093"; } -i.icon.call:before { content: "\f095"; } -i.icon.call.square:before { content: "\f098"; } -i.icon.remove.bookmark:before { content: "\f097"; } -i.icon.unlock:before { content: "\f09c"; } -i.icon.configure:before { content: "\f0ad"; } -i.icon.filter:before { content: "\f0b0"; } -i.icon.wizard:before { content: "\f0d0"; } -i.icon.undo:before { content: "\f0e2"; } -i.icon.exchange:before { content: "\f0ec"; } -i.icon.cloud.download:before { content: "\f0ed"; } -i.icon.cloud.upload:before { content: "\f0ee"; } -i.icon.reply:before { content: "\f112"; } -i.icon.reply.all:before { content: "\f122"; } -i.icon.erase:before { content: "\f12d"; } -i.icon.unlock.alternate:before { content: "\f13e"; } -i.icon.archive:before { content: "\f187"; } -i.icon.translate:before { content: "\f1ab"; } -i.icon.recycle:before { content: "\f1b8"; } -i.icon.send:before { content: "\f1d8"; } -i.icon.send.outline:before { content: "\f1d9"; } -i.icon.share.alternate:before { content: "\f1e0"; } -i.icon.share.alternate.square:before { content: "\f1e1"; } -i.icon.wait:before { content: "\f017"; } -i.icon.write.square:before { content: "\f14b"; } -i.icon.share.square:before { content: "\f14d"; } - -/* Messages */ -i.icon.help.circle:before { content: "\f059"; } -i.icon.info.circle:before { content: "\f05a"; } -i.icon.warning:before { content: "\f12a"; } -i.icon.warning.circle:before { content: "\f06a"; } -i.icon.warning.sign:before { content: "\f071"; } -i.icon.help:before { content: "\f128"; } -i.icon.info:before { content: "\f129"; } -i.icon.announcement:before { content: "\f0a1"; } - -/* Users */ -i.icon.users:before { content: "\f0c0"; } -i.icon.doctor:before { content: "\f0f0"; } -i.icon.female:before { content: "\f182"; } -i.icon.male:before { content: "\f183"; } -i.icon.child:before { content: "\f1ae"; } -i.icon.user:before { content: "\f007"; } -i.icon.handicap:before { content: "\f193"; } -i.icon.student:before { content: "\f19d"; } - -/* View Adjustment */ -i.icon.grid.layout:before { content: "\f00a"; } -i.icon.list.layout:before { content: "\f00b"; } -i.icon.block.layout:before { content: "\f009"; } -i.icon.zoom:before { content: "\f00e"; } -i.icon.zoom.out:before { content: "\f010"; } -i.icon.resize.vertical:before { content: "\f07d"; } -i.icon.resize.horizontal:before { content: "\f07e"; } -i.icon.maximize:before { content: "\f0b2"; } -i.icon.crop:before { content: "\f125"; } - -/* Literal Objects */ -i.icon.cocktail:before { content: "\f000"; } -i.icon.road:before { content: "\f018"; } -i.icon.flag:before { content: "\f024"; } -i.icon.book:before { content: "\f02d"; } -i.icon.gift:before { content: "\f06b"; } -i.icon.leaf:before { content: "\f06c"; } -i.icon.fire:before { content: "\f06d"; } -i.icon.plane:before { content: "\f072"; } -i.icon.magnet:before { content: "\f076"; } -i.icon.legal:before { content: "\f0e3"; } -i.icon.lemon:before { content: "\f094"; } -i.icon.world:before { content: "\f0ac"; } -i.icon.travel:before { content: "\f0b1"; } -i.icon.shipping:before { content: "\f0d1"; } -i.icon.money:before { content: "\f0d6"; } -i.icon.lightning:before { content: "\f0e7"; } -i.icon.rain:before { content: "\f0e9"; } -i.icon.treatment:before { content: "\f0f1"; } -i.icon.suitcase:before { content: "\f0f2"; } -i.icon.bar:before { content: "\f0fc"; } -i.icon.flag.outline:before { content: "\f11d"; } -i.icon.flag.checkered:before { content: "\f11e"; } -i.icon.puzzle:before { content: "\f12e"; } -i.icon.fire.extinguisher:before { content: "\f134"; } -i.icon.rocket:before { content: "\f135"; } -i.icon.anchor:before { content: "\f13d"; } -i.icon.bullseye:before { content: "\f140"; } -i.icon.sun:before { content: "\f185"; } -i.icon.moon:before { content: "\f186"; } -i.icon.fax:before { content: "\f1ac"; } -i.icon.life.ring:before { content: "\f1cd"; } -i.icon.bomb:before { content: "\f1e2"; } - -/* Shapes */ -i.icon.crosshairs:before { content: "\f05b"; } -i.icon.asterisk:before { content: "\f069"; } -i.icon.certificate:before { content: "\f0a3"; } -i.icon.circle:before { content: "\f111"; } -i.icon.quote.left:before { content: "\f10d"; } -i.icon.quote.right:before { content: "\f10e"; } -i.icon.ellipsis.horizontal:before { content: "\f141"; } -i.icon.ellipsis.vertical:before { content: "\f142"; } -i.icon.cube:before { content: "\f1b2"; } -i.icon.cubes:before { content: "\f1b3"; } -i.icon.circle.notched:before { content: "\f1ce"; } -i.icon.circle.thin:before { content: "\f1db"; } - -/* Item Selection */ -i.icon.checkmark:before { content: "\f00c"; } -i.icon.remove:before { content: "\f00d"; } -i.icon.checkmark.box:before { content: "\f046"; } -i.icon.move:before { content: "\f047"; } -i.icon.add.circle:before { content: "\f055"; } -i.icon.minus.circle:before { content: "\f056"; } -i.icon.remove.circle:before { content: "\f057"; } -i.icon.check.circle:before { content: "\f058"; } -i.icon.remove.circle.outline:before { content: "\f05c"; } -i.icon.check.circle.outline:before { content: "\f05d"; } -i.icon.plus:before { content: "\f067"; } -i.icon.minus:before { content: "\f068"; } -i.icon.add.square:before { content: "\f0fe"; } -i.icon.radio:before { content: "\f10c"; } -i.icon.selected.radio:before { content: "\f192"; } -i.icon.minus.square:before { content: "\f146"; } -i.icon.minus.square.outline:before { content: "\f147"; } -i.icon.check.square:before { content: "\f14a"; } -i.icon.plus.square.outline:before { content: "\f196"; } - -/* Media */ -i.icon.film:before { content: "\f008"; } -i.icon.sound:before { content: "\f025"; } -i.icon.photo:before { content: "\f030"; } -i.icon.bar.chart:before { content: "\f080"; } -i.icon.camera.retro:before { content: "\f083"; } - -/* Pointers */ -i.icon.arrow.circle.outline.down:before { content: "\f01a"; } -i.icon.arrow.circle.outline.up:before { content: "\f01b"; } -i.icon.chevron.left:before { content: "\f053"; } -i.icon.chevron.right:before { content: "\f054"; } -i.icon.arrow.left:before { content: "\f060"; } -i.icon.arrow.right:before { content: "\f061"; } -i.icon.arrow.up:before { content: "\f062"; } -i.icon.arrow.down:before { content: "\f063"; } -i.icon.chevron.up:before { content: "\f077"; } -i.icon.chevron.down:before { content: "\f078"; } -i.icon.pointing.right:before { content: "\f0a4"; } -i.icon.pointing.left:before { content: "\f0a5"; } -i.icon.pointing.up:before { content: "\f0a6"; } -i.icon.pointing.down:before { content: "\f0a7"; } -i.icon.arrow.circle.left:before { content: "\f0a8"; } -i.icon.arrow.circle.right:before { content: "\f0a9"; } -i.icon.arrow.circle.up:before { content: "\f0aa"; } -i.icon.arrow.circle.down:before { content: "\f0ab"; } -i.icon.caret.down:before { content: "\f0d7"; } -i.icon.caret.up:before { content: "\f0d8"; } -i.icon.caret.left:before { content: "\f0d9"; } -i.icon.caret.right:before { content: "\f0da"; } -i.icon.angle.double.left:before { content: "\f100"; } -i.icon.angle.double.right:before { content: "\f101"; } -i.icon.angle.double.up:before { content: "\f102"; } -i.icon.angle.double.down:before { content: "\f103"; } -i.icon.angle.left:before { content: "\f104"; } -i.icon.angle.right:before { content: "\f105"; } -i.icon.angle.up:before { content: "\f106"; } -i.icon.angle.down:before { content: "\f107"; } -i.icon.chevron.circle.left:before { content: "\f137"; } -i.icon.chevron.circle.right:before { content: "\f138"; } -i.icon.chevron.circle.up:before { content: "\f139"; } -i.icon.chevron.circle.down:before { content: "\f13a"; } -i.icon.toggle.down:before { content: "\f150"; } -i.icon.toggle.up:before { content: "\f151"; } -i.icon.toggle.right:before { content: "\f152"; } -i.icon.long.arrow.down:before { content: "\f175"; } -i.icon.long.arrow.up:before { content: "\f176"; } -i.icon.long.arrow.left:before { content: "\f177"; } -i.icon.long.arrow.right:before { content: "\f178"; } -i.icon.arrow.circle.outline.right:before { content: "\f18e"; } -i.icon.arrow.circle.outline.left:before { content: "\f190"; } -i.icon.toggle.left:before { content: "\f191"; } - -/* Computer */ -i.icon.power:before { content: "\f011"; } -i.icon.trash:before { content: "\f014"; } -i.icon.disk.outline:before { content: "\f0a0"; } -i.icon.desktop:before { content: "\f108"; } -i.icon.laptop:before { content: "\f109"; } -i.icon.tablet:before { content: "\f10a"; } -i.icon.mobile:before { content: "\f10b"; } -i.icon.game:before { content: "\f11b"; } -i.icon.keyboard:before { content: "\f11c"; } - -/* File System */ -i.icon.folder:before { content: "\f07b"; } -i.icon.folder.open:before { content: "\f07c"; } -i.icon.level.up:before { content: "\f148"; } -i.icon.level.down:before { content: "\f149"; } -i.icon.file:before { content: "\f15b"; } -i.icon.file.outline:before { content: "\f016"; } -i.icon.file.text:before { content: "\f15c"; } -i.icon.file.text.outline:before { content: "\f0f6"; } -i.icon.folder.outline:before { content: "\f114"; } -i.icon.folder.open.outline:before { content: "\f115"; } -i.icon.file.pdf.outline:before { content: "\f1c1"; } -i.icon.file.word.outline:before { content: "\f1c2"; } -i.icon.file.excel.outline:before { content: "\f1c3"; } -i.icon.file.powerpoint.outline:before { content: "\f1c4"; } -i.icon.file.image.outline:before { content: "\f1c5"; } -i.icon.file.archive.outline:before { content: "\f1c6"; } -i.icon.file.audio.outline:before { content: "\f1c7"; } -i.icon.file.video.outline:before { content: "\f1c8"; } -i.icon.file.code.outline:before { content: "\f1c9"; } - -/* Technologies */ -i.icon.barcode:before { content: "\f02a"; } -i.icon.qrcode:before { content: "\f029"; } -i.icon.fork:before { content: "\f126"; } -i.icon.html5:before { content: "\f13b"; } -i.icon.css3:before { content: "\f13c"; } -i.icon.rss.square:before { content: "\f143"; } -i.icon.openid:before { content: "\f19b"; } -i.icon.database:before { content: "\f1c0"; } - -/* Rating */ -i.icon.heart:before { content: "\f004"; } -i.icon.star:before { content: "\f005"; } -i.icon.empty.star:before { content: "\f006"; } -i.icon.thumbs.outline.up:before { content: "\f087"; } -i.icon.thumbs.outline.down:before { content: "\f088"; } -i.icon.star.half:before { content: "\f089"; } -i.icon.empty.heart:before { content: "\f08a"; } -i.icon.smile:before { content: "\f118"; } -i.icon.frown:before { content: "\f119"; } -i.icon.meh:before { content: "\f11a"; } -i.icon.star.half.empty:before { content: "\f123"; } -i.icon.thumbs.up:before { content: "\f164"; } -i.icon.thumbs.down:before { content: "\f165"; } - -/* Audio */ -i.icon.music:before { content: "\f001"; } -i.icon.video.play.outline:before { content: "\f01d"; } -i.icon.volume.off:before { content: "\f026"; } -i.icon.volume.down:before { content: "\f027"; } -i.icon.volume.up:before { content: "\f028"; } -i.icon.record:before { content: "\f03d"; } -i.icon.step.backward:before { content: "\f048"; } -i.icon.fast.backward:before { content: "\f049"; } -i.icon.backward:before { content: "\f04a"; } -i.icon.play:before { content: "\f04b"; } -i.icon.pause:before { content: "\f04c"; } -i.icon.stop:before { content: "\f04d"; } -i.icon.forward:before { content: "\f04e"; } -i.icon.fast.forward:before { content: "\f050"; } -i.icon.step.forward:before { content: "\f051"; } -i.icon.eject:before { content: "\f052"; } -i.icon.unmute:before { content: "\f130"; } -i.icon.mute:before { content: "\f131"; } -i.icon.video.play:before { content: "\f144"; } - - -/* Map & Locations */ -i.icon.marker:before { content: "\f041"; } -i.icon.coffee:before { content: "\f0f4"; } -i.icon.food:before { content: "\f0f5"; } -i.icon.building.outline:before { content: "\f0f7"; } -i.icon.hospital:before { content: "\f0f8"; } -i.icon.emergency:before { content: "\f0f9"; } -i.icon.first.aid:before { content: "\f0fa"; } -i.icon.military:before { content: "\f0fb"; } -i.icon.h:before { content: "\f0fd"; } -i.icon.location.arrow:before { content: "\f124"; } -i.icon.space.shuttle:before { content: "\f197"; } -i.icon.university:before { content: "\f19c"; } -i.icon.building:before { content: "\f1ad"; } -i.icon.paw:before { content: "\f1b0"; } -i.icon.spoon:before { content: "\f1b1"; } -i.icon.car:before { content: "\f1b9"; } -i.icon.taxi:before { content: "\f1ba"; } -i.icon.tree:before { content: "\f1bb"; } - -/* Tables */ -i.icon.table:before { content: "\f0ce"; } -i.icon.columns:before { content: "\f0db"; } -i.icon.sort:before { content: "\f0dc"; } -i.icon.sort.ascending:before { content: "\f0dd"; } -i.icon.sort.descending:before { content: "\f0de"; } -i.icon.sort.alphabet.ascending:before { content: "\f15d"; } -i.icon.sort.alphabet.descending:before { content: "\f15e"; } -i.icon.sort.content.ascending:before { content: "\f160"; } -i.icon.sort.content.descending:before { content: "\f161"; } -i.icon.sort.numeric.ascending:before { content: "\f162"; } -i.icon.sort.numeric.descending:before { content: "\f163"; } - -/* Text Editor */ -i.icon.font:before { content: "\f031"; } -i.icon.bold:before { content: "\f032"; } -i.icon.italic:before { content: "\f033"; } -i.icon.text.height:before { content: "\f034"; } -i.icon.text.width:before { content: "\f035"; } -i.icon.align.left:before { content: "\f036"; } -i.icon.align.center:before { content: "\f037"; } -i.icon.align.right:before { content: "\f038"; } -i.icon.align.justify:before { content: "\f039"; } -i.icon.list:before { content: "\f03a"; } -i.icon.outdent:before { content: "\f03b"; } -i.icon.indent:before { content: "\f03c"; } -i.icon.linkify:before { content: "\f0c1"; } -i.icon.cut:before { content: "\f0c4"; } -i.icon.copy:before { content: "\f0c5"; } -i.icon.attach:before { content: "\f0c6"; } -i.icon.save:before { content: "\f0c7"; } -i.icon.content:before { content: "\f0c9"; } -i.icon.unordered.list:before { content: "\f0ca"; } -i.icon.ordered.list:before { content: "\f0cb"; } -i.icon.strikethrough:before { content: "\f0cc"; } -i.icon.underline:before { content: "\f0cd"; } -i.icon.paste:before { content: "\f0ea"; } -i.icon.unlink:before { content: "\f127"; } -i.icon.superscript:before { content: "\f12b"; } -i.icon.subscript:before { content: "\f12c"; } -i.icon.header:before { content: "\f1dc"; } -i.icon.paragraph:before { content: "\f1dd"; } - -/* Currency */ -i.icon.euro:before { content: "\f153"; } -i.icon.pound:before { content: "\f154"; } -i.icon.dollar:before { content: "\f155"; } -i.icon.rupee:before { content: "\f156"; } -i.icon.yen:before { content: "\f157"; } -i.icon.ruble:before { content: "\f158"; } -i.icon.won:before { content: "\f159"; } -i.icon.lira:before { content: "\f195"; } - -/* Networks and Websites*/ -i.icon.twitter.square:before { content: "\f081"; } -i.icon.facebook.square:before { content: "\f082"; } -i.icon.linkedin.square:before { content: "\f08c"; } -i.icon.github.square:before { content: "\f092"; } -i.icon.twitter:before { content: "\f099"; } -i.icon.facebook:before { content: "\f09a"; } -i.icon.github:before { content: "\f09b"; } -i.icon.pinterest:before { content: "\f0d2"; } -i.icon.pinterest.square:before { content: "\f0d3"; } -i.icon.google.plus.square:before { content: "\f0d4"; } -i.icon.google.plus:before { content: "\f0d5"; } -i.icon.linkedin:before { content: "\f0e1"; } -i.icon.github.alternate:before { content: "\f113"; } -i.icon.maxcdn:before { content: "\f136"; } -i.icon.bitcoin:before { content: "\f15a"; } -i.icon.youtube.square:before { content: "\f166"; } -i.icon.youtube:before { content: "\f167"; } -i.icon.xing:before { content: "\f168"; } -i.icon.xing.square:before { content: "\f169"; } -i.icon.youtube.play:before { content: "\f16a"; } -i.icon.dropbox:before { content: "\f16b"; } -i.icon.stack.overflow:before { content: "\f16c"; } -i.icon.instagram:before { content: "\f16d"; } -i.icon.flickr:before { content: "\f16e"; } -i.icon.adn:before { content: "\f170"; } -i.icon.bitbucket:before { content: "\f171"; } -i.icon.bitbucket.square:before { content: "\f172"; } -i.icon.tumblr:before { content: "\f173"; } -i.icon.tumblr.square:before { content: "\f174"; } -i.icon.apple:before { content: "\f179"; } -i.icon.windows:before { content: "\f17a"; } -i.icon.android:before { content: "\f17b"; } -i.icon.linux:before { content: "\f17c"; } -i.icon.dribbble:before { content: "\f17d"; } -i.icon.skype:before { content: "\f17e"; } -i.icon.foursquare:before { content: "\f180"; } -i.icon.trello:before { content: "\f181"; } -i.icon.gittip:before { content: "\f184"; } -i.icon.vk:before { content: "\f189"; } -i.icon.weibo:before { content: "\f18a"; } -i.icon.renren:before { content: "\f18b"; } -i.icon.pagelines:before { content: "\f18c"; } -i.icon.stack.exchange:before { content: "\f18d"; } -i.icon.vimeo:before { content: "\f194"; } -i.icon.slack:before { content: "\f198"; } -i.icon.wordpress:before { content: "\f19a"; } -i.icon.yahoo:before { content: "\f19e"; } -i.icon.google:before { content: "\f1a0"; } -i.icon.reddit:before { content: "\f1a1"; } -i.icon.reddit.square:before { content: "\f1a2"; } -i.icon.stumbleupon.circle:before { content: "\f1a3"; } -i.icon.stumbleupon:before { content: "\f1a4"; } -i.icon.delicious:before { content: "\f1a5"; } -i.icon.digg:before { content: "\f1a6"; } -i.icon.pied.piper:before { content: "\f1a7"; } -i.icon.pied.piper.alternate:before { content: "\f1a8"; } -i.icon.drupal:before { content: "\f1a9"; } -i.icon.joomla:before { content: "\f1aa"; } -i.icon.behance:before { content: "\f1b4"; } -i.icon.behance.square:before { content: "\f1b5"; } -i.icon.steam:before { content: "\f1b6"; } -i.icon.steam.square:before { content: "\f1b7"; } -i.icon.spotify:before { content: "\f1bc"; } -i.icon.deviantart:before { content: "\f1bd"; } -i.icon.soundcloud:before { content: "\f1be"; } -i.icon.vine:before { content: "\f1ca"; } -i.icon.codepen:before { content: "\f1cb"; } -i.icon.jsfiddle:before { content: "\f1cc"; } -i.icon.rebel:before { content: "\f1d0"; } -i.icon.empire:before { content: "\f1d1"; } -i.icon.git.square:before { content: "\f1d2"; } -i.icon.git:before { content: "\f1d3"; } -i.icon.hacker.news:before { content: "\f1d4"; } -i.icon.tencent.weibo:before { content: "\f1d5"; } -i.icon.qq:before { content: "\f1d6"; } -i.icon.wechat:before { content: "\f1d7"; } - -/******************************* - Aliases -*******************************/ - -i.icon.like:before { content: "\f004"; } -i.icon.favorite:before { content: "\f005"; } -i.icon.video:before { content: "\f008"; } -i.icon.check:before { content: "\f00c"; } -i.icon.remove:before { content: "\f00d"; } -i.icon.close:before { content: "\f00d"; } -i.icon.cancel:before { content: "\f00d"; } -i.icon.delete:before { content: "\f00d"; } -i.icon.x:before { content: "\f00d"; } -i.icon.zoom.in:before { content: "\f00e"; } -i.icon.magnify:before { content: "\f00e"; } -i.icon.shutdown:before { content: "\f011"; } -i.icon.signal:before { content: "\f012"; } -i.icon.clock:before { content: "\f017"; } -i.icon.time:before { content: "\f017"; } -i.icon.play.circle.outline:before { content: "\f01d"; } -i.icon.clockwise:before { content: "\f01e"; } -i.icon.headphone:before { content: "\f025"; } -i.icon.volume.off:before { content: "\f026"; } -i.icon.camera:before { content: "\f030"; } -i.icon.video.camera:before { content: "\f03d"; } -i.icon.picture:before { content: "\f03e"; } -i.icon.pencil:before { content: "\f040"; } -i.icon.compose:before { content: "\f040"; } -i.icon.point:before { content: "\f041"; } -i.icon.tint:before { content: "\f043"; } -i.icon.signup:before { content: "\f044"; } -i.icon.plus.circle:before { content: "\f055"; } -i.icon.minus.circle:before { content: "\f056"; } -i.icon.dont:before { content: "\f05e"; } -i.icon.minimize:before { content: "\f066"; } -i.icon.add:before { content: "\f067"; } -i.icon.eye:before { content: "\f06e"; } -i.icon.attention:before { content: "\f06a"; } -i.icon.cart:before { content: "\f07a"; } -i.icon.plane:before { content: "\f072"; } -i.icon.shuffle:before { content: "\f074"; } -i.icon.talk:before { content: "\f075"; } -i.icon.chat:before { content: "\f075"; } -i.icon.shopping.cart:before { content: "\f07a"; } -i.icon.bar.graph:before { content: "\f080"; } -i.icon.key:before { content: "\f084"; } -i.icon.privacy:before { content: "\f084"; } -i.icon.cogs:before { content: "\f085"; } -i.icon.discussions:before { content: "\f086"; } -i.icon.like.outline:before { content: "\f087"; } -i.icon.dislike.outline:before { content: "\f088"; } -i.icon.heart.outline:before { content: "\f08a"; } -i.icon.log.out:before { content: "\f08b"; } -i.icon.thumb.tack:before { content: "\f08d"; } -i.icon.winner:before { content: "\f091"; } -i.icon.bookmark.outline:before { content: "\f097"; } -i.icon.phone.square:before { content: "\f098"; } -i.icon.phone.square:before { content: "\f098"; } -i.icon.credit.card:before { content: "\f09d"; } -i.icon.rss:before { content: "\f09e"; } -i.icon.hdd.outline:before { content: "\f0a0"; } -i.icon.bullhorn:before { content: "\f0a1"; } -i.icon.bell:before { content: "\f0f3"; } -i.icon.hand.outline.right:before { content: "\f0a4"; } -i.icon.hand.outline.left:before { content: "\f0a5"; } -i.icon.hand.outline.up:before { content: "\f0a6"; } -i.icon.hand.outline.down:before { content: "\f0a7"; } -i.icon.globe:before { content: "\f0ac"; } -i.icon.wrench:before { content: "\f0ad"; } -i.icon.briefcase:before { content: "\f0b1"; } -i.icon.group:before { content: "\f0c0"; } -i.icon.flask:before { content: "\f0c3"; } -i.icon.sidebar:before { content: "\f0c9"; } -i.icon.bars:before { content: "\f0c9"; } -i.icon.list.ul:before { content: "\f0ca"; } -i.icon.list.ol:before { content: "\f0cb"; } -i.icon.numbered.list:before { content: "\f0cb"; } -i.icon.magic:before { content: "\f0d0"; } -i.icon.truck:before { content: "\f0d1"; } -i.icon.currency:before { content: "\f0d6"; } -i.icon.triangle.down:before { content: "\f0d7"; } -i.icon.dropdown:before { content: "\f0d7"; } -i.icon.triangle.up:before { content: "\f0d8"; } -i.icon.triangle.left:before { content: "\f0d9"; } -i.icon.triangle.right:before { content: "\f0da"; } -i.icon.envelope:before { content: "\f0e0"; } -i.icon.conversation:before { content: "\f0e6"; } -i.icon.lightning:before { content: "\f0e7"; } -i.icon.umbrella:before { content: "\f0e9"; } -i.icon.lightbulb:before { content: "\f0eb"; } -i.icon.suitcase:before { content: "\f0f2"; } -i.icon.bell.outline:before { content: "\f0a2"; } -i.icon.ambulance:before { content: "\f0f9"; } -i.icon.medkit:before { content: "\f0fa"; } -i.icon.fighter.jet:before { content: "\f0fb"; } -i.icon.beer:before { content: "\f0fc"; } -i.icon.plus.square:before { content: "\f0fe"; } -i.icon.computer:before { content: "\f108"; } -i.icon.circle.outline:before { content: "\f10c"; } -i.icon.spinner:before { content: "\f110"; } -i.icon.gamepad:before { content: "\f11b"; } -i.icon.star.half.full:before { content: "\f123"; } -i.icon.remove.link:before { content: "\f127"; } -i.icon.question:before { content: "\f128"; } -i.icon.attention:before { content: "\f12a"; } -i.icon.eraser:before { content: "\f12d"; } -i.icon.microphone:before { content: "\f130"; } -i.icon.microphone.slash:before { content: "\f131"; } -i.icon.shield:before { content: "\f132"; } -i.icon.target:before { content: "\f140"; } -i.icon.play.circle:before { content: "\f144"; } -i.icon.pencil.square:before { content: "\f14b"; } -i.icon.compass:before { content: "\f14e"; } -i.icon.eur:before { content: "\f153"; } -i.icon.gbp:before { content: "\f154"; } -i.icon.usd:before { content: "\f155"; } -i.icon.inr:before { content: "\f156"; } -i.icon.cny:before, -i.icon.rmb:before, -i.icon.jpy:before { content: "\f157"; } -i.icon.rouble:before, -i.icon.rub:before { content: "\f158"; } -i.icon.won:before, -i.icon.krw:before { content: "\f159"; } -i.icon.btc:before { content: "\f15a"; } -i.icon.try:before { content: "\f195"; } -i.icon.zip:before { content: "\f187"; } -i.icon.dot.circle.outline:before { content: "\f192"; } - -i.icon.sliders:before { content: "\f1de"; } -i.icon.graduation:before { content: "\f19d"; } -i.icon.\33d:before { content: "\f1b2"; } -i.icon.weixin:before { content: "\f1d7"; } \ No newline at end of file diff --git a/themes/default/elements/icon.variables b/themes/default/elements/icon.variables deleted file mode 100644 index 78b87416fd..0000000000 --- a/themes/default/elements/icon.variables +++ /dev/null @@ -1,33 +0,0 @@ -/******************************* - Icon -*******************************/ - -/*------------------- - Icon Variables ---------------------*/ - -@fontName: 'icons'; - -@opacity: 0.75; -@width: 1.23em; -@height: 0.9em; -@distanceFromText: 0.25rem; - -@linkDuration: 0.3s; -@loadingDuration: 2s; - -@circularSize: 2em; -@circularPadding: 0.5em 0.35em; -@circularShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -@borderedSize: 2em; -@borderedVerticalPadding: ((@borderedSize - @height) / 2); -@borderedHorizontalPadding: ((@borderedSize - @width) / 2); -@borderedShadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; - -@small: 0.875em; -@medium: 1em; -@large: 1.5em; -@big: 2em; -@huge: 4em; -@massive: 8em; \ No newline at end of file diff --git a/themes/default/elements/image.overrides b/themes/default/elements/image.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/image.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/image.variables b/themes/default/elements/image.variables deleted file mode 100644 index e3fa1eecd7..0000000000 --- a/themes/default/elements/image.variables +++ /dev/null @@ -1,52 +0,0 @@ -/******************************* - Image -*******************************/ - -/*------------------- - Element ---------------------*/ - -@placeholderColor: transparent; -@roundedBorderRadius: 0.3125em; - -@imageHorizontalMargin: 0.25rem; -@imageVerticalMargin: 0.5rem; -@imageBorder: 1px solid rgba(0, 0, 0, 0.1); - -/*------------------- - Types ---------------------*/ - - -/* Avatar */ -@avatarSize: 2.5em; -@avatarMargin: 0.25em; - - -/*------------------- - Variations ---------------------*/ - -/* Floated */ -@floatedHorizontalMargin: 1em; -@floatedVerticalMargin: 1em; - -/* Sizing */ -@mini: 0.7em; -@tiny: 0.8em; -@small: 0.875em; -@medium: 1em; -@large: 1.125em; -@big: 1.25em; -@huge: 1.375em; -@massive: 1.5em; - -/* Size */ -@miniWidth: 20px; -@tinyWidth: 80px; -@smallWidth: 150px; -@mediumWidth: 300px; -@largeWidth: 450px; -@bigWidth: 600px; -@hugeWidth: 800px; -@massiveWidth: 960px; diff --git a/themes/default/elements/input.overrides b/themes/default/elements/input.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/input.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/input.variables b/themes/default/elements/input.variables deleted file mode 100644 index 840165ddbe..0000000000 --- a/themes/default/elements/input.variables +++ /dev/null @@ -1,111 +0,0 @@ -/******************************* - Input -*******************************/ - -/*------------------- - Element ---------------------*/ - -@pageFont: "Helvetica Neue", "Helvetica", Arial; - -@verticalPadding: 0.8em; -@horizontalPadding: 1em; - -@lineHeight: 1.2em; -@lineHeightOffset: ((@lineHeight - 1em) / 2); - -@padding: (@verticalPadding - @lineHeightOffset) @horizontalPadding; - -@textAlign: left; -@background: #FFFFFF; -@borderWidth: 1px; -@border: @borderWidth solid rgba(0, 0, 0, 0.15); -@boxShadow: none; - -@borderRadius: @defaultBorderRadius; -@transition: - background-color 0.3s ease-out, - box-shadow 0.2s ease, - border-color 0.2s ease -; - -@inputColor: @textColor; - -/*------------------- - Types ---------------------*/ - -/* Icon Input */ -@glyphWidth: 1.25em; - -@iconWidth: (@verticalPadding * 2) + @glyphWidth; -@iconOpacity: 0.5; -@iconFocusOpacity: 1; -@iconOffset: -0.5em; - -@iconDistance: 0em; -@iconMargin: @iconWidth + @iconDistance; -@iconTransition: opacity 0.3s @defaultEasing; - -@transparentIconWidth: @glyphWidth; -@transparentIconMargin: 1.75em; - -/* Circular Icon Input */ -@circularIconVerticalOffset: 0.35em; -@circularIconHorizontalOffset: 0.5em; - -/* Labeled Input */ -@labelCornerTop: @borderWidth; -@labelCornerRight: @borderWidth; -@labelCornerSize: 0.75em; -@labelSize: 1em; - -@labeledMargin: 2.5em; -@labeledIconInputMargin: 3.25em; -@labeledIconMargin: 1.25em; - -/*------------------- - States ---------------------*/ - -/* Placeholder */ -@placeholderColor: @unselectedTextColor; -@placeholderFocusColor: @textColor; - -@placeholderErrorColor: rgba(255, 80, 80, 0.4); -@placeholderErrorFocusColor: rgba(255, 80, 80, 0.7); - -/* Down */ -@downBorderColor: rgba(0, 0, 0, 0.3); -@downBackground: #FAFAFA; -@downColor: @textColor; -@downBoxShadow: none; - -/* Focus */ -@focusBorderColor: @selectedBorderColor; -@focusBackground: ''; -@focusColor: @hoveredTextColor; -@focusBoxShadow: none; - -/* Error */ -@errorBackground: #FFFAFA; -@errorBorder: #E7BEBE; -@errorColor: #D95C5C; -@errorBoxShadow: none; - -/* Loading */ -@loadingImage: "@{imagePath}/loader-mini.gif"; - -/*------------------- - Variations ---------------------*/ - -/* Sizing */ -@mini: 0.8125rem; -@small: 0.875rem; -@medium: 1rem; -@large: 1.125rem; -@big: 1.25rem; -@huge: 1.375rem; -@massive: 1.5rem; - diff --git a/themes/default/elements/label.overrides b/themes/default/elements/label.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/label.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/label.variables b/themes/default/elements/label.variables deleted file mode 100644 index 4d4f18a158..0000000000 --- a/themes/default/elements/label.variables +++ /dev/null @@ -1,151 +0,0 @@ -/******************************* - Label -*******************************/ - - -/*------------------- - Element ---------------------*/ - - -@verticalAlign: baseline; -@verticalMargin: 0em; -@horizontalMargin: 0.125em; -@backgroundColor: #E8E8E8; -@backgroundImage: none; -@labelTextColor: rgba(0, 0, 0, 0.6); -@verticalPadding: 0.6em; -@horizontalPadding: 0.8em; -@borderRadius: 0.325em; -@textTransform: none; -@fontWeight: bold; - -@labelTransitionDuration: @transitionDuration; -@labelTransitionEasing: @transitionEasing; - -/* Group */ -@groupVerticalMargin: 0.75em; -@groupHorizontalMargin: 0.5em; - -/*------------------- - Parts ---------------------*/ - -@linkOpacity: 0.8; -@iconDistance: 0.75em; - -@detailFontWeight: bold; -@detailOpacity: 0.8; -@detailIconDistance: 0.25em; -@detailMargin: 1em; - -@deleteMargin: 0.5em; - -/*------------------- - Types ---------------------*/ - -/* Image Label */ -@imageLabelBackground: @backgroundColor; -@imageLabelBorderRadius: @circularRadius; -@imageLabelVerticalPadding: @verticalPadding; -@imageLabelHorizontalPadding: @horizontalPadding; -@imageLabelTextDistance: 0.5em; -@imageLabelDetailDistance: @imageLabelTextDistance; -@imageLabelBorderRadius: @borderRadius; -@imageLabelBoxShadow: none; -@imageLabelDetailBackground: @strongTransparentBlack; - -/* Computed Values */ -@imageLabelImageHeight: (1em + @verticalPadding * 2); -@imageLabelPadding: @imageLabelVerticalPadding @imageLabelHorizontalPadding @imageLabelVerticalPadding @imageLabelTextDistance; -@imageLabelImageMargin: -@verticalPadding @imageLabelTextDistance -@verticalPadding -@imageLabelTextDistance; -@imageLabelDetailPadding: @imageLabelVerticalPadding @imageLabelHorizontalPadding; -@imageLabelDetailMargin: -@imageLabelVerticalPadding -@imageLabelHorizontalPadding -@imageLabelVerticalPadding @imageLabelDetailDistance; - -/*------------------- - States ---------------------*/ - -@labelHoverBackgroundColor: #E0E0E0; -@labelHoverBackgroundImage: none; -@labelHoverTextColor: @hoveredTextColor; - -/*------------------- - Variations ---------------------*/ - -/* Tag */ -@tagCircleColor: #FFFFFF; -@tagCircleSize: 0.5em; -@tagHorizontalPadding: 1.5em; -@tagCircleBoxShadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3); -@tagTriangleRightOffset: 100%; -@tagTriangleTopOffset: 50%; -@tagTriangleSize: 1.56em; - -/* Ribbon */ -@ribbonDistance: 2rem; -@ribbonMargin: 1em; -@ribbonTriangleSize: 1.2em; -@ribbonShadowColor: rgba(0, 0, 0, 0.15); - -@blackRibbonShadow: darken(@black, 10); -@blueRibbonShadow: darken(@blue, 10); -@greenRibbonShadow: darken(@green, 10); -@orangeRibbonShadow: darken(@orange, 10); -@pinkRibbonShadow: darken(@pink, 10); -@purpleRibbonShadow: darken(@purple, 10); -@redRibbonShadow: darken(@red, 10); -@tealRibbonShadow: darken(@teal, 10); -@yellowRibbonShadow: darken(@yellow, 10); - -/* Attached */ -@attachedSegmentPadding: 2rem; -@attachedVerticalPadding: 0.75em; -@attachedHorizontalPadding: 1em; - -/* Corner */ -@cornerSizeRatio: 1; -@cornerTriangleSize: 3.25em; -@cornerIconSize: 1em; -@cornerIconTopOffset: 0.4em; -@cornerIconLeftOffset: 0.75em; - -/* Corner Text */ -@cornerTextWidth: 3em; -@cornerTextWeight: bold; -@cornerTextSize: 1em; - -/* Horizontal */ -@horizontalLabelMinWidth: 3em; -@horizontalLabelMargin: 0.5em; -@horizontalLabelVerticalPadding: 0.4em; - -/* Circular Padding */ -@circularPadding: 0.5em; -@circularMinSize: 2em; -@emptyCircleSize: 0.5em; - -/* Pointing */ -@pointingTriangleSize: 0.6em; -@pointingTriangleOffset: (@pointingTriangleSize / 2); - -/* Floating */ -@floatingTopOffset: -1em; -@floatingLeftOffset: -1.5em; - -/*------------------- - Group ---------------------*/ - -/* Sizing */ - -@mini : 0.6428em; -@tiny : 0.7142em; -@small : 0.7857em; -@medium : 0.8571em; -@large : 1em; -@big : 1.1428em; -@huge : 1.2857em; -@massive : 1.4285em; diff --git a/themes/default/elements/list.overrides b/themes/default/elements/list.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/list.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/list.variables b/themes/default/elements/list.variables deleted file mode 100644 index 793558ad78..0000000000 --- a/themes/default/elements/list.variables +++ /dev/null @@ -1,213 +0,0 @@ -/******************************* - List -*******************************/ - - -/*------------------- - View ---------------------*/ - -/* List */ -@listStyleType: none; -@listStylePosition: outside; -@margin: 0em; -@verticalPadding: 0em; -@horizontalPadding: 0em; - -/* Sub List */ -@childListPadding: 0.75em 0em 0.25em 0.5em; -@childListIndent: 1em; - -/* List Item */ -@itemVerticalPadding: 0.3em; -@itemHorizontalPadding: 0em; -@itemLineHeight: 1.2; - - -/*------------------- - Elements ---------------------*/ - -/* Icon */ -@iconDistance: 0.3em; -@iconOffset: ((@itemLineHeight - 1rem) / 2); -@iconTransition: color 0.2s ease; -@iconVerticalAlign: top; -@iconContentVerticalAlign: middle; - -/* Image */ -@imageDistance: 0.5em; -@imageAlign: middle; - -/* Content */ -@contentDistance: 0.5em; -@contentLineHeight: 1.2em; -@contentVerticalAlign: middle; - -/* Link */ -@itemLinkColor: @textColor; -@itemLinkHoverColor: @linkHoverColor; - -/* Linked Icon */ -@itemLinkIconColor: @lightTextColor; -@itemLinkIconHoverColor: @textColor; -@invertedIconLinkColor: @invertedLightTextColor; - -/* Header */ -@itemHeaderFontFamily: @headerFont; -@itemHeaderFontWeight: bold; -@itemHeaderColor: @textColor; - -/* Description */ -@itemDescriptionColor: @textColor; - -/*------------------- - States ---------------------*/ - -@disabledColor: @disabledTextColor; -@invertedDisabledColor: @invertedDisabledTextColor; - -/*------------------- - Variations ---------------------*/ - -/* Float */ -@floatMargin: 1em; - -/* Horizontal */ -@horizontalSpacing: 1em; -@horizontalIconDistance: 0.25em; - -/* Inverted */ -@invertedListIconColor: @invertedLightTextColor; -@invertedHeaderColor: @invertedTextColor; -@invertedDescriptionColor: @invertedLightTextColor; - -/* Link List */ -@linkListItemColor: @unselectedTextColor; -@linkListItemHoverColor: @hoveredTextColor; -@linkListItemDownColor: @pressedTextColor; -@linkListItemActiveColor: @selectedTextColor; -@linkListTransition: - 0.2s color @defaultEasing -; - -/* Inverted Link List */ -@invertedLinkListItemColor: @invertedUnselectedTextColor; -@invertedLinkListItemHoverColor: @invertedHoveredTextColor; -@invertedLinkListItemDownColor: @invertedPressedTextColor; -@invertedLinkListItemActiveColor: @invertedSelectedTextColor; - -/* Selection List */ -@selectionListItemMargin: 0em; -@selectionListItemBorderRadius: 0.5em; -@selectionListItemVerticalPadding: 0.5em; -@selectionListItemHorizontalPadding: 0.5em; -@selectionListTransition: - 0.2s color @defaultEasing, - 0.2s padding-left @defaultEasing, - 0.2s background-color @defaultEasing -; - -/* Selection List States */ -@selectionListBackground: transparent; -@selectionListColor: @unselectedTextColor; -@selectionListHoverBackground: @subtleTransparentBlack; -@selectionListHoverColor: @hoveredTextColor; -@selectionListDownBackground: @transparentBlack; -@selectionListDownColor: @pressedTextColor; -@selectionListActiveBackground: @transparentBlack; -@selectionListActiveColor: @selectedTextColor; - -/* Inverted Selection List */ -@invertedSelectionListBackground: transparent; -@invertedSelectionListColor: @invertedUnselectedTextColor; -@invertedSelectionListHoverBackground: @subtleTransparentWhite; -@invertedSelectionListHoverColor: @invertedHoveredTextColor; -@invertedSelectionListDownBackground: @transparentWhite; -@invertedSelectionListDownColor: @invertedPressedTextColor; -@invertedSelectionListActiveBackground: @transparentWhite; -@invertedSelectionListActiveColor: @invertedSelectedTextColor; - -/* Animated List */ -@animatedListTransition: - 0.2s color ease, - 0.2s padding-left ease, - 0.2s background-color ease -; -@animatedListIndent: 1em; -@animatedListChildIndent: 0.5em; - -/* Bulleted */ -@bulletDistance: 1rem; -@bulletOffset: -1rem; - -@bulletOpacity: 1; -@bulletCharacter: '•'; -@bulletColor: @textColor; -@bulletVerticalAlign: top; -@bulletChildDistance: @bulletDistance; - -/* Horizontal Bullets */ -@horizontalBulletSpacing: 1.5rem; -@horizontalBulletOffset: -1.1rem; - -/* Ordered List */ -@orderedCountName: ordered; -@orderedCountContent: counters(ordered, ".") " "; -@orderedCountColor: @textColor; -@orderedCountDistance: 1.25rem; -@orderedCountOpacity: 0.8; -@orderedCountTextAlign: right; -@orderedCountVerticalAlign: middle; - -@orderedChildCountDistance: 2em; -@orderedChildCountOffset: -2em; - -/* Horizontal Ordereded */ -@horizontalOrderedCountDistance: 0.5em; - -/* Divided */ -@dividedBorderWidth: 1px; -@dividedBorder: @dividedBorderWidth solid @borderColor; -@dividedInvertedBorderColor: @whiteBorderColor; -@dividedChildListBorder: none; -@dividedChildItemBorder: none; - -/* Divided Horizontal */ -@horizontalDividedSpacing: (@horizontalSpacing / 2); -@horizontalDividedLineHeight: 0.6; - -/* Divided */ -@celledBorderWidth: 1px; -@celledBorder: @celledBorderWidth solid @borderColor; -@celledInvertedBorder: @dividedBorderWidth solid @whiteBorderColor; -@celledHorizontalPadding: 0.5em; -@celledChildListBorder: none; -@celledChildItemBorder: none; - -/* Divided Horizontal */ -@horizontalCelledSpacing: (@horizontalSpacing / 2); -@horizontalCelledLineHeight: 0.6; - -/* Relaxed */ -@relaxedVerticalPadding: 0.5rem; -@relaxedHeaderMargin: 0.25rem; -@relaxedHorizontalPadding: 1.25rem; - -/* Very Relaxed */ -@veryRelaxedVerticalPadding: 1rem; -@veryRelaxedHeaderMargin: 0.5rem; -@veryRelaxedHorizontalPadding: 2rem; - - -/* Sizes */ -@mini: 0.7rem; -@tiny: 0.8rem; -@small: 0.9rem; -@medium: 1rem; -@large: 1.1rem; -@big: 1.2rem; -@huge: 1.3rem; -@massive: 1.5rem; diff --git a/themes/default/elements/loader.overrides b/themes/default/elements/loader.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/loader.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/loader.variables b/themes/default/elements/loader.variables deleted file mode 100644 index 772057de78..0000000000 --- a/themes/default/elements/loader.variables +++ /dev/null @@ -1,52 +0,0 @@ -/******************************* - Loader -*******************************/ - -/*------------------- - Standard ---------------------*/ - -@loaderTopOffset: 50%; -@loaderLeftOffset: 50%; - -/*------------------- - Types ---------------------*/ - -/* Image */ -@miniSize: 16px; -@smallSize: 24px; -@mediumSize: 32px; -@largeSize: 64px; - -@textDistance: 15px; - -@miniFontSize: 0.8em; -@smallFontSize: 0.875em; -@mediumFontSize: 1em; -@largeFontSize: 1.2em; - -@miniLoaderPath: "@{imagePath}/loader-mini.gif"; -@smallLoaderPath: "@{imagePath}/loader-small.gif"; -@mediumLoaderPath: "@{imagePath}/loader-medium.gif"; -@largeLoaderPath: "@{imagePath}/loader-large.gif"; - -@miniInvertedLoaderPath: "@{imagePath}/loader-mini-inverted.gif"; -@smallInvertedLoaderPath: "@{imagePath}/loader-small-inverted.gif"; -@mediumInvertedLoaderPath: "@{imagePath}/loader-medium-inverted.gif"; -@largeInvertedLoaderPath: "@{imagePath}/loader-large-inverted.gif"; - -/* Text */ -@loaderTextColor: @invertedTextColor; -@invertedLoaderTextColor: @textColor; - - -/*------------------- - States ---------------------*/ - - - -/*------------------- - Variations ---------------------*/ diff --git a/themes/default/elements/rail.overrides b/themes/default/elements/rail.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/rail.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/rail.variables b/themes/default/elements/rail.variables deleted file mode 100644 index a2448b4d2a..0000000000 --- a/themes/default/elements/rail.variables +++ /dev/null @@ -1,24 +0,0 @@ -/******************************* - Rail -*******************************/ - -/*------------------- - Element ---------------------*/ - -@contentSizing: content-box; -@width: 300px; -@size: 1em; -@distance: 4rem; - -/*------------------- - Variations ---------------------*/ - -/* Close */ -@closeDistance: 2em; -@veryCloseDistance: 1em; - -/* Divided */ -@dividedBorder: 1px solid @borderColor; -@dividedDistance: 5rem; diff --git a/themes/default/elements/reveal.overrides b/themes/default/elements/reveal.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/reveal.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/reveal.variables b/themes/default/elements/reveal.variables deleted file mode 100644 index 5930e14676..0000000000 --- a/themes/default/elements/reveal.variables +++ /dev/null @@ -1,15 +0,0 @@ -/******************************* - Reveal -*******************************/ - -@transitionDelay: 0.15s; -@transitionDuration: 0.8s; -@transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1); - -@zIndex: 2; -@bottomZIndex: 3; -@topZIndex: 4; - -@rotateDegrees: 110deg; - -@medium: 1rem; \ No newline at end of file diff --git a/themes/default/elements/segment.overrides b/themes/default/elements/segment.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/segment.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/segment.variables b/themes/default/elements/segment.variables deleted file mode 100644 index 32d33cdbb1..0000000000 --- a/themes/default/elements/segment.variables +++ /dev/null @@ -1,85 +0,0 @@ -/******************************* - Segment -*******************************/ - -/*------------------- - Element ---------------------*/ - -@background: @white; -@borderWidth: 1px; -@border: none; - -@borderShadow: 0px 0px 0px @borderWidth @borderColor; -@boxShadow: - @borderShadow, - @subtleShadow -; -@verticalPadding: 1em; -@horizontalPadding: 1em; - -@margin: 1rem; -@borderRadius: @defaultBorderRadius; - -/*------------------- - Coupling ---------------------*/ - -/* Page Grid Segment */ -@pageGridMargin: (2 * @verticalPadding); - - -/******************************* - Variations -*******************************/ - -/* Piled */ -@piledZIndex: auto; -@piledMargin: 2em; -@piledBoxShadow: 0px 0px 1px 1px @borderColor; -@piledDegrees: 1.2deg; - -/* Circular */ -@circularPadding: 2em; - -/* Stacked */ -@stackedHeight: 6px; -@stackedPageBackground: @subtleTransparentBlack; -@stackedPadding: @verticalPadding + (0.4em); -@tallStackedPadding: @verticalPadding + (0.8em); - -/* Raised */ -@raisedShadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.15); -@raisedBoxShadow: - @borderShadow, - @raisedShadow -; - -/* Attached */ -@attachedTopOffset: 0px; -@attachedBottomOffset: 0px; -@attachedHorizontalOffset: -1px; -@attachedWidth: ~"calc(100% + "-@attachedHorizontalOffset * 2~")"; -@attachedBoxShadow: none; -@attachedBorder: 1px solid @solidBorderColor; -@attachedBottomBoxShadow: - @attachedBoxShadow, - @subtleShadow -; - -/* Colors */ -@coloredBorderSize: 2px; -@coloredBorderRadius: 0em 0em @borderRadius @borderRadius; - -/* Ordinality */ -@secondaryBackground: #FAF9FA; -@secondaryColor: @textColor; - -@tertiaryBackground: #EBEBEB; -@tertiaryColor: @lightTextColor; - -@secondaryInvertedBackground: linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%); -@secondaryInvertedColor: @offWhite; - -@tertiaryInvertedBackground: linear-gradient(rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%); -@tertiaryInvertedColor: @darkWhite; diff --git a/themes/default/elements/step.overrides b/themes/default/elements/step.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/elements/step.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/elements/step.variables b/themes/default/elements/step.variables deleted file mode 100644 index 7bc78f154e..0000000000 --- a/themes/default/elements/step.variables +++ /dev/null @@ -1,98 +0,0 @@ -/******************************* - Step -*******************************/ - -/*------------------- - Element ---------------------*/ - -@verticalMargin: 0em; -@horizontalMargin: 0em; - -@verticalPadding: 0.8em; -@horizontalPadding: 1.5em; -@leftPadding: @horizontalPadding + (@arrowSize /2); - -@transition: - background-color 0.1s ease, - opacity 0.1s ease, - color 0.1s ease, - box-shadow 0.1s ease -; -@borderRadius: @defaultBorderRadius; -@lineHeight: 1.2; - -@backgroundColor: #FFFFFF; -@background: @backgroundColor; -@borderRadius: 0em; - -@boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15); - -/* Icon */ -@iconDistance: 0.6em; -@iconSize: 2em; -@iconVerticalAlign: middle; - -/* Title */ -@titleFontFamily: @headerFont; -@titleFontWeight: bold; -@titleFontSize: 1.1em; -@titleColor: @darkTextColor; - -/* Description */ -@descriptionDistance: 0.1em; -@descriptionFontSize: 0.9em; -@descriptionFontWeight: normal; -@descriptionColor: @textColor; - - -/* Arrow */ -@arrowWidth: 1em; -@arrowSize: 1.5em; -@arrowBackgroundColor: @backgroundColor; -@arrowTopOffset: 50%; -@arrowRightOffset: 0em; -@arrowBorderColor: rgba(0, 0, 0, 0.1); - - -/*------------------- - Group ---------------------*/ - -@stepsBorderRadius: @defaultBorderRadius; -@stepsBackground: ''; -@stepsBoxShadow: ''; - - -/*------------------- - States ---------------------*/ - -/* Completed */ -@completedColor: @positiveColor; - -/* Hover */ -@hoverBackground: #FAFAFA; -@hoverColor: @hoveredTextColor; - -/* Down */ -@downBackground: #F0F0F0; -@downColor: @pressedTextColor; - -/* Active */ -@activeBackground: #F0F0F0; -@activeColor: @linkColor; -@activeIconColor: @darkTextColor; - -/* Active + Hover */ -@activeHoverBackground: #ECECEC; -@activeHoverColor: @textColor; - - -/* Disabled */ -@disabledBackground: @white; -@disabledColor: @disabledTextColor; - -@small: 0.9rem; -@medium: 1rem; -@large: 1.1rem; \ No newline at end of file diff --git a/themes/default/globals/reset.overrides b/themes/default/globals/reset.overrides deleted file mode 100644 index 96dda9e77c..0000000000 --- a/themes/default/globals/reset.overrides +++ /dev/null @@ -1,434 +0,0 @@ -/******************************* - Overrides -*******************************/ - -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ - -/** - * Correct `block` display not defined in IE 8/9. - */ -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/themes/default/globals/reset.variables b/themes/default/globals/reset.variables deleted file mode 100644 index 0eedf27c8b..0000000000 --- a/themes/default/globals/reset.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Reset -*******************************/ \ No newline at end of file diff --git a/themes/default/globals/site.overrides b/themes/default/globals/site.overrides deleted file mode 100644 index d756a10034..0000000000 --- a/themes/default/globals/site.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Global Overrides -*******************************/ diff --git a/themes/default/globals/site.variables b/themes/default/globals/site.variables deleted file mode 100644 index 299f3c0608..0000000000 --- a/themes/default/globals/site.variables +++ /dev/null @@ -1,517 +0,0 @@ -/******************************* - Site Settings -*******************************/ - -/*------------------- - Paths ---------------------*/ - -@imagePath : "../../themes/packages/default/assets/images"; -@fontPath : "../../themes/packages/default/assets/fonts"; - -/*------------------- - Fonts ---------------------*/ - -@headerFont : 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; -@pageFont : 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; -@fontSmoothing : antialiased; - -@importGoogleFonts : true; -@googleFontName : 'Lato'; -@googleFontSizes : '400,700,400italic,700italic'; - -/*------------------- - Site Colors ---------------------*/ - -/*--- Colors ---*/ -@blue : #3B83C0; -@green : #5BBD72; -@orange : #E07B53; -@pink : #D9499A; -@purple : #564F8A; -@red : #D95C5C; -@teal : #00B5AD; -@yellow : #F2C61F; - -@black : #1B1C1D; -@grey : #CCCCCC; -@white : #FFFFFF; - -/*--- Light Colors ---*/ -@lightBlue : #54C8FF; -@lightGreen : #2ECC40; -@lightOrange : #FF851B; -@lightPink : #FF8EDF; -@lightPurple : #CDC6FF; -@lightRed : #FF695E; -@lightTeal : #6DFFFF; -@lightYellow : #FFE21F; - -@primaryColor : @blue; -@secondaryColor : @black; - -/*------------------- - Page ---------------------*/ - -@pageBackground : #F7F7F7; -@pageOverflowX : hidden; - -@fontSize : 14px; -@lineHeight : 1.33; -@textColor : rgba(0, 0, 0, 0.8); - -@headerMargin : 1em 0em 1rem; -@paragraphMargin : 0em 0em 1em; - -@linkColor : #009FDA; -@linkUnderline : none; -@linkHoverColor : lighten( @linkColor, 5); - -@highlightBackground : rgba(255, 255, 160, 0.4); -@highlightColor : @textColor; - -/*------------------- - Background Colors ---------------------*/ - -@subtleTransparentBlack : rgba(0, 0, 0, 0.03); -@transparentBlack : rgba(0, 0, 0, 0.05); -@strongTransparentBlack : rgba(0, 0, 0, 0.10); - -@subtleTransparentWhite : rgba(255, 255, 255, 0.02); -@transparentWhite : rgba(255, 255, 255, 0.05); -@strongTransparentWhite : rgba(255, 255, 255, 0.07); - - -/*------------------- - Accents ---------------------*/ - -/* 4px @ 14px */ -@relativeBorderRadius: 0.2857em; -@absoluteBorderRadius: 0.2857rem; -@defaultBorderRadius: @absoluteBorderRadius; - -/* Used for differentiating neutrals */ -@subtleGradient: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); - -/* Used for differentiating layers */ -@subtleShadow: 0px 1px 2px 0 rgba(0, 0, 0, 0.05); - - -/*------------------- - Grid ---------------------*/ - -@columnCount: 16; - -/*------------------- - Breakpoints ---------------------*/ - -@mobileBreakpoint : 320px; -@tabletBreakpoint : 768px; -@computerBreakpoint : 992px; -@largeMonitorBreakpoint : 1400px; -@widescreenMonitorBreakpoint : 1920px; - - -/******************************* - Power-User -*******************************/ - -/*------------------- - Icons ---------------------*/ - -/* Maximum Glyph Width of Icon */ -@iconWidth : 1.18em; - -/*------------------- - Easing ---------------------*/ - -@defaultEasing: ease; - -/*--- Neutrals ---*/ -@fullBlack : #000000; -@lightBlack : #333333; -@darkGrey : #AAAAAA; -@lightGrey : #DCDDDE; -@offWhite : #FAFAFA; -@darkWhite : #F0F0F0; - -/*--- Colored Backgrounds ---*/ -@blueBackground : #DFF0FF; -@greenBackground : #EBFFED; -@orangeBackground : #FFEDDE; -@pinkBackground : #FFE3FB; -@purpleBackground : #EAE7FF; -@redBackground : #FFE8E6; -@tealBackground : #E9FFFF; -@yellowBackground : #FFF8DB; - -/*--- Colored Text ---*/ -@blueTextColor : @blue; -@orangeTextColor : @orange; -@pinkTextColor : @pink; -@purpleTextColor : @purple; -@redTextColor : @red; -@greenTextColor : #1EBC30; // Green is difficult to read -@tealTextColor : #10A3A3; // Teal text is difficult to read -@yellowTextColor : #B58105; // Yellow text is difficult to read - -/*--- Colored Headers ---*/ -@blueHeaderColor : darken(@blueTextColor, 5); -@greenHeaderColor : darken(@greenTextColor, 5); -@orangeHeaderColor : darken(@orangeTextColor, 5); -@pinkHeaderColor : darken(@pinkTextColor, 5); -@purpleHeaderColor : darken(@purpleTextColor, 5); -@redHeaderColor : darken(@redTextColor, 5); -@tealHeaderColor : darken(@tealTextColor, 5); -@yellowHeaderColor : darken(@yellowTextColor, 5); - - -/*------------------- - Emotive Colors ---------------------*/ - -/* Positive */ -@positiveColor : @green; -@positiveBackgroundColor : #EEFFE7; -@positiveBorderColor : #B7CAA7; -@positiveHeaderColor : #356E36; -@positiveTextColor : #3C763D; - -/* Negative */ -@negativeColor : @red; -@negativeBackgroundColor : #FFF0F0; -@negativeBorderColor : #DBB1B1; -@negativeHeaderColor : #912D2B; -@negativeTextColor : #A94442; - -/* Info */ -@infoColor : #31CCEC; -@infoBackgroundColor : #E9FAFF; -@infoBorderColor : #AAD6DF; -@infoHeaderColor : #297187; -@infoTextColor : #337B92; - -/* Warning */ -@warningColor : #F2C037; -@warningBorderColor : #D9CAAB; -@warningBackgroundColor : #FFFBE6; -@warningHeaderColor : #825C01; -@warningTextColor : #876A38; - - -/*------------------- - Neutral Text ---------------------*/ - -@darkTextColor : rgba(0, 0, 0, 0.85); -@lightTextColor : rgba(0, 0, 0, 0.4); - -@unselectedTextColor : rgba(0, 0, 0, 0.4); -@hoveredTextColor : rgba(0, 0, 0, 0.8); -@pressedTextColor : rgba(0, 0, 0, 0.8); -@selectedTextColor : rgba(0, 0, 0, 0.8); -@disabledTextColor : rgba(0, 0, 0, 0.2); - -@invertedTextColor : rgba(255, 255, 255, 1); -@invertedLightTextColor : rgba(255, 255, 255, 0.8); -@invertedUnselectedTextColor : rgba(255, 255, 255, 0.5); -@invertedHoveredTextColor : rgba(255, 255, 255, 1); -@invertedPressedTextColor : rgba(255, 255, 255, 1); -@invertedSelectedTextColor : rgba(255, 255, 255, 1); -@invertedDisabledTextColor : rgba(255, 255, 255, 0.2); - -/*------------------- - Brand Colors ---------------------*/ - -@facebookColor : #3B579D; -@twitterColor : #4092CC; -@googlePlusColor : #D34836; -@linkedInColor : #1F88BE; -@youtubeColor : #CC181E; -@instagramColor : #49769C; -@pinterestColor : #00ACED; -@vkColor : #4D7198; - -/*------------------- - Borders ---------------------*/ - -@circularRadius : 500rem; - -@borderColor : rgba(39, 41, 43, 0.15); -@selectedBorderColor : rgba(39, 41, 43, 0.2); - -@solidBorderColor : #D4D4D5; -@solidSelectedBorderColor : #BEBEBF; - -@whiteBorderColor : rgba(255, 255, 255, 0.2); -@selectedWhiteBorderColor : rgba(255, 255, 255, 0.8); - -@solidWhiteBorderColor : #555555; -@selectedSolidWhiteBorderColor : #999999; - -/*------------------- - Sizes ---------------------*/ - -@mini : 0.7142em; -@tiny : 0.8571em; -@small : 0.9285em; -@medium : 1em; -@large : 1.1428em; -@big : 1.2857em; -@huge : 1.4285em; -@massive : 1.7142em; - - -/*------------------- - Transitions ---------------------*/ - -@transitionDuration : 0.2s; -@transitionEasing : ease; - - -/*------------------- - Derived Values ---------------------*/ - -/* Makes sure padded grid can fit at 320px */ -@pageMinWidth : (320px - (@fontSize * 3)); - -/* Used to match floats with text */ -@lineHeightOffset : ((@lineHeight - 1em) / 2); - -/* Positive / Negative Dupes */ -@successColor : @positiveColor; -@errorColor : @negativeColor; -@successBackgroundColor : @positiveBackgroundColor; -@errorBackgroundColor : @negativeBackgroundColor; -@successTextColor : @positiveTextColor; -@errorTextColor : @negativeTextColor; -@successBorderColor : @positiveBorderColor; -@errorBorderColor : @negativeBorderColor; -@successHeaderColor : @positiveHeaderColor; -@errorHeaderColor : @negativeHeaderColor; - -/* Responsive */ -@largestMobileScreen : (@tabletBreakpoint - 1px); -@largestTabletScreen : (@computerBreakpoint - 1px); - -/* Columns */ -@oneWide : (1 / @columnCount * 100%); -@twoWide : (2 / @columnCount * 100%); -@threeWide : (3 / @columnCount * 100%); -@fourWide : (4 / @columnCount * 100%); -@fiveWide : (5 / @columnCount * 100%); -@sixWide : (6 / @columnCount * 100%); -@sevenWide : (7 / @columnCount * 100%); -@eightWide : (8 / @columnCount * 100%); -@nineWide : (9 / @columnCount * 100%); -@tenWide : (10 / @columnCount * 100%); -@elevenWide : (11 / @columnCount * 100%); -@twelveWide : (12 / @columnCount * 100%); -@thirteenWide : (13 / @columnCount * 100%); -@fourteenWide : (14 / @columnCount * 100%); -@fifteenWide : (15 / @columnCount * 100%); -@sixteenWide : (16 / @columnCount * 100%); - -@oneColumn : (1 / 1 * 100%); -@twoColumn : (1 / 2 * 100%); -@threeColumn : (1 / 3 * 100%); -@fourColumn : (1 / 4 * 100%); -@fiveColumn : (1 / 5 * 100%); -@sixColumn : (1 / 6 * 100%); -@sevenColumn : (1 / 7 * 100%); -@eightColumn : (1 / 8 * 100%); -@nineColumn : (1 / 9 * 100%); -@tenColumn : (1 / 10 * 100%); -@elevenColumn : (1 / 11 * 100%); -@twelveColumn : (1 / 12 * 100%); -@thirteenColumn : (1 / 13 * 100%); -@fourteenColumn : (1 / 14 * 100%); -@fifteenColumn : (1 / 15 * 100%); -@sixteenColumn : (1 / 16 * 100%); - - -/******************************* - States -*******************************/ - -/*------------------- - Disabled ---------------------*/ - -@disabledOpacity: 0.3; -@disabledTextColor: rgba(40, 40, 40, 0.3); -@invertedDisabledTextColor: rgba(225, 225, 225, 0.3); - -/*------------------- - Hover ---------------------*/ - -/*--- Colors ---*/ -@primaryColorHover : lighten( @primaryColor, 3); -@secondaryColorHover : lighten( @secondaryColor, 3); - -@blueHover : lighten( @blue, 3); -@greenHover : lighten( @green, 3); -@orangeHover : lighten( @orange, 3); -@pinkHover : lighten( @pink, 3); -@purpleHover : lighten( @purple, 3); -@redHover : lighten( @red, 3); -@tealHover : lighten( @teal, 3); -@yellowHover : lighten( @yellow, 3); - -@lightBlueHover : lighten( @lightBlue, 3); -@lightGreenHover : lighten( @lightGreen, 3); -@lightOrangeHover : lighten( @lightOrange, 3); -@lightPinkHover : lighten( @lightPink, 3); -@lightPurpleHover : lighten( @lightPurple, 3); -@lightRedHover : lighten( @lightRed, 3); -@lightTealHover : lighten( @lightTeal, 3); -@lightYellowHover : lighten( @lightYellow, 3); - -/*--- Emotive ---*/ -@positiveColorHover : lighten( @positiveColor, 3); -@negativeColorHover : lighten( @negativeColor, 3); - -/*--- Neutrals ---*/ -@fullBlackHover : lighten( @fullBlack, 3); -@blackHover : lighten( @black, 3); -@lightBlackHover : lighten( @lightBlack, 3); - -@lightGreyHover : lighten( @lightGrey, 3); -@greyHover : lighten( @grey, 3); -@darkGreyHover : lighten( @darkGrey, 3); - -@whiteHover : lighten( @white, 3); -@offWhiteHover : lighten( @offWhite, 3); -@darkWhiteHover : lighten( @darkWhite, 3); - -@facebookHoverColor : lighten( @facebookColor, 3); -@twitterHoverColor : lighten( @twitterColor, 3); -@googlePlusHoverColor : lighten( @googlePlusColor, 3); -@linkedInHoverColor : lighten( @linkedInColor, 3); -@youtubeHoverColor : lighten( @youtubeColor, 3); -@instagramHoverColor : lighten( @instagramColor, 3); -@pinterestHoverColor : lighten( @pinterestColor, 3); -@vkHoverColor : lighten( @vkColor, 3); - - -/*------------------- - Down (:active) ---------------------*/ - - -/*--- Colors ---*/ -@primaryColorDown : darken(@primaryColor, 5); -@secondaryColorDown : darken(@secondaryColor, 5); - -@blueDown : darken(@blue, 5); -@greenDown : darken(@green, 5); -@orangeDown : darken(@orange, 5); -@pinkDown : darken(@pink, 5); -@purpleDown : darken(@purple, 5); -@redDown : darken(@red, 5); -@tealDown : darken(@teal, 5); -@yellowDown : darken(@yellow, 5); - -@lightBlueDown : darken(@lightBlue, 5); -@lightGreenDown : darken(@lightGreen, 5); -@lightOrangeDown : darken(@lightOrange, 5); -@lightPinkDown : darken(@lightPink, 5); -@lightPurpleDown : darken(@lightPurple, 5); -@lightRedDown : darken(@lightRed, 5); -@lightTealDown : darken(@lightTeal, 5); -@lightYellowDown : darken(@lightYellow, 5); - -/*--- Emotive ---*/ -@positiveColorDown : darken(@positiveColor, 5); -@negativeColorDown : darken(@negativeColor, 5); - -/*--- Neutrals ---*/ -@fullBlackDown : darken(@fullBlack, 5); -@blackDown : darken(@black, 5); -@lightBlackDown : darken(@lightBlack, 5); - -@lightGreyDown : darken(@lightGrey, 5); -@greyDown : darken(@grey, 5); -@darkGreyDown : darken(@darkGrey, 5); - -@whiteDown : darken(@white, 5); -@offWhiteDown : darken(@offWhite, 5); -@darkWhiteDown : darken(@darkWhite, 5); - -@facebookDownColor : darken(@facebookColor, 5); -@twitterDownColor : darken(@twitterColor, 5); -@googlePlusDownColor : darken(@googlePlusColor, 5); -@linkedInDownColor : darken(@linkedInColor, 5); -@youtubeDownColor : darken(@youtubeColor, 5); -@instagramDownColor : darken(@instagramColor, 5); -@pinterestDownColor : darken(@pinterestColor, 5); -@vkDownColor : darken(@vkColor, 5); - - -/*------------------- - Active ---------------------*/ - -/*--- Standard ---*/ -@primaryColorActive : darken(@primaryColor, 3); -@secondaryColorActive : darken(@secondaryColor, 3); - -@blueActive : darken(@blue, 3); -@greenActive : darken(@green, 3); -@orangeActive : darken(@orange, 3); -@pinkActive : darken(@pink, 3); -@purpleActive : darken(@purple, 3); -@redActive : darken(@red, 3); -@tealActive : darken(@teal, 3); -@yellowActive : darken(@yellow, 3); - -@lightBlueActive : darken(@lightBlue, 3); -@lightGreenActive : darken(@lightGreen, 3); -@lightOrangeActive : darken(@lightOrange, 3); -@lightPinkActive : darken(@lightPink, 3); -@lightPurpleActive : darken(@lightPurple, 3); -@lightRedActive : darken(@lightRed, 3); -@lightTealActive : darken(@lightTeal, 3); -@lightYellowActive : darken(@lightYellow, 3); - -/*--- Emotive ---*/ -@positiveColorActive : darken(@positiveColor, 3); -@negativeColorActive : darken(@negativeColor, 3); - -/*--- Neutrals ---*/ -@fullBlackActive : darken(@fullBlack, 3); -@blackActive : darken(@black, 3); -@lightBlackActive : darken(@lightBlack, 3); - -@lightGreyActive : darken(@lightGrey, 3); -@greyActive : darken(@grey, 3); -@darkGreyActive : darken(@darkGrey, 3); - -@whiteActive : darken(@white, 3); -@offWhiteActive : darken(@offWhite, 3); -@darkWhiteActive : darken(@darkWhite, 3); - -@facebookActiveColor : darken(@facebookColor, 3); -@twitterActiveColor : darken(@twitterColor, 3); -@googlePlusActiveColor : darken(@googlePlusColor, 3); -@linkedInActiveColor : darken(@linkedInColor, 3); -@youtubeActiveColor : darken(@youtubeColor, 3); -@instagramActiveColor : darken(@instagramColor, 3); -@pinterestActiveColor : darken(@pinterestColor, 3); -@vkActiveColor : darken(@vkColor, 3); - diff --git a/themes/default/modules/accordion.overrides b/themes/default/modules/accordion.overrides deleted file mode 100644 index c770d78ae7..0000000000 --- a/themes/default/modules/accordion.overrides +++ /dev/null @@ -1,28 +0,0 @@ -/******************************* - Overrides -*******************************/ -@font-face { - font-family: 'Accordion'; - src: - url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), - url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff') - ; - font-weight: normal; - font-style: normal; -} - -/* Dropdown Icon */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - font-family: Accordion; - line-height: 1; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} - -.ui.accordion .title .dropdown.icon:before, -.ui.accordion .accordion .title .dropdown.icon:before { - content: '\f0da'/*rtl:'\f0d9'*/; -} \ No newline at end of file diff --git a/themes/default/modules/accordion.variables b/themes/default/modules/accordion.variables deleted file mode 100644 index bcce5bf677..0000000000 --- a/themes/default/modules/accordion.variables +++ /dev/null @@ -1,100 +0,0 @@ -/******************************* - Accordion -*******************************/ - -@fontSize: 1em; -@boxShadow: none; - -/* Title */ -@titleFont: @headerFont; -@titlePadding: 0.5em 0em; -@titleFontSize: 1em; -@titleColor: @textColor; - -/* Icon */ -@iconOpacity: 0.75; -@iconFloat: none; -@iconWidth: 1.25em; -@iconHeight: 1em; -@iconDisplay: inline-block; -@iconMargin: 0em 0.25rem 0em 0rem; -@iconPadding: 0em; -@iconTransition: - transform 0.2s ease, - opacity 0.2s ease -; -@iconVerticalAlign: baseline; - -@iconTransform: rotate(0deg); - -/* Child Accordion */ -@childAccordionMargin: 1em 0em 0em; -@childAccordionPadding: 0em; - -/* Content */ -@contentMargin: 0em; -@contentPadding: 0.5em 0em 1em; - -/*------------------- - Coupling ---------------------*/ - -@menuTitlePadding: 0em; -@menuIconFloat: right; -@menuIconMargin: @lineHeightOffset 0em 0em 1em; -@menuIconTransform: rotate(180deg); - - -/*------------------- - States ---------------------*/ - -@activeIconTransform: rotate(90deg); - -/*------------------- - Variations ---------------------*/ - -/* Styled */ -@styledWidth: 600px; -@styledBackground: @white; -@styledBorderRadius: @defaultBorderRadius; -@styledBoxShadow: - @subtleShadow, - 0px 0px 0px 1px @borderColor -; - -/* Content */ -@styledContentMargin: 0em; -@styledContentPadding: 0.5em 1em 1.5em; - -/* Child Content */ -@styledChildContentMargin: 0em; -@styledChildContentPadding: @styledContentPadding; - -/* Styled Title */ -@styledTitleMargin: 0em; -@styledTitlePadding: 0.75em 1em; -@styledTitleFontWeight: bold; -@styledTitleColor: @unselectedTextColor; -@styledTitleTransition: background-color 0.2s ease; -@styledTitleBorder: 1px solid @borderColor; -@styledTitleTransition: - background @transitionDuration @transitionEasing, - color @transitionDuration @transitionEasing -; - -/* Styled Title States */ -@styledTitleHoverBackground: transparent; -@styledTitleHoverColor: @textColor; -@styledActiveTitleBackground: transparent; -@styledActiveTitleColor: @selectedTextColor; - -/* Styled Child Title States */ -@styledHoverChildTitleBackground: @styledTitleHoverBackground; -@styledHoverChildTitleColor: @styledTitleHoverColor; -@styledActiveChildTitleBackground: @styledActiveTitleBackground; -@styledActiveChildTitleColor: @styledActiveTitleColor; - - - diff --git a/themes/default/modules/chatroom.overrides b/themes/default/modules/chatroom.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/chatroom.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/chatroom.variables b/themes/default/modules/chatroom.variables deleted file mode 100644 index 0da971c8df..0000000000 --- a/themes/default/modules/chatroom.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Chatroom -*******************************/ \ No newline at end of file diff --git a/themes/default/modules/checkbox.overrides b/themes/default/modules/checkbox.overrides deleted file mode 100644 index 8b7b41bac6..0000000000 --- a/themes/default/modules/checkbox.overrides +++ /dev/null @@ -1,31 +0,0 @@ -/******************************* - Overrides -*******************************/ - -@font-face { - font-family: 'Checkbox'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,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') format('truetype'); -} -.ui.checkbox label:before, -.ui.checkbox .box:before, -.ui.checkbox label:after, -.ui.checkbox .box:after { - font-family: 'Checkbox'; -} -.ui.checkbox label:after, -.ui.checkbox .box:after { - content: '\e800'; /* '' */ -} - -/* UTF Reference -.check:before { content: '\e800'; } -.circle:before { content: '\e801'; } -.ok-circled:before { content: '\e806'; } -.ok-circle:before { content: '\e805'; } -.cancel-circle:before { content: '\e807'; } -.cancel-circle-1:before { content: '\e804'; } -.empty-circle:before { content: '\e802'; } -.radio:before { content: '\e803'; } - -*/ \ No newline at end of file diff --git a/themes/default/modules/checkbox.variables b/themes/default/modules/checkbox.variables deleted file mode 100644 index 3bbe297400..0000000000 --- a/themes/default/modules/checkbox.variables +++ /dev/null @@ -1,139 +0,0 @@ -/******************************* - Checkbox -*******************************/ - -@checkboxColor: @textColor; -@fontSize: 1em; -@checkboxLineHeight: 15px; - -/* Label */ -@labelPadding: 1.75em; - -@neutralCheckbox: @transparentBlack; -@positiveCheckbox: @positiveColor; -@negativeCheckbox: @negativeColor; - -/* Checkbox */ -@checkboxSize: 17px; -@checkboxBackground: @white; -@checkboxBorder: 1px solid @solidBorderColor; -@checkboxBorderRadius: 0.25em; -@checkboxTransition: - background-color 0.3s ease, - border 0.3s ease, - box-shadow 0.3s ease -; - -/* Checkmark */ -@checkboxCheckTop: 0px; -@checkboxCheckLeft: 0px; - - -/*------------------- - Coupling ---------------------*/ - -@labelColor: @textColor; - -@labelOpacity: 0.6; -@labelHoverOpacity: 0.8; -@labelSelectedOpacity: 1; - -/*------------------- - States ---------------------*/ - -@checkboxHoverBackground: @checkboxBackground; -@checkboxHoverBorder: 1px solid @selectedBorderColor; -@labelHoverColor: @hoveredTextColor; - -@checkboxSelectedBackground: #F5F5F5; -@checkboxSelectedBorder: 1px solid @selectedBorderColor; -@labelSelectedColor: @selectedTextColor; - -/* Disabled */ -@disabledCheckboxOpacity: 0.5; -@disabledCheckboxLabelColor: rgba(0, 0, 0, 1); - -/*------------------- - Types ---------------------*/ - -/* Radio */ -@checkboxRadioSize: 14px; -@checkboxRadioCircleSize: 9px; -@checkboxRadioTop: 1px; -@checkboxRadioLeft: 0px; - -@checkboxBulletScale: 0.428571428; -@checkboxBulletColor: @textColor; -@checkboxBulletRadius: @circularRadius; - -/* Slider & Toggle Handle */ -@handleBackground: @white @subtleGradient; -@handleBoxShadow: - @subtleShadow, - 0px 0px 0px 1px @borderColor inset -; - -/* Slider */ -@sliderHandleSize: 1.5rem; -@sliderHandleOffset: (1rem - @sliderHandleSize) / 2; -@sliderLineWidth: 3.5rem; - -@sliderWidth: @sliderLineWidth; -@sliderHeight: (@sliderHandleSize + @sliderHandleOffset); - -@sliderLineHeight: 0.25rem; -@sliderLineVerticalOffset: 0.4rem; -@sliderLineColor: @neutralCheckbox; -@sliderLineRadius: @circularRadius; - -@sliderTravelDistance: @sliderLineWidth - @sliderHandleSize; - -@sliderLabelDistance: @sliderLineWidth + 1rem; -@sliderOffLabelColor: @unselectedTextColor; - -@sliderOnLineColor: @strongTransparentBlack; -@sliderOnLabelColor: @selectedTextColor; -@sliderLabelLineHeight: 1rem; - -@sliderHoverLaneBackground: @strongTransparentBlack; -@sliderHoverLabelColor: @hoveredTextColor; - - -/* Toggle */ -@toggleLaneWidth: 3.5rem; -@toggleHandleSize: 1.5rem; - -@toggleWidth: @toggleLaneWidth; -@toggleHeight: @toggleHandleSize; - -@toggleHandleRadius: @circularRadius; -@toggleHandleOffset: 0rem; -@toggleHandleTransition: - background 0.3s ease 0s, - left 0.3s ease 0s -; - -@toggleLaneHeight: @toggleHandleSize; -@toggleLaneVerticalOffset: 0rem; -@toggleOffOffset: -0.05rem; -@toggleOnOffset: (@toggleLaneWidth - @toggleHandleSize) + 0.05rem; - -@toggleLabelDistance: @toggleLaneWidth + 1rem; -@toggleLabelLineHeight: 1.5rem; - - -@toggleFocusColor: @strongTransparentBlack; -@toggleHoverColor: @toggleFocusColor; - -@toggleOffLabelColor: @checkboxColor; -@toggleOnLabelColor: @positiveCheckbox; -@toggleOnLaneColor: @positiveCheckbox; - - - -/*------------------- - Variations ---------------------*/ diff --git a/themes/default/modules/dimmer.overrides b/themes/default/modules/dimmer.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/dimmer.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/dimmer.variables b/themes/default/modules/dimmer.variables deleted file mode 100644 index 1afb0e6f7e..0000000000 --- a/themes/default/modules/dimmer.variables +++ /dev/null @@ -1,50 +0,0 @@ -/******************************* - Dimmer -*******************************/ - -@dimmablePosition: relative; -@dimmerPosition: absolute; - -@background: rgba(0, 0, 0 , 0.85); -@lineHeight: 1; -@transformStyle: preserve-3d; -@perspective: 2000px; - -@duration: 0.5s; -@transition: - background-color @duration linear -; -@zIndex: 1000; -@textAlign: center; -@verticalAlign: middle; -@textColor: @white; -@overflow: hidden; - -// @elementFilter: ~"blur(15px) grayscale(0.7)"; -@elementFilter: ''; - -/* Hidden (Default) */ -@hiddenOpacity: 0; - -/* Content */ -@contentDisplay: table; -@contentChildDisplay: table-cell; - -/* Visible */ -@visibleOpacity: 1; -@pageDimmerPosition: fixed; - - -/*------------------- - Variations ---------------------*/ - -@invertedBackground: rgba(255, 255, 255, 0.85); -@invertedTextColor: @textColor; - -/* Simple */ -@simpleZIndex: 1; -@simpleStartBackground: rgba(0, 0, 0, 0); -@simpleEndBackground: @background; -@simpleInvertedStartBackground: rgba(255, 255, 255, 0); -@simpleInvertedEndBackground: @invertedBackground; \ No newline at end of file diff --git a/themes/default/modules/dropdown.overrides b/themes/default/modules/dropdown.overrides deleted file mode 100644 index fd2dcfa271..0000000000 --- a/themes/default/modules/dropdown.overrides +++ /dev/null @@ -1,57 +0,0 @@ -/******************************* - Overrides -*******************************/ - -/* Dropdown Carets */ -@font-face { - font-family: 'Dropdown'; - src: - url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), - url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff') - ; - font-weight: normal; - font-style: normal; -} - -.ui.dropdown > .dropdown.icon { - font-family: 'Dropdown'; - line-height: 1; - height: 1em; - width: 1.23em; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} - -.ui.dropdown > .dropdown.icon { - width: auto; -} -.ui.dropdown > .dropdown.icon:before { - content: '\f0d7'; -} - -/* Sub Menu */ -.ui.dropdown .menu .item .dropdown.icon:before { - content: '\f0da'/*rtl:'\f0d9'*/; -} - -/* Vertical Menu Dropdown */ -.ui.vertical.menu .dropdown.item > .dropdown.icon:before { - content: "\f0da"/*rtl:"\f0d9"*/; -} - -/* Icons for Reference -.dropdown.down.icon { - content: "\f0d7"; -} -.dropdown.up.icon { - content: "\f0d8"; -} -.dropdown.left.icon { - content: "\f0d9"; -} -.dropdown.icon.icon { - content: "\f0da"; -} -*/ diff --git a/themes/default/modules/dropdown.variables b/themes/default/modules/dropdown.variables deleted file mode 100644 index 7b70532455..0000000000 --- a/themes/default/modules/dropdown.variables +++ /dev/null @@ -1,221 +0,0 @@ -/******************************* - Dropdown -*******************************/ - -/*------------------- - Element ---------------------*/ - -@lineHeight: 1; -@transition: - border-radius 0.1s ease, - width 0.2s ease -; -@borderRadius: @defaultBorderRadius; - -/*------------------- - Content ---------------------*/ - -/* Icon */ -@dropdownIconMargin: 0em 0em 0em 1em; - -/* Current Text */ -@textTransition: color 0.2s @defaultEasing; - -/* Menu */ -@menuBackground: #FFFFFF; -@menuMargin: 0em; -@menuPadding: 0em 0em; -@menuTop: 100%; -@menuWrap: nowrap; -@menuTextAlign: left; -@menuTransition: none; - -@menuBorder: 1px solid @borderColor; -@menuBoxShadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.15); -@menuBorderRadius: 0em 0em @borderRadius @borderRadius; -@menuTransition: opacity 0.2s ease; -@menuZIndex: 11; - -/* Menu Item */ -@itemFontSize: 1rem; -@itemBorder: none; -@itemHeight: auto; -@itemDivider: none; -@itemColor: @textColor; -@itemVerticalPadding: 0.65rem; -@itemHorizontalPadding: 1.25rem; -@itemFontWeight: normal; -@itemLineHeight: 1.2em; -@itemTextTransform: none; -@itemBoxShadow: none; - - -/* Menu Header */ -@menuHeaderColor: @darkTextColor; -@menuHeaderFontSize: 0.8em; -@menuHeaderFontWeight: bold; -@menuHeaderTextTransform: uppercase; -@menuHeaderMargin: 1rem 0rem 0.75rem; -@menuHeaderPadding: 0em @itemHorizontalPadding; - -/* Menu Divider */ -@menuDividerMargin: 0.5em 0em; -@menuDividerColor: rgba(0, 0, 0, 0.05); -@menuDividerSize: 1px; -@menuDividerBorder: @menuDividerSize solid @menuDividerColor; - -/* Menu Input */ -@menuInputMargin: 0.75rem @itemHorizontalPadding 0.25rem; -@menuInputMinWidth: 200px; -@menuInputPadding: 0.5em 1em; - -/* Menu Image */ -@menuImageMaxHeight: 2.5em; - -/* Sub Menu Pointer Icon */ -@dropdownSubMenuIconFloat: right; -@dropdownSubMenuIconMargin: (@itemLineHeight - 1em) 0em 0em; -@dropdownSubMenuIconDistance: 1em; - -/* Menu Item Icon */ -@itemIconMargin: 0em 0.75em 0em 0em; -@itemLabelMargin: @itemIconMargin; -@itemFlagMargin: @itemIconMargin; -@itemImageMargin: @itemIconMargin; - -/* Sub Menu */ -@subMenuTop: 0%; -@subMenuLeft: 100%; -@subMenuRight: auto; -@subMenuDistanceAway: -0.5em; -@subMenuMargin: 0em 0em 0em @subMenuDistanceAway; -@subMenuBorderRadius: 0em @borderRadius @borderRadius 0em; -@subMenuZIndex: 21; - -/*------------------- -b Types ---------------------*/ - -/* Selection */ -@selectionMinWidth: 180px; -@selectionBackground: @white; -@selectionDisplay: inline-block; -@selectionItemDivider: 1px solid rgba(0, 0, 0, 0.05); -@selectionVerticalPadding: 0.8em; -@selectionHorizontalPadding: 1.1em; -@selectionPadding: @selectionVerticalPadding @selectionHorizontalPadding; -@selectionZIndex: 10; - -@selectionTextIconDistance: 2em; -@selectionTextColor: @textColor; - -@selectionBoxShadow: none; -@selectionBorder: 1px solid @borderColor; -@selectionBorderRadius: @borderRadius; -@selectionIconOpacity: 0.8; -@selectionIconTransition: opacity 0.2s ease; -@selectionMenuBoxShadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.08); -@selectionMenuItemBoxShadow: none; - -@selectionTransition: - @transition, - box-shadow 0.2s @defaultEasing, - border 0.2s @defaultEasing -; -@selectionMenuTransition: - box-shadow 0.2s @defaultEasing, - border 0.2s @defaultEasing -; - -/* Responsive */ -@selectionMobileMaxItems: 3; -@selectionTabletMaxItems: 4; -@selectionComputerMaxItems: 6; -@selectionWidescreenMaxItems: 8; - -/* Derived */ -@selectedBorderEMWidth: 0.0714em; -@selectionItemActualHeight: (@itemVerticalPadding * 2) + @itemLineHeight + @selectedBorderEMWidth; -@selectionMobileMaxMenuHeight: (@selectionItemActualHeight * @selectionMobileMaxItems); -@selectionTabletMaxMenuHeight: (@selectionItemActualHeight * @selectionTabletMaxItems); -@selectionComputerMaxMenuHeight: (@selectionItemActualHeight * @selectionComputerMaxItems); -@selectionWidescreenMaxMenuHeight: (@selectionItemActualHeight * @selectionWidescreenMaxItems); - -/* Hover */ -@selectionHoverBorderColor: @selectedBorderColor; -@selectionHoverBoxShadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05); - -/* Visible */ -@selectionVisibleBorderColor: @borderColor; -@selectionVisibleBoxShadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08); -@selectionVisibleTextFontWeight: normal; -@selectionVisibleTextColor: @hoveredTextColor; - -/* Visible Hover */ -@selectionVisibleHoverBorderColor: @selectedBorderColor; -@selectionVisibleHoverBoxShadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.08); -@selectionVisibleHoverMenuBorder: 1px solid @selectedBorderColor; -@selectionVisibleHoverMenuBoxShadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.08); - -@selectionVisibleConnectingBorder: 0em; -@selectionVisibleIconOpacity: 1; - -/* Inline */ -@inlineIconMargin: 0em 0.5em 0em 0.25em; -@inlineTextColor: inherit; -@inlineTextFontWeight: bold; -@inlineMenuDistance: 0.25em; -@inlineMenuBorderRadius: @borderRadius; - -/*------------------- - States ---------------------*/ - -@hoveredItemBackground: @transparentBlack; -@hoveredItemColor: @selectedTextColor; - -/* Default Text */ -@defaultTextColor: rgba(179, 179, 179, 0.7); -@defaultTextHoverColor: rgba(140, 140, 140, 0.7); - -/* Active Menu Item */ -@activeItemBackground: transparent; -@activeItemZIndex: @menuZIndex + 1; -@activeItemBoxShadow: none; -@activeItemFontWeight: bold; -@activeItemColor: @selectedTextColor; - -@selectedBackground: @subtleTransparentBlack; -@selectedColor: @selectedTextColor; - -/* Error */ -@errorItemTextColor: #D95C5C; -@errorItemHoverBackground: #FFF2F2; -@errorItemActiveBackground: #FDCFCF; - -/*------------------- - Variations ---------------------*/ - -/* Simple */ -@simpleTransitionDuration: 0.2s; -@simpleTransition: opacity @simpleTransitionDuration @defaultEasing; - -/* Floating */ -@floatingMenuDistance: 0.5em; -@floatingMenuBoxShadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15); -@floatingMenuBorderRadius: @borderRadius; - -/* Pointing */ -@pointingArrowOffset: -0.25em; -@pointingArrowDistanceFromEdge: 1em; - -@pointingArrowBackground: @white; -@pointingArrowZIndex: 2; -@pointingArrowBoxShadow: -1px -1px 0px 1px rgba(0, 0, 0, 0.1); -@pointingArrowSize: 0.5em; - -@pointingMenuDistance: 0.75em; -@pointingMenuBorderRadius: @borderRadius; \ No newline at end of file diff --git a/themes/default/modules/modal.overrides b/themes/default/modules/modal.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/modal.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/modal.variables b/themes/default/modules/modal.variables deleted file mode 100644 index a894c67805..0000000000 --- a/themes/default/modules/modal.variables +++ /dev/null @@ -1,144 +0,0 @@ -/******************************* - Modal -*******************************/ - -@background: @white; -@border: none; -@width: 90%; -@xOffset: -(@width / 2); -@borderRadius: @defaultBorderRadius; -@boxShadow: 0px 0px 8px rgba(0, 0, 0, 0.8); - -/* Close Icon */ -@closeOpacity: 0.8; -@closeSize: 1.25em; -@closeColor: @white; - -@closeHitbox: 2.25rem; -@closeDistance: 0.25rem; -@closeHitBoxOffset: (@closeHitbox - 1rem) / 2; -@closePadding: @closeHitBoxOffset 0rem 0rem 0rem; -@closeTop: -(@closeDistance + @closeHitbox); -@closeRight: -(@closeDistance + @closeHitbox); - -/* Header */ -@headerMargin: 0em; -@headerVerticalPadding: 1.2rem; -@headerHorizontalpadding: 2rem; -@headerPadding: @headerVerticalPadding @headerHorizontalpadding; -@headerBackground: @subtleGradient @white; -@headerColor: @darkTextColor; -@headerFontSize: 1.6em; -@headerLineHeight: 1.3em; -@headerBoxShadow: @subtleShadow; -@headerFontWeight: bold; -@headerFontFamily: @headerFont; -@headerBorder: 1px solid @borderColor; - -/* Content */ -@contentFontSize: 1em; -@contentPadding: 2rem; -@contentLineHeight: 1.4; -@contentBackground: #FFFFFF; - -/* Image / Description */ -@imageWidth: ''; -@imageIconSize: 8rem; -@imageVerticalAlign: top; - -@descriptionDistance: 2em; -@descriptionMinWidth: ''; -@descriptionWidth: 80%; -@descriptionVerticalAlign: top; - -/* Modal Actions */ -@actionBorder: 1px solid @borderColor; -@actionBackground: #EFEFEF; -@actionPadding: 1rem 2rem; -@actionAlign: right; - -@buttonDistance: 0.75em; - -/* Inner Close Position (Tablet/Mobile) */ -@innerCloseTop: (@headerVerticalPadding - @closeHitBoxOffset + (@lineHeight - 1em)); -@innerCloseRight: 1rem; -@innerCloseColor: @textColor; - -/* Mobile Positions */ -@mobileHeaderPadding: 0.75rem 1rem; -@mobileContentPadding: 1rem; -@mobileImagePadding: 0rem 0rem 1rem; -@mobileDescriptionPadding: 1rem 0rem ; -@mobileButtonDistance: 1rem; -@mobileActionPadding: 1rem 1rem (1rem - @mobileButtonDistance); -@mobileImageIconSize: 5rem; -@mobileCloseTop: 0.5rem; -@mobileCloseRight: 0.5rem; - - -/* Responsive Widths */ -@mobileWidth: 95%; -@tabletWidth: 88%; -@computerWidth: 74%; -@largeMonitorWidth: 56%; -@widescreenMonitorWidth: 42%; - -@mobileMargin: 0em 0em 0em -(@mobileWidth / 2); -@tabletMargin: 0em 0em 0em -(@tabletWidth / 2); -@computerMargin: 0em 0em 0em -(@computerWidth / 2); -@largeMonitorMargin: 0em 0em 0em -(@largeMonitorWidth / 2); -@widescreenMonitorMargin: 0em 0em 0em -(@widescreenMonitorWidth / 2); - -@fullScreenWidth: 95%; -@fullScreenMargin: 1em 0em 1em -(@fullScreenWidth / 2); -@fullScreenMobileMargin: 1em; - -/*------------------- - Types ---------------------*/ - -/* Basic */ -@basicModalHeaderColor: @white; -@basicModalColor: @white; -@basicModalCloseTop: 1rem; -@basicModalCloseRight: 1.5rem; -@basicInnerCloseColor: @white; - -/* Scrolling Margin */ -@scrollingMargin: 3.5rem; -@mobileScrollingMargin: 1rem; - -/*------------------- - Variations ---------------------*/ - -/* Size Widths */ -@smallRatio: 0.6; -@largeRatio: 1.2; - -/* Derived Responsive Sizes */ -@smallHeaderSize: 1.3em; -@smallMobileWidth: @mobileWidth; -@smallTabletWidth: (@tabletWidth * @smallRatio); -@smallComputerWidth: (@computerWidth * @smallRatio); -@smallLargeMonitorWidth: (@largeMonitorWidth * @smallRatio); -@smallWidescreenMonitorWidth: (@widescreenMonitorWidth * @smallRatio); - -@smallMobileMargin: 0em 0em 0em -(@smallMobileWidth / 2); -@smallTabletMargin: 0em 0em 0em -(@smallTabletWidth / 2); -@smallComputerMargin: 0em 0em 0em -(@smallComputerWidth / 2); -@smallLargeMonitorMargin: 0em 0em 0em -(@smallLargeMonitorWidth / 2); -@smallWidescreenMonitorMargin: 0em 0em 0em -(@smallWidescreenMonitorWidth / 2); - -@largeHeaderSize: 1.6em; -@largeMobileWidth: @mobileWidth; -@largeTabletWidth: @tabletWidth; -@largeComputerWidth: (@computerWidth * @largeRatio); -@largeLargeMonitorWidth: (@largeMonitorWidth * @largeRatio); -@largeWidescreenMonitorWidth: (@widescreenMonitorWidth * @largeRatio); - -@largeMobileMargin: 0em 0em 0em -(@largeMobileWidth / 2); -@largeTabletMargin: 0em 0em 0em -(@largeTabletWidth / 2); -@largeComputerMargin: 0em 0em 0em -(@largeComputerWidth / 2); -@largeLargeMonitorMargin: 0em 0em 0em -(@largeLargeMonitorWidth / 2); -@largeWidescreenMonitorMargin: 0em 0em 0em -(@largeWidescreenMonitorWidth / 2); \ No newline at end of file diff --git a/themes/default/modules/nag.overrides b/themes/default/modules/nag.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/nag.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/nag.variables b/themes/default/modules/nag.variables deleted file mode 100644 index 9b4578963c..0000000000 --- a/themes/default/modules/nag.variables +++ /dev/null @@ -1,74 +0,0 @@ -/******************************* - Nag -*******************************/ - -/*-------------- - Collection ----------------*/ - -@position: relative; -@width: 100%; -@zIndex: 999; -@margin: 0em; - -@background: #555555; -@opacity: 0.95; -@minHeight: 0em; -@padding: 0.75em 1em; -@lineHeight: 1em; -@boxShadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); - -@fontSize: 1rem; -@textAlign: center; -@color: @textColor; - -@transition: 0.2s background ease; - - -/*-------------- - Elements ----------------*/ - -/* Title */ -@titleColor: @white; -@titleMargin: 0em 0.5em; - -@closeSize: 1em; -@closeMargin: (-@closeSize / 2) 0em 0em; -@closeTop: 50%; -@closeRight: 1em; -@closeColor: @white; -@closeTransition: opacity 0.2s ease; -@closeOpacity: 0.4; - - -/*-------------- - States ----------------*/ - -/* Hover */ -@nagHoverBackground: @background; -@nagHoverOpacity: 1; - -@closeHoverOpacity: 1; - -/*-------------- - Variations ----------------*/ - -/* Top / Bottom */ -@top: 0em; -@bottom: 0em; -@borderRadius: @defaultBorderRadius; -@topBorderRadius: 0em 0em @borderRadius @borderRadius; -@bottomBorderRadius: @borderRadius @borderRadius 0em 0em; - -/* Inverted */ -@invertedBackground: @darkWhite; - -/*-------------- - Plural ----------------*/ - -@groupedBorderRadius: 0em; - diff --git a/themes/default/modules/popup.overrides b/themes/default/modules/popup.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/popup.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/popup.variables b/themes/default/modules/popup.variables deleted file mode 100644 index ba5a9931c1..0000000000 --- a/themes/default/modules/popup.variables +++ /dev/null @@ -1,93 +0,0 @@ -/******************************* - Popup -*******************************/ - -/*------------------- - Element ---------------------*/ - -@zIndex: 900; -@background: @white; - -@maxWidth: 250px; -@borderColor: #CCCCCC; -@borderWidth: 1px; -@boxShadow: 0px 2px 4px rgba(0, 0, 0, 0.1); -@color: @textColor; - -@verticalPadding: 0.8em; -@horizontalPadding: 1em; -@fontWeight: normal; -@fontStyle: normal; -@borderRadius: @defaultBorderRadius; - -/*------------------- - Parts ---------------------*/ - -/* Placement */ -@arrowSize: 0.75em; -@arrowWidth: 1em; -@arrowDistanceFromEdge: 1em; -@boxArrowOffset: 0em; -@popupDistanceAway: @arrowSize; - - -/* Header */ -@headerFontFamily: @headerFont; -@headerFontSize: 1.125em; -@headerDistance: 0.5em; -@headerLineHeight: 1.2; - -/* Content Border */ -@border: @borderWidth solid @borderColor; - -/* Arrow */ -@arrowBackground: @white; -@arrowZIndex: 2; -@arrowJitter: 0.05em; -@arrowOffset: -(@arrowSize / 2) + @arrowJitter; - -@arrowStroke: @borderWidth; -@arrowColor: darken(@borderColor, 10); - -@arrowBoxShadow: @arrowStroke @arrowStroke 0px 0px @arrowColor; -@leftArrowBoxShadow: @arrowStroke -@arrowStroke 0px 0px @arrowColor; -@rightArrowBoxShadow: -@arrowStroke @arrowStroke 0px 0px @arrowColor; -@bottomArrowBoxShadow: -@arrowStroke -@arrowStroke 0px 0px @arrowColor; - -/*------------------- - Coupling ---------------------*/ - -@popupButtonWidth: 100%; - -/*------------------- - States ---------------------*/ - -@loadingZIndex: -1; - -/*------------------- - Variations ---------------------*/ - -/* Wide */ -@wideWidth: 350px; -@veryWideWidth: 550px; - -/* Inverted */ -@invertedBackground: @black; -@invertedColor: @white; -@invertedBorder: none; -@invertedBoxShadow: none; - -@invertedHeaderBackground: none; -@invertedHeaderColor: @white; -@invertedArrowColor: @black; - -/* Sizes */ -@small: 0.8rem; -@medium: 0.875rem; -@large: 1rem; -@huge: 1.1rem; \ No newline at end of file diff --git a/themes/default/modules/progress.overrides b/themes/default/modules/progress.overrides deleted file mode 100644 index cdba171baf..0000000000 --- a/themes/default/modules/progress.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Progress -*******************************/ diff --git a/themes/default/modules/progress.variables b/themes/default/modules/progress.variables deleted file mode 100644 index 131a5fdafe..0000000000 --- a/themes/default/modules/progress.variables +++ /dev/null @@ -1,98 +0,0 @@ -/******************************* - Progress -*******************************/ - -/*------------------- - Element ---------------------*/ - -@verticalSpacing: 1em; -@margin: @verticalSpacing 0em (@labelHeight + @verticalSpacing); -@firstMargin: 0em 0em (@labelHeight + @verticalSpacing); -@lastMargin: 0em 0em (@labelHeight); - -@background: @subtleTransparentBlack; -@border: 1px solid @borderColor; -@boxShadow: none; -@padding: 0.2857em; -@borderRadius: @defaultBorderRadius; - -/* Bar */ -@barPosition: relative; -@barHeight: 1.75em; -@barBackground: #888888; -@barBorderRadius: @borderRadius; -@barTransition: - width 0.5s @defaultEasing, - background-color 1s @defaultEasing -; -@barInitialWidth: 0%; -@barMinWidth: 0.25em; - -/* Progress Bar Label */ -@progressWidth: auto; -@progressSize: 0.9em; -@progressPosition: absolute; -@progressTop: 50%; -@progressRight: 0.5em; -@progressLeft: auto; -@progressBottom: auto; -@progressOffset: -0.5em; -@progressColor: @invertedLightTextColor; -@progressTextShadow: none; -@progressFontWeight: bold; -@progressTextAlign: left; - -/* Label */ -@labelWidth: 100%; -@labelHeight: 1.5em; -@labelSize: 1em; -@labelPosition: absolute; -@labelTop: 100%; -@labelLeft: 0%; -@labelRight: auto; -@labelBottom: auto; -@labelOffset: (@labelHeight - 1.3em); -@labelColor: @textColor; -@labelTextShadow: none; -@labelFontWeight: bold; -@labelTextAlign: center; -@labelTransition: color 1s @defaultEasing; - -/*------------------- - Types ---------------------*/ - -@indicatingFirstColor: #D95C5C; -@indicatingSecondColor: #D9A65C; -@indicatingThirdColor: #E6BB48; -@indicatingFourthColor: #DDC928; -@indicatingFifthColor: #B4D95C; -@indicatingSixthColor: #66DA81; - - -/*------------------- - States ---------------------*/ - -/* Active */ -@activePulseColor: @white; -@activePulseMaxOpacity: 0.3; -@activePulseDuration: 2s; -@activeMinWidth: 3em; - - -/*------------------- - Types ---------------------*/ - -/* Attached */ -@attachedHeight: 0.25em; -@attachedBorderRadius: @borderRadius; - -/* Inverted */ -@invertedBackground: @transparentWhite; -@invertedBorder: none; -@invertedBarBackground: @barBackground; -@invertedProgressColor: @offWhite; -@invertedLabelColor: @white; diff --git a/themes/default/modules/rating.overrides b/themes/default/modules/rating.overrides deleted file mode 100644 index 010dcc3bf5..0000000000 --- a/themes/default/modules/rating.overrides +++ /dev/null @@ -1,69 +0,0 @@ -/******************************* - Overrides -*******************************/ - -@font-face { - font-family: 'Rating'; - src: - url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'), - url(data:application/font-woff;charset=utf-8;base64,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kIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOE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) format('woff') - ; - font-weight: normal; - font-style: normal; -} -.ui.rating .icon { - font-family: 'Rating'; - line-height: 1; - height: 1em; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} - -/* Empty Star */ -.ui.rating .icon:before { - content: '\f006'; -} -/* Active Star */ -.ui.rating .active.icon:before { - content: '\f005'; -} - -/*------------------- - Star ---------------------*/ - -/* Unfilled Star */ -.ui.star.rating .icon:before { - content: '\f005'; -} -/* Active Star */ -.ui.star.rating .active.icon:before { - content: '\f005'; -} - -/* Partial */ -.ui.star.rating .partial.icon:before { - content: '\f006'; -} -.ui.star.rating .partial.icon { - content: '\f005'; -} - -/*------------------- - Heart ---------------------*/ - -/* Empty Heart -.ui.heart.rating .icon:before { - content: '\f08a'; -} -*/ -.ui.heart.rating .icon:before { - content: '\f004'; -} -/* Active */ -.ui.heart.rating .active.icon:before { - content: '\f004'; -} \ No newline at end of file diff --git a/themes/default/modules/rating.variables b/themes/default/modules/rating.variables deleted file mode 100644 index 68741e2524..0000000000 --- a/themes/default/modules/rating.variables +++ /dev/null @@ -1,65 +0,0 @@ -/******************************* - Rating -*******************************/ - -@display: inline-block; -@margin: 0em 0.5rem 0em 0em; - -@verticalAlign: baseline; -@oversizedVerticalAlign: middle; - -@iconHitbox: 1.1em; -@inactiveColor: rgba(0, 0, 0, 0.15); - -/*------------------- - Types ---------------------*/ - -/* Star */ -@starIconHitbox: @iconHitbox; -@starInactiveColor: @inactiveColor; -@starSelectedColor: #FFB70A; -@starActiveColor: #FFE623; -@starActiveShadow: - 0px -1px 0px #CFA300, - -1px 0px 0px #CFA300, - 0px 1px 0px #CFA300, - 1px 0px 0px #CFA300 -; - -/* Heart */ -@heartIconHitbox: 1.25em; -@heartInactiveColor: @inactiveColor; -@heartSelectedColor: #FF2733; -@heartActiveColor: #FF2733; -@heartActiveShadow: - 0px -1px 0px #9E0000, - -1px 0px 0px #9E0000, - 0px 1px 0px #9E0000, - 1px 0px 0px #9E0000 -; - - -/*------------------- - States ---------------------*/ - -@inactiveColor: rgba(0, 0, 0, 0.15); -@hoverColor: @textColor; -@activeColor: @darkTextColor; - -@interactiveIconOpacity: 0.5; -@interactiveSelectedIconOpacity: 1; - -/*------------------- - Variations ---------------------*/ - -@mini: 0.7rem; -@tiny: 0.8rem; -@small: 0.875rem; -@medium: 1rem; -@large: 1.1rem; -@big: 1.25rem; -@huge: 1.5rem; -@massive: 2rem; diff --git a/themes/default/modules/search.overrides b/themes/default/modules/search.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/search.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/search.variables b/themes/default/modules/search.variables deleted file mode 100644 index a0cf5ac2bd..0000000000 --- a/themes/default/modules/search.variables +++ /dev/null @@ -1,102 +0,0 @@ -/******************************* - Search -*******************************/ - -@promptBorderRadius: @circularRadius; - -/* Result Box */ -@resultsBackground: #FFFFFF; -@resultsDistance: 0.5em; -@resultsWidth: 380px; -@resultsBorderRadius: 0.25em; -@resultsBoxShadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.2); - -/* Result */ -@resultFontSize: 0.9em; -@resultVerticalPadding: 0.5em; -@resultHorizontalPadding: 1em; -@resultTextColor: @textColor; -@resultLineHeight: 1.33; - -/* Result Image */ -@resultImageFloat: right; -@resultImageBackground: none; -@resultImageWidth: 5em; -@resultImageHeight: 3em; -@resultImageBorderRadius: 0.25em; -@resultImageMargin: 0em 6em 0em 0em; - -/* Result Content */ -@resultTitleFont: @headerFont; -@resultTitleFontWeight: normal; -@resultTitleColor: @darkTextColor; -@resultDescriptionColor: @textColor; -@resultPriceFloat: right; -@resultPriceColor: @green; - -/* Special Message */ -@messageVerticalPadding: 1em; -@messageHorizontalPadding: 1em; -@messageHeaderFontSize: 1.2em; -@messageHeaderFontWeight: bold; -@messageHeaderColor: @textColor; -@messageDescriptionDistance: 0.25rem; -@messageDescriptionFontSize: 1rem; -@messageDescriptionColor: @textColor; - -/* All Results Link */ -@allResultsBorder: 1px solid rgba(0, 0, 0, 0.1); -@allResultsBackground: #F0F0F0; -@allResultsHeight: 2em; -@allResultsColor: @textColor; -@allResultsFontWeight: bold; -@allResultsAlign: center; - - -/******************************* - States -*******************************/ - -/* Hover */ -@resultHoverBackground: #FAFAFA; -@allResultsHoverBackground: #FAFAFA; - -/* Loading */ -@loaderPath: "@{imagePath}/loader-mini.gif"; - -/* Active Category */ -@categoryActiveBackground: #F1F1F1; -@categoryNameActiveColor: @textColor; - -/* Active Result */ -@resultActiveBorderLeft: transparent; -@resultActiveBackground: #F0F0F0; -@resultActiveBoxShadow: 2px 0px 2px 0px rgba(0, 0, 0, 0.2); -@resultActiveTitleColor: @darkTextColor; -@resultActiveDescriptionColor: @darkTextColor; - - -/******************************* - Types -*******************************/ - -/* Category */ -@categoryBackground: #F0F0F0; -@categoryBoxShadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1); -@categoryResultTransition: background 0.2s ease, border-color 0.2s ease; - -@categoryNameFont: @pageFont; -@categoryNameFontSize: 0.9em; -@categoryNameFloat: left; -@categoryNamePadding: 0.4em 0em 0em 1em; -@categoryNameFontWeight: bold; -@categoryNameColor: @lightTextColor; - -@categoryResultBackground: #FFFFFF; -@categoryNameWidth: 100px; -@categoryResultLeftBorder: 1px solid rgba(0, 0, 0, 0.1); -@categoryResultTopBorder: 1px solid rgba(0, 0, 0, 0.1); - -/* Sizes */ -@medium: 1em; -@large: 1.1em; diff --git a/themes/default/modules/shape.overrides b/themes/default/modules/shape.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/shape.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/shape.variables b/themes/default/modules/shape.variables deleted file mode 100644 index a165b2a1da..0000000000 --- a/themes/default/modules/shape.variables +++ /dev/null @@ -1,35 +0,0 @@ -/******************************* - Shape -*******************************/ - -@display: inline-block; - -/* Animating */ -@perspective: 2000px; - -@duration: 0.6s; -@easing: ease-in-out; - -@hiddenSideOpacity: 0.4; -@animatingZIndex: 100; - -@transition: all @duration @easing; -@sideTransition: opacity @duration @easing; -@backfaceVisibility: hidden; - -/* Side */ -@sideMargin: 0em; - -/*-------------- - Types ----------------*/ - -/* Cube */ -@cubeSize: 15em; -@cubeBackground: #E6E6E6; -@cubePadding: 2em; -@cubeTextColor: @textColor; -@cubeBoxShadow: 0px 0px 2px rgba(0, 0, 0, 0.3); - -@cubeTextAlign: center; -@cubeFontSize: 2em; diff --git a/themes/default/modules/sidebar.overrides b/themes/default/modules/sidebar.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/sidebar.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/sidebar.variables b/themes/default/modules/sidebar.variables deleted file mode 100644 index c8e9618f0d..0000000000 --- a/themes/default/modules/sidebar.variables +++ /dev/null @@ -1,20 +0,0 @@ -/******************************* - Sidebar -*******************************/ - -@sidebarWidth: 260px; -@sidebarBackground: @black; - -@dimmerColor: rgba(0, 0, 0, 0.4); - -@canvasBackground: @lightBlack; -@perspective: 1500px; - -@duration: 0.5s; -@easing: ease; - -@bottomLayer: 900; -@middleLayer: 901; -@dimmerLayer: 902; -@fixedLayer: 903; -@topLayer: 904; diff --git a/themes/default/modules/sticky.overrides b/themes/default/modules/sticky.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/modules/sticky.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/modules/sticky.variables b/themes/default/modules/sticky.variables deleted file mode 100644 index 86adecfd10..0000000000 --- a/themes/default/modules/sticky.variables +++ /dev/null @@ -1,11 +0,0 @@ -/******************************* - Sticky -*******************************/ - -@transitionDuration: 0.2s; -@transition: - width @transitionDuration @defaultEasing, - height @transitionDuration @defaultEasing, - top @transitionDuration @defaultEasing, - bottom @transitionDuration @defaultEasing -; \ No newline at end of file diff --git a/themes/default/modules/tab.overrides b/themes/default/modules/tab.overrides deleted file mode 100644 index 354d6f9622..0000000000 --- a/themes/default/modules/tab.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Tab Overrides -*******************************/ diff --git a/themes/default/modules/tab.variables b/themes/default/modules/tab.variables deleted file mode 100644 index a613afc390..0000000000 --- a/themes/default/modules/tab.variables +++ /dev/null @@ -1,15 +0,0 @@ -/******************************* - Tab -*******************************/ - -/* Loading */ -@loadingMinHeight: 250px; -@loadingText: 'Loading...'; -@loadingTextDistance: 50px; -@loadingBackground: url(../../themes/packages/default/assets/images/loader-large.gif) no-repeat 50% 0px; -@loadingTextColor: @lightTextColor; -@loadingAlign: center; - -/* Loading Content */ -@loadingContentPosition: relative; -@loadingContentOffset: -10000px; \ No newline at end of file diff --git a/themes/default/modules/transition.overrides b/themes/default/modules/transition.overrides deleted file mode 100644 index 19eea2813f..0000000000 --- a/themes/default/modules/transition.overrides +++ /dev/null @@ -1,447 +0,0 @@ -/******************************* - Animations -*******************************/ - -/*-------------- - Emphasis ----------------*/ - -.flash.transition { - animation-name: flash; -} -.shake.transition { - animation-name: shake; -} -.bounce.transition { - animation-name: bounce; -} -.tada.transition { - animation-name: tada; -} -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ -.pulse.transition { - animation-name: pulse; -} - -/* Flash */ -@keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - 25%, 75% { - opacity: 0; - } -} - -/* Shake */ -@keyframes shake { - 0%, 100% { - transform: translateX(0); - } - 10%, 30%, 50%, 70%, 90% { - transform: translateX(-10px); - } - 20%, 40%, 60%, 80% { - transform: translateX(10px); - } -} - -/* Bounce */ -@keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - transform: translateY(0); - } - 40% { - transform: translateY(-30px); - } - 60% { - transform: translateY(-15px); - } -} - -/* Tada */ -@keyframes tada { - 0% { - transform: scale(1); - } - 10%, 20% { - transform: scale(0.9) rotate(-3deg); - } - 30%, 50%, 70%, 90% { - transform: scale(1.1) rotate(3deg); - } - 40%, 60%, 80% { - transform: scale(1.1) rotate(-3deg); - } - 100% { - transform: scale(1) rotate(0); - } -} - -/* Pulse */ -@keyframes pulse { - 0% { - transform: scale(1); - opacity: 1; - } - 50% { - transform: scale(0.9); - opacity: 0.7; - } - 100% { - transform: scale(1); - opacity: 1; - } - -} - - -/*-------------- - Slide ----------------*/ - -.slide.down.transition.in { - animation-name: slideIn; - transform-origin: 50% 0%; - -ms-transform-origin: 50% 0%; - -webkit-transform-origin: 50% 0%; -} -.slide.down.transition.out { - animation-name: slideOut; - transform-origin: 50% 0%; -} - -.slide.up.transition.in { - animation-name: slideIn; - transform-origin: 50% 100%; -} -.slide.up.transition.out { - animation-name: slideOut; - transform-origin: 50% 100%; -} - -@keyframes slideIn { - 0% { - opacity: 0; - transform: scaleY(0); - } - 100% { - opacity: 1; - transform: scaleY(1); - } -} -@keyframes slideOut { - 0% { - opacity: 1; - transform: scaleY(1); - } - 100% { - opacity: 0; - transform: scaleY(0); - } -} - - - -/*-------------- - Flips ----------------*/ - -.flip.transition.in, -.flip.transition.out { - perspective: 2000px; -} -.horizontal.flip.transition.in, -.horizontal.flip.transition.out { - animation-name: horizontalFlipIn; -} -.horizontal.flip.transition.out { - animation-name: horizontalFlipOut; -} -.vertical.flip.transition.in, -.vertical.flip.transition.out { - animation-name: verticalFlipIn; -} -.vertical.flip.transition.out { - animation-name: verticalFlipOut; -} - -/* Horizontal */ -@keyframes horizontalFlipIn { - 0% { - transform: rotateY(-90deg); - opacity: 0; - } - 100% { - transform: rotateY(0deg); - opacity: 1; - } -} -/* Horizontal */ -@keyframes horizontalFlipOut { - 0% { - transform: rotateY(0deg); - opacity: 1; - } - 100% { - transform: rotateY(90deg); - opacity: 0; - } -} - -/* Vertical */ -@keyframes verticalFlipIn { - 0% { - transform: rotateX(-90deg); - opacity: 0; - } - 100% { - transform: rotateX(0deg); - opacity: 1; - } -} -@keyframes verticalFlipOut { - 0% { - transform: rotateX(0deg); - opacity: 1; - } - 100% { - transform: rotateX(-90deg); - opacity: 0; - } -} - -/*-------------- - Fades ----------------*/ - -.fade.transition.in { - animation-name: fadeIn; -} -.fade.transition.out { - animation-name: fadeOut; -} - -.fade.up.transition.in { - animation-name: fadeUpIn; -} -.fade.up.transition.out { - animation-name: fadeUpOut; -} - -.fade.down.transition.in { - animation-name: fadeDownIn; -} -.fade.down.transition.out { - animation-name: fadeDownOut; -} - - -/* Fade */ -@keyframes fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -/* Fade Up */ -@keyframes fadeUpIn { - 0% { - opacity: 0; - transform: translateY(10%); - } - 100% { - opacity: 1; - transform: translateY(0%); - } -} - -@keyframes fadeUpOut { - 0% { - opacity: 1; - transform: translateY(0%); - } - 100% { - opacity: 0; - transform: translateY(10%); - } -} - -/* Fade Down */ -@keyframes fadeDownIn { - 0% { - opacity: 0; - transform: translateY(-10%); - } - 100% { - opacity: 1; - transform: translateY(0%); - } -} -@keyframes fadeDownOut { - 0% { - opacity: 1; - transform: translateY(0%); - } - 100% { - opacity: 0; - transform: translateY(-10%); - } -} - -/*-------------- - Scale ----------------*/ - -.scale.transition.in { - animation-name: scaleIn; -} -.scale.transition.out { - animation-name: scaleOut; -} - -/* Scale */ -@keyframes scaleIn { - 0% { - opacity: 0; - transform: scale(0.7); - } - 100% { - opacity: 1; - transform: scale(1); - } -} -@keyframes scaleOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.7); - } -} - -/*-------------- - Drop ----------------*/ - -.drop.transition { - transform-origin: top center; - animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); -} -.drop.transition.in { - animation-name: dropIn; -} -.drop.transition.out { - animation-name: dropOut; -} - -/* Scale */ -@keyframes dropIn { - 0% { - opacity: 0; - transform: scale(0); - } - 100% { - opacity: 1; - transform: scale(1); - } -} -@keyframes dropOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0); - } -} - -/*-------------- - Browse ----------------*/ - -.browse.transition.in { - animation-name: browseIn; - animation-timing-function: ease; -} -.browse.transition.out, -.browse.transition.out.left { - animation-name: browseOutLeft; - animation-timing-function: ease; -} -.browse.transition.out.right { - animation-name: browseOutRight; - animation-timing-function: ease; -} - -@keyframes browseIn { - 0% { - transform: scale(0.8) translateZ(0px); - z-index: -1; - } - 10% { - transform: scale(0.8) translateZ(0px); - z-index: -1; - opacity: 0.7; - } - 80% { - transform: scale(1.05) translateZ(0px); - opacity: 1; - z-index: 999; - } - 100% { - transform: scale(1) translateZ(0px); - z-index: 999; - } -} -@keyframes browseOutLeft { - 0% { - z-index: 999; - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - 50% { - z-index: -1; - transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - 80% { - opacity: 1; - } - 100% { - z-index: -1; - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} -@keyframes browseOutRight { - 0% { - z-index: 999; - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - 50% { - z-index: 1; - transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - 80% { - opacity: 1; - } - 100% { - z-index: 1; - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} \ No newline at end of file diff --git a/themes/default/modules/transition.variables b/themes/default/modules/transition.variables deleted file mode 100644 index 366b35eac0..0000000000 --- a/themes/default/modules/transition.variables +++ /dev/null @@ -1,10 +0,0 @@ -/******************************* - Transition -*******************************/ - -@transitionDefaultEasing: @defaultEasing; -@transitionDefaultFill: both; -@transitionDefaultDuration: 500ms; - -@use3DAcceleration: translateZ(0); -@backfaceVisibility: hidden; \ No newline at end of file diff --git a/themes/default/modules/video.overrides b/themes/default/modules/video.overrides deleted file mode 100644 index 3f14e70833..0000000000 --- a/themes/default/modules/video.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Video Overrides -*******************************/ diff --git a/themes/default/modules/video.variables b/themes/default/modules/video.variables deleted file mode 100644 index 9860ac58e2..0000000000 --- a/themes/default/modules/video.variables +++ /dev/null @@ -1,16 +0,0 @@ -/******************************* - Video -*******************************/ - -@background: #DDDDDD; -@placeholderBackground: #333333; - -@playSize: 8rem; -@playColor: #FFFFFF; -@playOpacity: 0.8; -@playHoverOpacity: 1; -@playShadow: none; - -@playBorderSize: 0rem; -@playBackground: rgba(0, 0, 0, 0.3); -@playBorderRadius: @circularRadius; \ No newline at end of file diff --git a/themes/default/views/card.overrides b/themes/default/views/card.overrides deleted file mode 100644 index 8132fa0458..0000000000 --- a/themes/default/views/card.overrides +++ /dev/null @@ -1,98 +0,0 @@ -/******************************* - Item -*******************************/ -/*------------------- - View ---------------------*/ - -/* Item */ -@background: #FFFFFF; -@borderRadius: 0.325rem; -@display: block; -@float: left; -@margin: 0em @horizontalSpacing @rowSpacing; -@minHeight: 0px; -@padding: 0em; -@width: 300px; -@boxShadow: - 0px 0px 0px 1px @borderColor, - 0px 3px 0px 0px @borderColor -; -@border: none; -@zIndex: ''; - -/* Item Group */ -@horizontalSpacing: 0.5em; -@rowSpacing: 2.5em; -@groupMargin: 1em -@horizontalSpacing; - -/*------------------- - Content ---------------------*/ - -/* Image */ -@imageBackground: @transparentBlack; -@imagePadding: 0em; -@imageBorderRadius: @borderRadius @borderRadius 0em 0em; -@imageBoxShadow: none; -@imageBorder: none; - -/* Content */ -@contentMargin: 0em; -@contentPadding: 0.75em 1em; -@contentFontSize: 1em; -@contentBorder: none; -@contentBorderRadius: 0em; -@contentBoxShadow: none; - -/* Title */ -@titleMargin: 0em; -@titleFont: @headerFont; -@titleFontWeight: bold; -@titleFontSize: 1.25em; -@titleColor: @darkTextColor; - -/* Metadata */ -@metaColor: @lightTextColor; - -/* Description */ -@descriptionDistance: 0.75em; -@descriptionColor: @lightTextColor; - -/* Image */ -@imageSpacing: 0.25em; -@contentImageWidth: 2em; -@contentImageVerticalAlign: middle; - -/* Paragraph */ -@paragraphDistance: 0.1em; - -/* Additional Content */ -@extraDisplay: absolute; -@extraTop: 100%; -@extraLeft: 0em; -@extraWidth: 100%; - -@extraPadding: 0.5em 0.75em; -@extraColor: @lightTextColor; -@extraTransition: color @transitionDuration @transitionEasing; - -/*------------------- - States ---------------------*/ - -@hoverCursor: pointer; -@hoverZIndex: 5; -@hoverBorder: none; -@hoverBoxShadow: - 0px 0px 0px 1px @selectedBorderColor, - 0px 3px 0px 0px @selectedBorderColor -; - - -/*------------------- - Variations ---------------------*/ - -/* Sizes */ -@medium: 1em; \ No newline at end of file diff --git a/themes/default/views/card.variables b/themes/default/views/card.variables deleted file mode 100644 index 05ba8eacac..0000000000 --- a/themes/default/views/card.variables +++ /dev/null @@ -1,185 +0,0 @@ -/******************************* - Card -*******************************/ - -/*------------------- - View ---------------------*/ - -/* Shadow */ -@shadowDistance: 0.2em; -@shadowBoxShadow: 0px @shadowDistance 0px 0px @solidBorderColor; - -/* Item */ -@background: #FFFFFF; -@borderRadius: @defaultBorderRadius; -@display: block; -@margin: 1em 0em; -@minHeight: 0px; -@padding: 0em; -@width: 290px; -@borderWidth: 1px; -@borderShadow: 0px 0px 0px @borderWidth @solidBorderColor; -@boxShadow: - @shadowBoxShadow, - @borderShadow -; -@border: none; -@zIndex: ''; -@transition: box-shadow @transitionDuration @transitionEasing; - -/* Item Group */ -@groupDisplay: block; -@groupFloat: left; -@horizontalSpacing: 0.5em; -@rowSpacing: 1.5em; -@groupCardsMargin: 1em -@horizontalSpacing 0em; -@groupCardMargin: 0em @horizontalSpacing @rowSpacing; - -/*------------------- - Content ---------------------*/ - -/* Image */ -@imageBackground: @transparentBlack; -@imagePadding: 0em; -@imageBorder: none; -@imageBorderRadius: @borderRadius @borderRadius 0em 0em; -@imageBoxShadow: none; -@imageBorder: none; - -/* Content */ -@contentMargin: 0em; -@contentBackground: none; -@contentPadding: 1em 1em; -@contentFontSize: 1em; -@contentBorder: none; -@contentBorderRadius: 0em; -@contentBoxShadow: none; - -/* Header */ -@headerMargin: 0em; -@headerFontWeight: bold; -@headerFontSize: 1.2em; -@headerLineHeight: 1.33em; -@headerLineHeightOffset: -(@lineHeight - 1em) / 2; -@headerColor: @darkTextColor; - -/* Metadata */ -@metaFontSize: 0.9em; -@metaSpacing: 0.3em; -@metaColor: @lightTextColor; - -/* Icons */ -@actionOpacity: 0.75; -@actionHoverOpacity: 1; -@actionTransition: color @transitionDuration @transitionEasing; -@starColor: #AC9400; -@starActiveColor: #E9B539; -@likeColor: #FFADAE; -@likeActiveColor: #EF404A; - -/* Links */ -@contentLinkColor: @linkColor; -@contentLinkTransition: color @transitionDuration @transitionEasing; -@contentLinkHoverColor: @linkHoverColor; -@headerLinkColor: @headerColor; -@headerLinkHoverColor: @linkHoverColor; -@metaLinkColor: @lightTextColor; -@metaLinkHoverColor: @textColor; - -/* Description */ -@descriptionDistance: 0.5em; -@descriptionColor: rgba(0, 0, 0, 0.5); - -/* Content Image */ -@contentImageWidth: 2em; -@contentImageVerticalAlign: middle; - -/* Avatar Image */ -@avatarSize: @contentImageWidth; -@avatarBorderRadius: @circularRadius; - -/* Paragraph */ -@paragraphDistance: 0.5em; - -/* Additional Content */ -@extraDivider: 1px solid rgba(0, 0, 0, 0.05); -@extraBackground: none; -@extraPosition: static; -@extraWidth: auto; -@extraTop: 0em; -@extraLeft: 0em; -@extraMargin: 0em 0em; -@extraPadding: 0.75em 1em; -@extraBoxShadow: none; -@extraColor: @lightTextColor; -@extraTransition: color @transitionDuration @transitionEasing; - -/* Extra Links */ -@extraLinkColor: @unselectedTextColor; -@extraLinkHoverColor: @linkHoverColor; - -/* Buttons */ -@buttonMargin: 0em -@borderWidth -@shadowDistance; -@buttonWidth: ~"calc(100% + "(@borderWidth * 2)~")"; - -/*------------------- - Variations ---------------------*/ - -/* Link */ -@linkHoverBackground: ''; -@linkHoverBorder: none; -@linkHoverZIndex: 5; - -@shadowHoverBoxShadow: 0px @shadowDistance 0px 0px @solidSelectedBorderColor; -@linkHoverBoxShadow: - @shadowHoverBoxShadow, - 0px 0px 0px 1px @selectedBorderColor -; - -/* Card Count */ -@wideCardSpacing: 1em; -@cardSpacing: 0.75em; -@smallCardSpacing: 0.5em; - -@oneCardSpacing: 0em; -@twoCardSpacing: @wideCardSpacing; -@threeCardSpacing: @wideCardSpacing; -@fourCardSpacing: @cardSpacing; -@fiveCardSpacing: @cardSpacing; -@sixCardSpacing: @cardSpacing; -@sevenCardSpacing: @smallCardSpacing; -@eightCardSpacing: @smallCardSpacing; -@nineCardSpacing: @smallCardSpacing; -@tenCardSpacing: @smallCardSpacing; - -@oneCard: @oneColumn; -@oneCardOffset: 0em; -@twoCard: ~"calc("@twoColumn~" - "(@twoCardSpacing * 2)~")"; -@twoCardOffset: -@twoCardSpacing; -@threeCard: ~"calc("@threeColumn~" - "(@threeCardSpacing * 2)~")"; -@threeCardOffset: -@threeCardSpacing; -@fourCard: ~"calc("@fourColumn~" - "(@fourCardSpacing * 2)~")"; -@fourCardOffset: -@fourCardSpacing; -@fiveCard: ~"calc("@fiveColumn~" - "(@fiveCardSpacing * 2)~")"; -@fiveCardOffset: -@fiveCardSpacing; -@sixCard: ~"calc("@sixColumn~" - "(@sixCardSpacing * 2)~")"; -@sixCardOffset: -@sixCardSpacing; -@sevenCard: ~"calc("@sevenColumn~" - "(@sevenCardSpacing * 2)~")"; -@sevenCardOffset: -@sevenCardSpacing; -@eightCard: ~"calc("@eightColumn~" - "(@sevenCardSpacing * 2)~")"; -@eightCardOffset: -@sevenCardSpacing; -@nineCard: ~"calc("@nineColumn~" - "(@nineCardSpacing * 2)~")"; -@nineCardOffset: -@nineCardSpacing; -@tenCard: ~"calc("@tenColumn~" - "(@tenCardSpacing * 2)~")"; -@tenCardOffset: -@tenCardSpacing; - -/* Stackable */ -@stackableRowSpacing: 1em; -@stackableCardSpacing: 1em; -@stackableMargin: ~"calc("@oneColumn~" - "(@stackableCardSpacing * 2)~")"; - -/* Sizes */ -@medium: 1em; \ No newline at end of file diff --git a/themes/default/views/comment.overrides b/themes/default/views/comment.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/views/comment.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/views/comment.variables b/themes/default/views/comment.variables deleted file mode 100644 index 7407f91d54..0000000000 --- a/themes/default/views/comment.variables +++ /dev/null @@ -1,104 +0,0 @@ -/******************************* - Comments -*******************************/ - - -/*------------------- - View ---------------------*/ - -@maxWidth: 650px; -@margin: 1.5em 0em; - -/*------------------- - Elements ---------------------*/ - -/* Comment */ -@commentBackground: none; -@commentMargin: 0.5em 0em 0em; -@commentPadding: 0.5em 0em 0em; -@commentDivider: none; -@commentBorder: none; -@commentLineHeight: 1.2; -@firstCommentMargin: 0em; -@firstCommentPadding: 0em; - -/* Nested Comment */ -@nestedCommentsMargin: 0em 0em 0.5em 0.5em; -@nestedCommentsPadding: 1em 0em 1em 1em; - -@nestedCommentDivider: none; -@nestedCommentBorder: none; -@nestedCommentBackground: none; - -/* Avatar */ -@avatarDisplay: block; -@avatarFloat: left; -@avatarWidth: 2.5em; -@avatarHeight: auto; -@avatarSpacing: 1em; -@avatarMargin: (@commentLineHeight - 1em) 0em 0em; -@avatarBorderRadius: 0.25rem; - -/* Content */ -@contentMargin: @avatarWidth + @avatarSpacing; - -/* Author */ -@authorFontSize: 1em; -@authorColor: @textColor; -@authorHoverColor: @linkHoverColor; -@authorFontWeight: bold; - -/* Metadata */ -@metadataDisplay: inline-block; -@metadataFontSize: 0.875em; -@metadataSpacing: 0.5em; -@metadataContentSpacing: 0.5em; -@metadataColor: @lightTextColor; - -/* Text */ -@textFontSize: 1em; -@textMargin: 0.25em 0em 0.5em; -@textWordWrap: break-word; -@textLineHeight: 1.3; - -/* Actions */ -@actionFontSize: 0.875em; -@actionContentDistance: 0.75em; -@actionLinkColor: @unselectedTextColor; -@actionLinkHoverColor: @hoveredTextColor; - -/* Reply */ -@replyDistance: 1em; -@replyHeight: 12em; -@replyFontSize: 1em; - -@commentReplyDistance: @replyDistance; - -/*------------------- - Variations ---------------------*/ - -/* Threaded */ -@threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2); -@threadedCommentPadding: 3em 0em 2em 2.25em; -@threadedCommentBoxShadow: -1px 0px 0px @borderColor; - - -/* Minimal */ -@minimalActionPosition: absolute; -@minimalActionTop: 0px; -@minimalActionRight: 0px; -@minimalActionLeft: auto; - -@minimalTransitionDelay: 0.1s; -@minimalEasing: @defaultEasing; -@minimalDuration: 0.2s; -@minimalTransition: opacity @minimalDuration @minimalEasing; - -/* Sizes */ -@small: 0.9em; -@medium: 1em; -@large: 1.1em; -@huge: 1.2em; \ No newline at end of file diff --git a/themes/default/views/feed.overrides b/themes/default/views/feed.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/views/feed.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/views/feed.variables b/themes/default/views/feed.variables deleted file mode 100644 index 81ba1d1e7c..0000000000 --- a/themes/default/views/feed.variables +++ /dev/null @@ -1,149 +0,0 @@ -/******************************* - Feed -*******************************/ - -/*------------------- - Feed ---------------------*/ - -@margin: 1em 0em; - -/*------------------- - Elements ---------------------*/ - -/* Event */ -@eventDisplay: table; -@eventWidth: 100%; -@eventPadding: 0.5rem 0em; -@eventMargin: 0em; -@eventBackground: none; -@eventDivider: none; - -/* Event Label */ -@labelDisplay: table-cell; -@labelWidth: 2.5em; -@labelHeight: 2.5em; -@labelVerticalAlign: top; -@labelTextAlign: left; - -/* Icon Label */ -@iconLabelOpacity: 1; -@iconLabelWidth: 100%; -@iconLabelSize: 1.5em; -@iconLabelPadding: 0.25em; -@iconLabelBackground: none; -@iconLabelBorderRadius: none; -@iconLabelBorder: none; -@iconLabelColor: rgba(0, 0, 0, 0.6); - -/* Image Label */ -@imageLabelWidth: 100%; -@imageLabelHeight: auto; -@imageLabelBorderRadius: @circularRadius; - -/* Content w/ Label */ -@labeledContentPadding: 0.5em 0em 0.5em 1.5em; -@lastLabeledContentPadding: 0em; - -/* Content */ -@contentDisplay: table-cell; -@contentVerticalAlign: top; -@contentTextAlign: left; -@contentWordWrap: break-word; - -/* Date */ -@dateMargin: -0.5rem 0em 0em; -@datePadding: 0em; -@dateColor: @lightTextColor; -@dateFontSize: 1em; -@dateFontWeight: normal; -@dateFontStyle: normal; - -/* Summary */ -@summaryMargin: 0em; -@summaryFontSize: 1em; -@summaryFontWeight: bold; -@summaryColor: @textColor; - -/* Summary Image */ -@summaryImageWidth: auto; -@summaryImageHeight: 2em; -@summaryImageMargin: -0.25em 0.25em 0em 0em; -@summaryImageVerticalAlign: middle; -@summaryImageBorderRadius: 0.25em; - -/* Summary Date */ -@summaryDateDisplay: inline-block; -@summaryDateFloat: none; -@summaryDateMargin: 0em 0em 0em 0.5em; -@summaryDatePadding: 0em; -@summaryDateFontSize: 0.875em; -@summaryDateFontWeight: @dateFontWeight; -@summaryDateFontStyle: @dateFontStyle; -@summaryDateColor: @dateColor; - -/* User */ -@userFontWeight: bold; -@userDistance: 0em; -@userImageWidth: @summaryImageWidth; -@userImageHeight: @summaryImageHeight; -@userImageMargin: @summaryImageMargin; -@userImageVerticalAlign: @summaryImageVerticalAlign; - -/* Extra Summary Data */ -@extraMargin: 0.5em 0em 0em; -@extraBackground: none; -@extraPadding: 0em; -@extraColor: @textColor; - -/* Extra Images */ -@extraImageMargin: 0em 0.25em 0em 0em; -@extraImageWidth: 6em; - -/* Extra Text */ -@extraTextPadding: 0.5em 1em; -@extraTextPointer: 3px solid rgba(0, 0, 0, 0.2); -@extraTextFontSize: 1em; -@extraTextLineHeight: 1.33; -@extraTextMaxWidth: 500px; - -/* Metadata Group */ -@metadataDisplay: inline-block; -@metadataFontSize: 0.875em; -@metadataMargin: 0.5em 0em 0em; -@metadataBackground: none; -@metadataBorder: none; -@metadataBorderRadius: 0; -@metadataBoxShadow: none; -@metadataPadding: 0em; -@metadataColor: rgba(0, 0, 0, 0.6); - -@metadataElementSpacing: 0.75em; - -/* Like */ -@likeColor: ''; -@likeHoverColor: #FF2733; -@likeActiveColor: #EF404A; -@likeTransition: 0.2s color ease; - -/* Metadata Divider */ -@metadataDivider: ''; -@metadataDividerColor: rgba(0, 0, 0, 0.2); -@metadataDividerOffset: -1em; - -@metadataActionCursor: pointer; -@metadataActionOpacity: 1; -@metadataActionColor: rgba(0, 0, 0, 0.5); -@metadataActionTransition: color @transitionDuration @transitionEasing; - -@metadataActionHoverColor: @selectedTextColor; - -/*------------------- - Variations ---------------------*/ - -/* Size */ -@small: 0.9em; -@medium: 1em; -@large: 1.1em; \ No newline at end of file diff --git a/themes/default/views/item.overrides b/themes/default/views/item.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/views/item.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/views/item.variables b/themes/default/views/item.variables deleted file mode 100644 index 04c0b7e737..0000000000 --- a/themes/default/views/item.variables +++ /dev/null @@ -1,152 +0,0 @@ -/******************************* - Item -*******************************/ - -/*------------------- - View ---------------------*/ - -/* Group */ -@groupMargin: 1.5em 0em; - -/* Item */ -@display: table; -@background: transparent; -@borderRadius: 0rem; -@minHeight: 0px; -@padding: 0em; -@width: 100%; -@boxShadow: none; -@border: none; -@zIndex: ''; -@transition: box-shadow @transitionDuration @transitionEasing; - -/* Responsive */ -@itemSpacing: 1em; -@imageWidth: 175px; -@contentImageDistance: 1.5em; - -@tabletItemSpacing: 1em; -@tabletImageWidth: 150px; -@tabletContentImageDistance: 1em; - -@mobileItemSpacing: 2em; -@mobileImageWidth: auto; -@mobileImageMaxHeight: 250px; -@mobileContentImageDistance: 1.5em; - -/*------------------- - Content ---------------------*/ - -/* Image */ -@imageDisplay: table-cell; -@imageFloat: none; -@imageMaxHeight: ''; -@imageVerticalAlign: top; -@imageMargin: 0em; -@imagePadding: 0em; -@imageBorder: none; -@imageBorderRadius: 0.125rem; -@imageBoxShadow: none; -@imageBorder: none; - -/* Content */ -@contentDisplay: table-cell; -@contentVerticalAlign: top; - -@contentOffset: 0em; -@contentBackground: none; -@contentMargin: 0em; -@contentPadding: 0em; -@contentFontSize: 1em; -@contentBorder: none; -@contentBorderRadius: 0em; -@contentBoxShadow: none; - -/* Header */ -@headerMargin: -@lineHeightOffset 0em 0em; -@headerFontWeight: bold; -@headerFontSize: 1.2em; -@headerColor: @darkTextColor; - -/* Metadata */ -@metaFontSize: 1em; -@metaLineHeight: 1em; -@metaSpacing: 0.3em; -@metaColor: rgba(0, 0, 0, 0.6); - -/* Icons */ -@actionOpacity: 0.75; -@actionHoverOpacity: 1; -@actionTransition: color @transitionDuration @transitionEasing; - -/* Actions */ -@favoriteColor: #FFB70A; -@favoriteActiveColor: #FFB70A; -@likeColor: #FF2733; -@likeActiveColor: #FF2733; - -/* Links */ -@contentLinkTransition: color @transitionDuration @transitionEasing; -@contentLinkColor: @linkColor; -@contentLinkHoverColor: @linkHoverColor; -@headerLinkColor: @headerColor; -@headerLinkHoverColor: @linkHoverColor; -@metaLinkColor: @lightTextColor; -@metaLinkHoverColor: @textColor; - -/* Description */ -@descriptionDistance: 0.6em; -@descriptionMaxWidth: 550px; -@descriptionFontSize: 1em; -@descriptionLineHeight: 1.33; -@descriptionColor: @textColor; - -/* Content Image */ -@contentWidth: 100%; -@contentImageWidth: 2em; -@contentImageVerticalAlign: middle; - -/* Avatar Image */ -@avatarSize: @contentImageWidth; -@avatarBorderRadius: @circularRadius; - -/* Paragraph */ -@paragraphDistance: 0.5em; - -/* Additional Content */ -@extraDivider: none; -@extraSpacing: 0.5rem; -@extraRowSpacing: 0.5rem; - -@extraBackground: none; -@extraDisplay: block; -@extraPosition: relative; -@extraMargin: (1rem - @extraRowSpacing) 0em 0em; -@extraTop: 0em; -@extraLeft: 0em; -@extraWidth: 100%; -@extraPadding: 0em 0em 0em; -@extraBoxShadow: none; -@extraColor: @lightTextColor; -@extraTransition: color @transitionDuration @transitionEasing; - -/*------------------- - Variations ---------------------*/ - -/* Relaxed */ -@relaxedItemSpacing: 1.5em; -@veryRelaxedItemSpacing: 2em; - -/* Divided */ -@dividedBorder: 1px solid @borderColor; -@dividedMargin: 0em; -@dividedPadding: 1em 0em; - -@dividedFirstLastMargin: 0em; -@dividedFirstLastPadding: 0em; - -/* Sizes */ -@medium: 1em; \ No newline at end of file diff --git a/themes/default/views/statistic.overrides b/themes/default/views/statistic.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/default/views/statistic.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/default/views/statistic.variables b/themes/default/views/statistic.variables deleted file mode 100644 index d1340d5c72..0000000000 --- a/themes/default/views/statistic.variables +++ /dev/null @@ -1,97 +0,0 @@ -/******************************* - Statistic -*******************************/ - -/*------------------- - View ---------------------*/ - -@display: inline-block; -@margin: 1em 0em; -@textAlign: center; -@maxWidth: 175px; - -/* Group */ -@groupDisplay: block; -@groupMargin: 1em -@horizontalSpacing; -@horizontalSpacing: 1em; -@rowSpacing: 2em; - -/* Group Element */ -@elementFloat: left; -@elementDisplay: block; -@elementMargin: 0em @horizontalSpacing @rowSpacing; -@elementMaxWidth: 175px; - -/*------------------- - Content ---------------------*/ - -/* Value */ -@valueFont: @pageFont; -@valueFontWeight: normal; -@valueLineHeight: 1em; -@valueColor: @black; -@valueTextTransform: uppercase; - -/* Label */ -@labelSize: 1rem; -@topLabelDistance: 0rem; -@bottomLabelDistance: 0.25rem; -@labelFont: @headerFont; -@labelFontWeight: normal; -@labelColor: @unselectedTextColor; -@labelLineHeight: 1.33em; -@labelTextTransform: none; - -/* Text */ -@textLabelLineHeight: 1em; -@textLabelMinHeight: 2em; - -/* Label Image */ -@imageHeight: 3rem; -@imageVerticalAlign: baseline; - -/*------------------- - Types ---------------------*/ - -@horizontalGroupElementMargin: 1em 0em; -@horizontalLabelDistance: 0.75em; - -/*------------------- - Variations ---------------------*/ - -/* Floated */ -@leftFloatedMargin: 0em 2em 1em 0em; -@rightFloatedMargin: 0em 0em 1em 2em; - -/* Inverted */ -@invertedValueColor: @invertedTextColor; -@invertedLabelColor: @invertedLightTextColor; - -/* Size */ -@miniValueSize: 1.5rem; -@miniTextLabelSize: 1rem; -@miniHorizontalValueSize: 1.5rem; - -@tinyValueSize: 2rem; -@tinyTextLabelSize: 1rem; -@tinyHorizontalValueSize: 2rem; - -@smallValueSize: 3rem; -@smallTextLabelSize: 1.5rem; -@smallHorizontalValueSize: 2rem; - -@valueSize: 4rem; -@textLabelSize: 2rem; -@horizontalValueSize: 3rem; - -@largeValueSize: 5rem; -@largeTextLabelSize: 2.5rem; -@largeHorizontalValueSize: 4rem; - -@hugeValueSize: 6rem; -@hugeTextLabelSize: 2.5rem; -@hugeHorizontalValueSize: 5rem; \ No newline at end of file diff --git a/themes/fixed-width/modules/modal.overrides b/themes/fixed-width/modules/modal.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/fixed-width/modules/modal.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/fixed-width/modules/modal.variables b/themes/fixed-width/modules/modal.variables deleted file mode 100644 index 16579af2f8..0000000000 --- a/themes/fixed-width/modules/modal.variables +++ /dev/null @@ -1,37 +0,0 @@ - -/* Responsive Widths */ -@modalComputerWidth: 700px; -@modalLargeMonitorWidth: 800px; -@modalWidescreenMonitorWidth: 850px; - -@modalComputerMargin: 0em 0em 0em -(@modalComputerWidth / 2); -@modalLargeMonitorMargin: 0em 0em 0em -(@modalLargeMonitorWidth / 2); -@modalWidescreenMonitorMargin: 0em 0em 0em -(@modalWidescreenMonitorWidth / 2); - - -/*------------------- - Variations ---------------------*/ - -/* Sizes */ -@modalSmallRatio: 0.6; -@modalLargeRatio: 1.2; - -/* Derived Responsive Sizes */ -@modalSmallHeaderSize: 1.3em; -@modalSmallComputerWidth: (@modalComputerWidth * @modalSmallRatio); -@modalSmallLargeMonitorWidth: (@modalLargeMonitorWidth * @modalSmallRatio); -@modalSmallWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalSmallRatio); - -@modalSmallComputerMargin: 0em 0em 0em -(@modalSmallComputerWidth / 2); -@modalSmallLargeMonitorMargin: 0em 0em 0em -(@modalSmallLargeMonitorWidth / 2); -@modalSmallWidescreenMonitorMargin: 0em 0em 0em -(@modalSmallWidescreenMonitorWidth / 2); - -@modalLargeHeaderSize: 1.3em; -@modalLargeComputerWidth: (@modalComputerWidth * @modalLargeRatio); -@modalLargeLargeMonitorWidth: (@modalLargeMonitorWidth * @modalLargeRatio); -@modalLargeWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalLargeRatio); - -@modalLargeComputerMargin: 0em 0em 0em -(@modalLargeComputerWidth / 2); -@modalLargeLargeMonitorMargin: 0em 0em 0em -(@modalLargeLargeMonitorWidth / 2); -@modalLargeWidescreenMonitorMargin: 0em 0em 0em -(@modalLargeWidescreenMonitorWidth / 2); \ No newline at end of file diff --git a/themes/flat/collections/form.overrides b/themes/flat/collections/form.overrides deleted file mode 100644 index e9480415b4..0000000000 --- a/themes/flat/collections/form.overrides +++ /dev/null @@ -1,24 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.form input[type="text"], -.ui.form input[type="email"], -.ui.form input[type="date"], -.ui.form input[type="password"], -.ui.form input[type="number"], -.ui.form input[type="url"], -.ui.form input[type="tel"] { - border-bottom: 1px solid #DDDDDD; -} - -.ui.form .selection.dropdown { - border: none; - box-shadow: none !important; - border-bottom: 1px solid #DDDDDD; - border-radius: 0em !important; -} - -.ui.form .ui.icon.input > .icon { - width: 1em; -} \ No newline at end of file diff --git a/themes/flat/collections/form.variables b/themes/flat/collections/form.variables deleted file mode 100644 index bf27abee73..0000000000 --- a/themes/flat/collections/form.variables +++ /dev/null @@ -1,74 +0,0 @@ -/******************************* - Form -*******************************/ - -/*------------------- - Elements ---------------------*/ - - -/* Text */ -@paragraphMargin: 1em 0em; - -/* Field */ -@fieldMargin: 0em 0em 1em; - -/* Form Label */ -@labelFontSize: 0.8em; -@labelTextTransform: uppercase; - -@groupedLabelTextTransform: none; - -/* Input */ -@inputVerticalPadding: 0.8em; -@inputHorizontalPadding: 0.5em; -@inputBackground: transparent; -@inputBorder: none; -@inputBorderRadius: 0em; -@inputBoxShadow: none; - -@textAreaPadding: 1em; -@textAreaBackground: transparent; -@textAreaFocusBackground: #EEEEEE; -@textAreaBorder: 1px solid #DDDDDD; - -/* Divider */ -@dividerMargin: 1em 0em; - -/* Validation Prompt */ -@validationMargin: 0em 0em 0em 1em; -@validationArrowOffset: -0.3em; - -/*------------------- - States ---------------------*/ - -/* Disabled */ - -/* Focus */ -@inputFocusPointerSize: 0px; -@inputErrorPointerSize: 0px; - -/* Dropdown Error */ -@dropdownErrorHoverBackground: #FFF2F2; -@dropdownErrorActiveBackground: #FDCFCF; - -/* Focused Error */ -@inputErrorFocusBackground: @negativeBackgroundColor; -@inputErrorFocusColor: @negativeColorHover; -@inputErrorFocusBorder: @negativeBorderColor; -@inputErrorFocusBoxShadow: @inputErrorPointerSize 0em 0em 0em @negativeColorHover inset; - -/* Placeholder */ -@inputPlaceholderColor: lighten(@inputColor, 55); -@inputPlaceholderFocusColor: lighten(@inputColor, 35); -@inputErrorPlaceholderColor: lighten(@formErrorColor, 10); -@inputErrorPlaceholderFocusColor: lighten(@formErrorColor, 5); - -/* Loading */ -@formLoaderDimmerColor: rgba(255, 255, 255, 0.6); -@formLoaderPath: "@{imagePath}/loader-large.gif"; -@formLoaderPosition: 50% 50%; - -/* (x) Wide Field */ -@gutterWidth: 1.5em; diff --git a/themes/flat/globals/site.overrides b/themes/flat/globals/site.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/flat/globals/site.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/flat/globals/site.variables b/themes/flat/globals/site.variables deleted file mode 100644 index 3cb0cd11fd..0000000000 --- a/themes/flat/globals/site.variables +++ /dev/null @@ -1,484 +0,0 @@ -/******************************* - Site Settings -*******************************/ - -/*------------------- - Paths ---------------------*/ - -@imagePath : "../../themes/packages/default/assets/images"; -@fontPath : "../../themes/packages/default/assets/fonts"; - -/*------------------- - Fonts ---------------------*/ - -@headerFont : "Open Sans", "Helvetica Neue", Arial, Helvetica, sans-serif; -@pageFont : "Open Sans", "Helvetica Neue", Arial, Helvetica, sans-serif; -@fontSmoothing : antialiased; - -/*------------------- - Site Colors ---------------------*/ - -/*--- Colors ---*/ -@blue : #0074D9; -@green : #2ECC40; -@orange : #FF851B; -@pink : #D9499A; -@purple : #A24096; -@red : #FF4136; -@teal : #39CCCC; -@yellow : #FFCB08; - -@black : #191919; -@grey : #CCCCCC; -@white : #FFFFFF; - -/*--- Light Colors ---*/ -@lightBlue : #54C8FF; -@lightGreen : #2ECC40; -@lightOrange : #FF851B; -@lightPink : #FF8EDF; -@lightPurple : #CDC6FF; -@lightRed : #FF695E; -@lightTeal : #6DFFFF; -@lightYellow : #FFE21F; - -@primaryColor : @blue; -@secondaryColor : @black; - - -/*------------------- - Page ---------------------*/ - -@bodyBackground : #FCFCFC; -@fontSize : 14px; -@textColor : rgba(0, 0, 0, 0.8); - -@headerMargin : 1em 0em 1rem; -@paragraphMargin : 0em 0em 1em; - -@linkColor : #009FDA; -@linkUnderline : none; -@linkHoverColor : lighten( @linkColor, 5); - -@highlightBackground : #FFFFCC; -@highlightColor : @textColor; - - - -/*------------------- - Background Colors ---------------------*/ - -@subtleTransparentBlack : rgba(0, 0, 0, 0.03); -@transparentBlack : rgba(0, 0, 0, 0.05); -@strongTransparentBlack : rgba(0, 0, 0, 0.10); - -@subtleTransparentWhite : rgba(255, 255, 255, 0.01); -@transparentWhite : rgba(255, 255, 255, 0.05); -@strongTransparentWhite : rgba(255, 255, 255, 0.01); - -/* Used for differentiating neutrals */ -@subtleGradient: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); - -/* Used for differentiating layers */ -@subtleShadow: 0px 1px 2px 0 rgba(0, 0, 0, 0.05); - - -/*------------------- - Grid ---------------------*/ - -@columnCount: 16; - -/*------------------- - Breakpoints ---------------------*/ - -@mobileBreakpoint : 320px; -@tabletBreakpoint : 768px; -@computerBreakpoint : 992px; -@largeMonitorBreakpoint : 1400px; -@widescreenMonitorBreakpoint : 1900px; - - -/******************************* - Power-User -*******************************/ - -/*------------------- - Icons ---------------------*/ - -/* Max Width of Icon */ -@iconWidth : 1.23em; - -/*------------------- - Easing ---------------------*/ - -@defaultEasing: ease; - - -/*--- Neutrals ---*/ -@fullBlack : #000000; -@lightBlack : #333333; -@darkGrey : #AAAAAA; -@lightGrey : #DCDDDE; -@offWhite : #FAFAFA; -@darkWhite : #F0F0F0; - -/*--- Colored Backgrounds ---*/ -@blueBackground : #D3E4F3; -@greenBackground : #DEF2E0; -@orangeBackground : #F7E5D6; -@pinkBackground : #F9CEE6; -@purpleBackground : #E0DDF5; -@redBackground : #F8D5D3; -@tealBackground : #D2F5F5; -@yellowBackground : #FCF5D8; - -/*--- Colored Text ---*/ -@blueTextColor : @blue; -@orangeTextColor : @orange; -@pinkTextColor : @pink; -@purpleTextColor : @purple; -@redTextColor : @red; -@greenTextColor : #1EBC30; // Green is difficult to read -@tealTextColor : #10A3A3; // Teal text is difficult to read -@yellowTextColor : #B58105; // Yellow text is difficult to read - -/*--- Colored Headers ---*/ -@blueHeaderColor : darken(@blueTextColor, 5); -@greenHeaderColor : darken(@greenTextColor, 5); -@orangeHeaderColor : darken(@orangeTextColor, 5); -@pinkHeaderColor : darken(@pinkTextColor, 5); -@purpleHeaderColor : darken(@purpleTextColor, 5); -@redHeaderColor : darken(@redTextColor, 5); -@tealHeaderColor : darken(@tealTextColor, 5); -@yellowHeaderColor : darken(@yellowTextColor, 5); - - - -/*------------------- - Emotive Colors ---------------------*/ - -/* Mood */ -@positiveBackgroundColor : #E4F5DD; -@negativeBackgroundColor : #FAE8E8; - -@positiveBorderColor : #B7CAA7; -@negativeBorderColor : #DBB1B1; - -/* Solid Background Color */ -@positiveColor : @green; -@negativeColor : @red; - -@positiveTextColor : #3C763D; -@negativeTextColor : #A94442; - - -/* Status */ -@infoBackgroundColor : #E5F6FB; -@warningBackgroundColor : #FCF8E3; -@successBackgroundColor : @positiveBackgroundColor; -@errorBackgroundColor : @negativeBackgroundColor; - -@infoBorderColor : #AAD6DF; -@warningBorderColor : #D3C4A5; -@successBorderColor : @positiveBorderColor; -@errorBorderColor : @negativeBorderColor; - -@infoTextColor : #337B92; -@warningTextColor : #8A6D3B; -@successTextColor : @positiveTextColor; -@errorTextColor : @negativeTextColor; - -/* Darkened Headers */ -@positiveHeaderColor : darken(@positiveTextColor, 5); -@negativeHeaderColor : darken(@negativeTextColor, 5); -@infoHeaderColor : darken(@infoTextColor, 5); -@warningHeaderColor : darken(@warningTextColor, 5); -@successHeaderColor : darken(@successTextColor, 5); -@errorHeaderColor : darken(@errorTextColor, 5); - -/*------------------- - Neutral Text ---------------------*/ - -@darkTextColor : rgba(0, 0, 0, 0.85); -@lightTextColor : rgba(0, 0, 0, 0.4); - -@invertedTextColor : rgba(255, 255, 255, 1); -@invertedLightTextColor : rgba(255, 255, 255, 0.8); -@invertedUnselectedTextColor : rgba(255, 255, 255, 0.5); -@invertedSelectedTextColor : rgba(255, 255, 255, 1); -@invertedDisabledTextColor : rgba(255, 255, 255, 0.3); - -@unselectedTextColor : rgba(0, 0, 0, 0.4); -@selectedTextColor : rgba(0, 0, 0, 0.8); -@disabledTextColor : rgba(0, 0, 0, 0.2); - -/*------------------- - Brand Colors ---------------------*/ - -@facebookColor : #3B579D; -@twitterColor : #4092CC; -@googlePlusColor : #D34836; -@linkedInColor : #1F88BE; -@youtubeColor : #CC181E; -@instagramColor : #49769C; -@pinterestColor : #00ACED; -@vkColor : #4D7198; - -/*------------------- - Grid Columns ---------------------*/ - -@oneWide : (1 / @columnCount * 100%); -@twoWide : (2 / @columnCount * 100%); -@threeWide : (3 / @columnCount * 100%); -@fourWide : (4 / @columnCount * 100%); -@fiveWide : (5 / @columnCount * 100%); -@sixWide : (6 / @columnCount * 100%); -@sevenWide : (7 / @columnCount * 100%); -@eightWide : (8 / @columnCount * 100%); -@nineWide : (9 / @columnCount * 100%); -@tenWide : (10 / @columnCount * 100%); -@elevenWide : (11 / @columnCount * 100%); -@twelveWide : (12 / @columnCount * 100%); -@thirteenWide : (13 / @columnCount * 100%); -@fourteenWide : (14 / @columnCount * 100%); -@fifteenWide : (15 / @columnCount * 100%); -@sixteenWide : (16 / @columnCount * 100%); - -@oneColumn : (1 / 1 * 100%); -@twoColumn : (1 / 2 * 100%); -@threeColumn : (1 / 3 * 100%); -@fourColumn : (1 / 4 * 100%); -@fiveColumn : (1 / 5 * 100%); -@sixColumn : (1 / 6 * 100%); -@sevenColumn : (1 / 7 * 100%); -@eightColumn : (1 / 8 * 100%); -@nineColumn : (1 / 9 * 100%); -@tenColumn : (1 / 10 * 100%); -@elevenColumn : (1 / 11 * 100%); -@twelveColumn : (1 / 12 * 100%); -@thirteenColumn : (1 / 13 * 100%); -@fourteenColumn : (1 / 14 * 100%); -@fifteenColumn : (1 / 15 * 100%); -@sixteenColumn : (1 / 16 * 100%); - -/*------------------- - Borders ---------------------*/ - -@circularRadius : 500rem; - -@borderColor : rgba(0, 0, 0, 0.1); -@selectedBorderColor : rgba(0, 0, 0, 0.2); - -@solidBorderColor : #DDDDDD; -@solidSelectedBorderColor : #B0B0B0; - -@whiteBorderColor : rgba(255, 255, 255, 0.2); -@selectedWhiteBorderColor : rgba(255, 255, 255, 0.8); - -@solidWhiteBorderColor : #555555; -@selectedSolidWhiteBorderColor : #999999; - -/*------------------- - Sizes ---------------------*/ - -@mini : 0.7em; -@tiny : 0.8em; -@small : 0.875em; -@medium : 1em; -@large : 1.125em; -@big : 1.25em; -@huge : 1.375em; -@massive : 1.5em; - - -/*------------------- - Transitions ---------------------*/ - -@transitionDuration : 0.25s; -@transitionEasing : ease; - - -/******************************* - States -*******************************/ - -/*------------------- - Disabled ---------------------*/ - -@disabledOpacity: 0.3; - -/*------------------- - Hover ---------------------*/ - -/*--- Colors ---*/ -@primaryColorHover : lighten( @primaryColor, 7); -@secondaryColorHover : lighten( @secondaryColor, 7); - -@blueHover : lighten( @blue, 7); -@greenHover : lighten( @green, 7); -@orangeHover : lighten( @orange, 7); -@pinkHover : lighten( @pink, 7); -@purpleHover : lighten( @purple, 7); -@redHover : lighten( @red, 7); -@tealHover : lighten( @teal, 7); -@yellowHover : lighten( @yellow, 7); - -@lightBlueHover : lighten( @lightBlue, 7); -@lightGreenHover : lighten( @lightGreen, 7); -@lightOrangeHover : lighten( @lightOrange, 7); -@lightPinkHover : lighten( @lightPink, 7); -@lightPurpleHover : lighten( @lightPurple, 7); -@lightRedHover : lighten( @lightRed, 7); -@lightTealHover : lighten( @lightTeal, 7); -@lightYellowHover : lighten( @lightYellow, 7); - -/*--- Emotive ---*/ -@positiveColorHover : lighten( @positiveColor, 7); -@negativeColorHover : lighten( @negativeColor, 7); - -/*--- Neutrals ---*/ -@fullBlackHover : lighten( @fullBlack, 7); -@blackHover : lighten( @black, 7); -@lightBlackHover : lighten( @lightBlack, 7); - -@lightGreyHover : lighten( @lightGrey, 7); -@greyHover : lighten( @grey, 7); -@darkGreyHover : lighten( @darkGrey, 7); - -@whiteHover : lighten( @white, 7); -@offWhiteHover : lighten( @offWhite, 7); -@darkWhiteHover : lighten( @darkWhite, 7); - -@facebookHoverColor : lighten( @facebookColor, 7); -@twitterHoverColor : lighten( @twitterColor, 7); -@googlePlusHoverColor : lighten( @googlePlusColor, 7); -@linkedInHoverColor : lighten( @linkedInColor, 7); -@youtubeHoverColor : lighten( @youtubeColor, 7); -@instagramHoverColor : lighten( @instagramColor, 7); -@pinterestHoverColor : lighten( @pinterestColor, 7); -@vkHoverColor : lighten( @vkColor, 7); - - -/*------------------- - Down (:active) ---------------------*/ - - -/*--- Colors ---*/ -@primaryColorDown : darken(@primaryColor, 7); -@secondaryColorDown : darken(@secondaryColor, 7); - -@blueDown : darken(@blue, 7); -@greenDown : darken(@green, 7); -@orangeDown : darken(@orange, 7); -@pinkDown : darken(@pink, 7); -@purpleDown : darken(@purple, 7); -@redDown : darken(@red, 7); -@tealDown : darken(@teal, 7); -@yellowDown : darken(@yellow, 7); - -@lightBlueDown : darken(@lightBlue, 7); -@lightGreenDown : darken(@lightGreen, 7); -@lightOrangeDown : darken(@lightOrange, 7); -@lightPinkDown : darken(@lightPink, 7); -@lightPurpleDown : darken(@lightPurple, 7); -@lightRedDown : darken(@lightRed, 7); -@lightTealDown : darken(@lightTeal, 7); -@lightYellowDown : darken(@lightYellow, 7); - -/*--- Emotive ---*/ -@positiveColorDown : darken(@positiveColor, 7); -@negativeColorDown : darken(@negativeColor, 7); - -/*--- Neutrals ---*/ -@fullBlackDown : darken(@fullBlack, 7); -@blackDown : darken(@black, 7); -@lightBlackDown : darken(@lightBlack, 7); - -@lightGreyDown : darken(@lightGrey, 7); -@greyDown : darken(@grey, 7); -@darkGreyDown : darken(@darkGrey, 7); - -@whiteDown : darken(@white, 7); -@offWhiteDown : darken(@offWhite, 7); -@darkWhiteDown : darken(@darkWhite, 7); - -@facebookDownColor : darken(@facebookColor, 7); -@twitterDownColor : darken(@twitterColor, 7); -@googlePlusDownColor : darken(@googlePlusColor, 7); -@linkedInDownColor : darken(@linkedInColor, 7); -@youtubeDownColor : darken(@youtubeColor, 7); -@instagramDownColor : darken(@instagramColor, 7); -@pinterestDownColor : darken(@pinterestColor, 7); -@vkDownColor : darken(@vkColor, 7); - - -/*------------------- - Active ---------------------*/ - -/*--- Standard ---*/ -@primaryColorActive : darken(@primaryColor, 5); -@secondaryColorActive : darken(@secondaryColor, 5); - -@blueActive : darken(@blue, 5); -@greenActive : darken(@green, 5); -@orangeActive : darken(@orange, 5); -@pinkActive : darken(@pink, 5); -@purpleActive : darken(@purple, 5); -@redActive : darken(@red, 5); -@tealActive : darken(@teal, 5); -@yellowActive : darken(@yellow, 5); - -@lightBlueActive : darken(@lightBlue, 5); -@lightGreenActive : darken(@lightGreen, 5); -@lightOrangeActive : darken(@lightOrange, 5); -@lightPinkActive : darken(@lightPink, 5); -@lightPurpleActive : darken(@lightPurple, 5); -@lightRedActive : darken(@lightRed, 5); -@lightTealActive : darken(@lightTeal, 5); -@lightYellowActive : darken(@lightYellow, 5); - -/*--- Emotive ---*/ -@positiveColorActive : darken(@positiveColor, 5); -@negativeColorActive : darken(@negativeColor, 5); - -/*--- Neutrals ---*/ -@fullBlackActive : darken(@fullBlack, 5); -@blackActive : darken(@black, 5); -@lightBlackActive : darken(@lightBlack, 5); - -@lightGreyActive : darken(@lightGrey, 5); -@greyActive : darken(@grey, 5); -@darkGreyActive : darken(@darkGrey, 5); - -@whiteActive : darken(@white, 5); -@offWhiteActive : darken(@offWhite, 5); -@darkWhiteActive : darken(@darkWhite, 5); - -@facebookActiveColor : darken(@facebookColor, 5); -@twitterActiveColor : darken(@twitterColor, 5); -@googlePlusActiveColor : darken(@googlePlusColor, 5); -@linkedInActiveColor : darken(@linkedInColor, 5); -@youtubeActiveColor : darken(@youtubeColor, 5); -@instagramActiveColor : darken(@instagramColor, 5); -@pinterestActiveColor : darken(@pinterestColor, 5); -@vkActiveColor : darken(@vkColor, 5); diff --git a/themes/github/collections/form.overrides b/themes/github/collections/form.overrides deleted file mode 100644 index 89df9c0367..0000000000 --- a/themes/github/collections/form.overrides +++ /dev/null @@ -1,16 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.selection.dropdown { - background-color: #FAFAFA; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; - border-color: #CCCCCC; -} - -.ui.selection.dropdown:focus { - box-shadow: - 0px 1px 2px rgba(0, 0, 0, 0.075) inset, - 0px 0px 5px rgba(81, 167, 232, 0.5) - ; -} \ No newline at end of file diff --git a/themes/github/collections/form.variables b/themes/github/collections/form.variables deleted file mode 100644 index 02dbb8b2b8..0000000000 --- a/themes/github/collections/form.variables +++ /dev/null @@ -1,40 +0,0 @@ -/******************************* - Form -*******************************/ - -/*------------------- - Elements ---------------------*/ - -@inputBackground: #FAFAFA; -@inputBorder: 1px solid #CCCCCC; -@inputBoxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; -@inputBorderRadius: 3px; - -@labelFontWeight: bold; -@labelMargin: 6px; - -/*------------------- - States ---------------------*/ - -@inputFocusBackground: #FFFFFF; -@inputFocusBoxShadow: - 0px 1px 2px rgba(0, 0, 0, 0.075) inset, - 0px 0px 5px rgba(81, 167, 232, 0.5) -; -@inputFocusBorderColor: #51A7E8; -@inputFocusBorderRadius: @inputBorderRadius; - -/*------------------- - Types ---------------------*/ - - -/*------------------- - Variations ---------------------*/ - -/*------------------- - Groups ---------------------*/ diff --git a/themes/github/collections/menu.overrides b/themes/github/collections/menu.overrides deleted file mode 100644 index 06d7827dd9..0000000000 --- a/themes/github/collections/menu.overrides +++ /dev/null @@ -1,7 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.menu .item > .label { - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -} \ No newline at end of file diff --git a/themes/github/collections/menu.variables b/themes/github/collections/menu.variables deleted file mode 100644 index d5e3e2a37c..0000000000 --- a/themes/github/collections/menu.variables +++ /dev/null @@ -1,66 +0,0 @@ -/*------------------- - Collection ---------------------*/ - -@verticalPadding : 1em; -@horizontalPadding : 1.25em; - -@background : #FFFFFF linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.05)); -@fontWeight : normal; - -@activeBorderSize : 0em; - -@hoverBackground : rgba(0, 0, 0, 0.02); -@downBackground : rgba(0, 0, 0, 0.06); - -@activeBackground : rgba(0, 0, 0, 0.04); -@activeHoverBackground : rgba(0, 0, 0, 0.04); - -@boxShadow : - 0px 1px 2px 0px rgba(0, 0, 0, 0.15), - 0px 0px 0px 1px rgba(0, 0, 0, 0.05) -; - -@headerBackground: rgba(0, 0, 0, 0.08); - -@subMenuMargin: 1em; -@subMenuFontSize: 0.9rem; -@subMenuHorizontalPadding: 0.7em; - -@arrowHoverColor: #EEEEEE; -@arrowActiveColor: #EEEEEE; -@arrowVerticalHoverColor: #F4F4F4; -@arrowVerticalActiveColor: #F4F4F4; - -@dividerBackground: #E8E8E8; -@verticalDividerBackground: #E8E8E8; - -/*------------------- - Elements ---------------------*/ - -@buttonOffset: -0.15em; -@buttonVerticalPadding: 0.75em; - -/*------------------- - Types ---------------------*/ - -@paginationMinWidth: 3.5em; - -@tieredActiveItemBackground: #F5F5F5; -@tieredActiveMenuBackground: #F5F5F5; - -/*------------------- - Variations ---------------------*/ - -@verticalBackground: #FFFFFF; -@verticalItemBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02)); - -@invertedBackground: @black linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.0)); -@invertedBoxShadow : - 0px 1px 2px 0px rgba(0, 0, 0, 0.15), - 0px 0px 0px 1px rgba(255, 255, 255, 0.15) -; -@secondaryVerticalPadding: 0.75em; \ No newline at end of file diff --git a/themes/github/collections/message.overrides b/themes/github/collections/message.overrides deleted file mode 100644 index 01519ed718..0000000000 --- a/themes/github/collections/message.overrides +++ /dev/null @@ -1,11 +0,0 @@ -.ui.info.message { - background: linear-gradient(#D8EBF8, #D0E3EF); -} -.ui.error.message { - background: linear-gradient(#F8D8D8, #EFD0D0); -} -.ui.warning.message { - background: linear-gradient(#FFE3C8, #F5DAC0); -} -.ui.success.message { -} diff --git a/themes/github/collections/message.variables b/themes/github/collections/message.variables deleted file mode 100644 index 165eef68fc..0000000000 --- a/themes/github/collections/message.variables +++ /dev/null @@ -1,29 +0,0 @@ -@background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.05)) #FEFEFE; -@boxShadow: - 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset, - 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset -; -@verticalPadding: 15px; -@horizontalPadding: 15px; - -@headerFontSize: 1.15em; - -@infoTextColor: #264C72; -@warningTextColor: #613A00; -@errorTextColor: #991111; - -@floatingBoxShadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset, - 0px 2px 3px 0px rgba(0, 0, 0, 0.1), - 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset -; - -@infoBorderColor: #97C1DA; -@errorBorderColor: #DA9797; -@warningBorderColor: #DCA874; - -@small: 12px; -@medium: 13px; -@large: 14px; -@huge: 16px; -@massive: 18px; diff --git a/themes/github/elements/button.overrides b/themes/github/elements/button.overrides deleted file mode 100644 index 6273007693..0000000000 --- a/themes/github/elements/button.overrides +++ /dev/null @@ -1,4 +0,0 @@ -/******************************* - Overrides -*******************************/ - diff --git a/themes/github/elements/button.variables b/themes/github/elements/button.variables deleted file mode 100644 index 64d9d62e96..0000000000 --- a/themes/github/elements/button.variables +++ /dev/null @@ -1,71 +0,0 @@ -/*------------------- - Button Variables ---------------------*/ - -/* Button Variables */ -@pageFont: Helvetica Neue, Helvetica, Arial, sans-serif; -@textTransform: none; -@fontWeight: bold; -@textColor: #333333; - -@textShadow: 0px 1px 0px rgba(255, 255, 255, 0.9); -@invertedTextShadow: 0px -1px 0px rgba(0, 0, 0, 0.25); - -@borderRadius: @relativeBorderRadius; - -@verticalPadding: 0.75em; -@horizontalPadding: 1.15em; - -@backgroundColor: #FAFAFA; -@backgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1)); -@boxShadow: - 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset, - 0 0 0 1px rgba(0, 0, 0, 0.13) inset, - 0 1px 3px rgba(0, 0, 0, 0.05) -; - -@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2)); -@coloredBoxShadow: - 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset, - 0 0 0 1px rgba(0, 0, 0, 0.1) inset, - 0 1px 3px rgba(0, 0, 0, 0.05) -; - -@hoverBackgroundColor: ''; -@hoverBackgroundImage: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08)); -@hoverBoxShadow: ''; - -@downBackgroundColor: ''; -@downBackgroundImage: ''; -@downBoxShadow: - 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset, - 0 0 0 1px rgba(0, 0, 0, 0.13) inset, - 0 3px 5px rgba(0, 0, 0, 0.15) inset !important -; -@activeBackgroundColor: #DFDFDF; -@activeBackgroundImage: none; -@activeBoxShadow: - 0 -1px 0 0 rgba(0, 0, 0, 0.05) inset, - 0 0 0 1px rgba(0, 0, 0, 0.13) inset, - 0 3px 5px rgba(0, 0, 0, 0.1) inset !important -; - -@labeledIconBackgroundColor: transparent; -@labeledIconBorder: transparent; -@labeledIconPadding: (@horizontalPadding + 2.25em); - -@blue: #3072B3; -@green: #60B044; -@black: #5D5D5D; - -@primaryColor: @blue; -@secondaryColor: @black; - -@mini: 0.6rem; -@tiny: 0.7rem; -@small: 0.85rem; -@medium: 0.92rem; -@large: 1rem; -@big: 1.125rem; -@huge: 1.25rem; -@massive: 1.3rem; diff --git a/themes/github/elements/segment.overrides b/themes/github/elements/segment.overrides deleted file mode 100644 index c5c53367f7..0000000000 --- a/themes/github/elements/segment.overrides +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Overrides -*******************************/ diff --git a/themes/github/elements/segment.variables b/themes/github/elements/segment.variables deleted file mode 100644 index 55aa245e95..0000000000 --- a/themes/github/elements/segment.variables +++ /dev/null @@ -1,41 +0,0 @@ -/******************************* - Standard -*******************************/ - -/*------------------- - Segment ---------------------*/ - -@segmentBorderWidth: 1px; -@border: 1px solid #D8DEE2; -@boxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); - -@verticalPadding: 20px; -@horizontalPadding: 20px; - -@margin: 1em; -@borderRadius: 4px; - -/******************************* - Variations -*******************************/ - - -/* Raised */ -@raisedBoxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075); - -/* Colors */ -@coloredBorderSize: 0.5em; - -/* Ordinality */ -@secondaryBackground: #F9F9F9; -@secondaryColor: @textColor; - -@tertiaryBackground: #F0F0F0; -@tertiaryColor: @textColor; - -@secondaryInvertedBackground: #555555; -@secondaryInvertedColor: @textColor; - -@tertiaryInvertedBackground: #333333; -@tertiaryInvertedColor: @textColor; diff --git a/themes/github/elements/step.overrides b/themes/github/elements/step.overrides deleted file mode 100644 index f4c076d42b..0000000000 --- a/themes/github/elements/step.overrides +++ /dev/null @@ -1,26 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.steps .step:after { - display: none; -} -.ui.steps .completed.step:before { - opacity: 0.5; -} - -.ui.steps .step.active:after { - display: block; - border: none; - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-left: 1px solid rgba(0, 0, 0, 0.2); -} -.ui.vertical.steps .step.active:after { - display: block; - border: none; - top: 50%; - right: 0%; - border-left: none; - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-right: 1px solid rgba(0, 0, 0, 0.2); -} \ No newline at end of file diff --git a/themes/github/elements/step.variables b/themes/github/elements/step.variables deleted file mode 100644 index 7d679cbd32..0000000000 --- a/themes/github/elements/step.variables +++ /dev/null @@ -1,20 +0,0 @@ -/*------------------- - Step Variables ---------------------*/ - -/* Step */ -@background: linear-gradient(transparent, rgba(0, 0, 0, 0.07)); -@verticalPadding: 1em; - -/* Group */ -@stepsBackground: #FFFFFF; -@stepsBoxShadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.15); - -/* States */ -@activeBackground: #FFFFFF; -@activeIconColor: @darkTextColor; - -/* Arrow */ -@arrowTopOffset: 100%; -@arrowRightOffset: 50%; -@arrowBorderColor: rgba(0, 0, 0, 0.2); \ No newline at end of file diff --git a/themes/google/collections/message.overrides b/themes/google/collections/message.overrides deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/themes/google/collections/message.variables b/themes/google/collections/message.variables deleted file mode 100644 index 16902bc865..0000000000 --- a/themes/google/collections/message.variables +++ /dev/null @@ -1,15 +0,0 @@ -@background: #F3F3F3; - -@boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset; -@borderRadius: 4px; -@verticalPadding: 7px; -@horizontalPadding: 15px; - -@headerFontSize: 1em; - -@floatingBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2); - -@iconSize: 1.5em; -@iconDistance: 1em; - -@warningBackgroundColor: #F9EDBE; diff --git a/themes/google/elements/button.overrides b/themes/google/elements/button.overrides deleted file mode 100644 index f7a35f975a..0000000000 --- a/themes/google/elements/button.overrides +++ /dev/null @@ -1,23 +0,0 @@ -@import url(http://fonts.googleapis.com/css?family=Roboto); - -.ui.button { - min-width: 72px; -} - -.ui.primary.button:hover { - box-shadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset, - 0px 2px 3px 0px rgba(0, 0, 0, 0.35) !important - ; -} - -.ui.secondary.button:hover { - box-shadow: - 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset, - 0px 2px 3px 0px rgba(0, 0, 0, 0.3) !important - ; -} -.ui.buttons > .button:hover, -.ui.buttons > .button.active { - position: static !important; -} \ No newline at end of file diff --git a/themes/google/elements/button.variables b/themes/google/elements/button.variables deleted file mode 100644 index 97c86e83bc..0000000000 --- a/themes/google/elements/button.variables +++ /dev/null @@ -1,85 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ - -@pageFont : 'Roboto', Arial, sans-serif; -@medium : 13px; - -@verticalPadding : 0.8em; -@horizontalPadding : 0.8em; -@borderRadius : 0.1538em; -@color : #222222; -@fontWeight : normal; -@textTransform : none; - -@backgroundColor : @white; -@backgroundImage : linear-gradient(transparent, rgba(0, 0, 0, 0.02)); - -@solidBorderColor: #DDDDDD; - -@borderBoxShadowColor: @solidBorderColor; -@borderBoxShadow: 0px 0px 0px 1px @solidBorderColor; -@shadowBoxShadow: 0px 0px 0px 0px transparent; - -@transition: - opacity 0.3s @transitionEasing, - background-color 0.3s @transitionEasing, - color 0.3s @transitionEasing, - box-shadow 0.3s @transitionEasing, - background 0.3s @transitionEasing -; -/*------------------- - State ---------------------*/ - -@hoverBackgroundColor: @white; -@hoverBoxShadow: - @borderBoxShadow, - 0px 2px 3px 0px rgba(0, 0, 0, 0.2) !important -; - -@downBackgroundColor: @white; -@downBackgroundImage: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)); -@downTextColor: #222222; -@downBoxShadow: @borderBoxShadow; - -@activeBackgroundColor: #F0F0F0; -@activeBoxShadow: 0px 0px 0px 1px #DDDDDD; - -/*------------------- - Variations ---------------------*/ - -@basicBorderSize: 0px; -@basicBorderRadius: 4px; -@basicColoredBorderSize: 1px; -@basicHoverBackground: @white; -@basicHoverBoxShadow: @hoverBoxShadow; -@basicDownBackground: @white; -@basicDownBoxShadow: @downBoxShadow; - -@basicActiveBackground: #FFFFFF; -@basicActiveBoxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - -@labeledIconBackgroundColor: transparent; -@labeledIconWidth: 2em; - -@coloredBackgroundImage : @subtleGradient; -@coloredBoxShadow : 0px 0px 0px 1px rgba(0, 0, 0, 0.25) inset; - -@primaryColor : #4184F3; -@primaryBoxShadow : 0px 0px 0px 1px #0157E4 inset; - -@secondaryColor : #EEEEEE; -@secondaryBackgroundImage : @backgroundImage; -@secondaryTextColor : @textColor; -@secondaryBoxShadow : @borderBoxShadow; - -@positiveColor: #3D9400; -@negativeColor: #D34836; -@invertedBorderSize: 1px; - diff --git a/themes/raised/elements/button.overrides b/themes/raised/elements/button.overrides deleted file mode 100644 index fcaa04c235..0000000000 --- a/themes/raised/elements/button.overrides +++ /dev/null @@ -1,9 +0,0 @@ -/******************************* - Overrides -*******************************/ - -.ui.button.active:not(.basic), -.ui.button:active { - padding-top: @verticalPadding + (@shadowOffset / 2); - padding-bottom: @verticalPadding + (@shadowOffset / 2); -} \ No newline at end of file diff --git a/themes/raised/elements/button.variables b/themes/raised/elements/button.variables deleted file mode 100644 index 6e4db620ce..0000000000 --- a/themes/raised/elements/button.variables +++ /dev/null @@ -1,27 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ - -/* Shadow */ -@verticalAlign: middle; -@backgroundColor: #F8F8F8; -@backgroundImage: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); -@shadowDistance: 0.3em; -@borderBoxShadowColor: @borderColor; - -@verticalPadding: 1em; -@horizontalPadding: 2em; - -@borderRadius: 0.4em; -/* transitions */ -@transition: - opacity @transitionDuration @transitionEasing, - background-color @transitionDuration @transitionEasing, - box-shadow @transitionDuration @transitionEasing, - color @transitionDuration @transitionEasing, - background @transitionDuration @transitionEasing -; \ No newline at end of file diff --git a/themes/resetcss/globals/reset.overrides b/themes/resetcss/globals/reset.overrides deleted file mode 100644 index 3377df5970..0000000000 --- a/themes/resetcss/globals/reset.overrides +++ /dev/null @@ -1,52 +0,0 @@ -/******************************* - Overrides -*******************************/ - -/** - * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) - * http://cssreset.com - */ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/themes/resetcss/globals/reset.variables b/themes/resetcss/globals/reset.variables deleted file mode 100644 index 0eedf27c8b..0000000000 --- a/themes/resetcss/globals/reset.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Reset -*******************************/ \ No newline at end of file diff --git a/themes/round/elements/button.overrides b/themes/round/elements/button.overrides deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/themes/round/elements/button.variables b/themes/round/elements/button.variables deleted file mode 100644 index d078106e15..0000000000 --- a/themes/round/elements/button.variables +++ /dev/null @@ -1,143 +0,0 @@ -/******************************* - Button -*******************************/ - -/*------------------- - Element ---------------------*/ -@borderRadius: @circularRadius; -@textTransform: uppercase; -@backgroundColor: #FFFFFF; -@backgroundImage: none; -@fontWeight: bold; -@textColor: rgba(0, 0, 0, 0.6); -@boxShadow: - 0px 0px 0px 2px rgba(0, 0, 0, 0.2) inset -; - -/* Padding */ -@verticalPadding: 1.25em; -@horizontalPadding: 3em; - -/* Icon */ -@iconOpacity: 0.8; -@iconDistance: 0.4em; -@iconTransition: opacity @transitionDuration @transitionEasing; -@iconMargin: 0em @iconDistance 0em -(@iconDistance / 2); -@iconVerticalAlign: top; - -/* Loader */ -@loaderPath: "@{imagePath}/loader-mini.gif"; -@hugeLoaderPath: "@{imagePath}/loader-small.gif"; -@massiveLoaderPath: "@{imagePath}/loader-medium.gif"; - -/*------------------- - Group ---------------------*/ - -@verticalBoxShadow: 0px 0px 0px 1px @borderColor inset; - - -/*------------------- - States ---------------------*/ - -@hoverBackgroundColor: #FAFAFA; -@hoverBackgroundImage: none; -@hoverBoxShadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.3) inset; - -@downBackgroundColor: #F0F0F0; -@downBackgroundImage: none; -@downBoxShadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.35) inset !important; - -@activeBackgroundColor: #DDDDDD; -@activeBackgroundImage: none; -@activeBoxShadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.3) inset !important; - -@loadingBackgroundColor: #FFFFFF; - -/*------------------- - Types ---------------------*/ - -/* Labeled Icon */ -@labeledIconWidth: 1em + (@verticalPadding * 2); -@labeledIconBackgroundColor: transparent; -@labeledIconPadding: (@horizontalPadding + 1em); -@labeledIconBorder: rgba(0, 0, 0, 0.05); -@labeledIconColor: ''; - -@labeledIconLeftShadow: none; -@labeledIconRightShadow: none; - -/* Basic */ -@basicBoxShadow: 0px 0px 0px 1px @borderColor; -@iconOffset: 0.05em; -@basicLoadingColor: #FFFFFF; - -@basicHoverBackground: #FAFAFA; -@basicHoverBoxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15); - -@basicDownBackground: rgba(0, 0, 0, 0.02); -@basicDownBoxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2); - -@basicActiveBackground: @transparentBlack; -@basicActiveColor: @selectedTextColor; - -/* Basic Inverted */ -@basicInvertedBackground: transparent; -@basicInvertedHoverBackground: transparent; -@basicInvertedDownBackground: @transparentWhite; -@basicInvertedActiveBackground: @transparentWhite; - -@basicInvertedBoxShadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5); -@basicInvertedHoverBoxShadow: 0px 0px 0px 2px @selectedWhiteBorderColor; -@basicInvertedDownBoxShadow: 0px 0px 0px 2px @selectedWhiteBorderColor; -@basicInvertedActiveBoxShadow: 0px 0px 0px 2px @selectedWhiteBorderColor; - -@basicInvertedColor: @darkWhite; -@basicInvertedHoverColor: @darkWhiteHover; -@basicInvertedDownColor: @darkWhiteActive; -@basicInvertedActiveColor: @invertedTextColor; - - -/* Basic Group */ -@basicGroupBorder: 1px solid @borderColor; -@basicGroupBoxShadow: 0px 0px 0px 1px @borderColor; - -/*------------------- - Variations ---------------------*/ - -/* Colors */ -@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.1)); -@coloredBoxShadow: @shadowBoxShadow; - -/* Compact */ -@compactVerticalPadding: (@verticalPadding * 0.75); -@compactHorizontalPadding: (@horizontalPadding * 0.75); - -/* Attached */ -@attachedOffset: -1px; -@attachedBoxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1); -@attachedHorizontalPadding: 0.75em; - -/* Floated */ -@floatedMargin: 0.25em; - -/* Animated */ -@animationDuration: 0.3s; -@animationEasing: ease; -@fadeScaleHigh: 1.5; -@fadeScaleLow: 0.75; - -/* Sizing */ -@mini: 0.7rem; -@tiny: 0.8rem; -@small: 0.875rem; -@medium: 1rem; -@large: 1.125rem; -@big: 1.25rem; -@huge: 1.375rem; -@massive: 1.5rem; - diff --git a/themes/striped/modules/progress.overrides b/themes/striped/modules/progress.overrides deleted file mode 100644 index 606cfe469b..0000000000 --- a/themes/striped/modules/progress.overrides +++ /dev/null @@ -1,29 +0,0 @@ -/******************************* - Progress -*******************************/ - -.ui.progress .bar { - background-size: 30px 30px; - background-image: - linear-gradient( - 135deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, - transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%, - transparent 75%, transparent - ) - ; -} - -.ui.progress.active .bar:after { - animation: none; -} -.ui.progress.active .bar { - animation: progress-striped 3s linear infinite; -} -@keyframes progress-striped { - 0% { - background-position: 0px 0; - } - 100% { - background-position: 60px 0; - } -} diff --git a/themes/striped/modules/progress.variables b/themes/striped/modules/progress.variables deleted file mode 100644 index cdba171baf..0000000000 --- a/themes/striped/modules/progress.variables +++ /dev/null @@ -1,3 +0,0 @@ -/******************************* - Progress -*******************************/ diff --git a/themes/timeline/views/feed.overrides b/themes/timeline/views/feed.overrides deleted file mode 100644 index 55acd7c1e3..0000000000 --- a/themes/timeline/views/feed.overrides +++ /dev/null @@ -1,35 +0,0 @@ -/******************************* - User Variable Overrides -*******************************/ - -.ui.feed > .event .label { - border-left: 3px solid #DDDDDD; -} -.ui.feed > .event:last-child .label { - border-left-color: transparent; -} - -.ui.feed > .event > .label > img, -.ui.feed > .event > .label > .icon { - background-color: #009FDA; - border-radius: 500rem; - color: #FFFFFF; - width: 3rem; - height: 3rem; - line-height: 1.5; - left: -1.6rem; - opacity: 1; - position: relative; -} - -.ui.feed > .event > .content { - display: block; - border-left: 3px solid #ddd; - padding-bottom: 2em; - padding-left: 4em; -} -.ui.feed > .event > .label + .content { - display: table-cell; - border-left: medium none; - margin-left: 0; -} \ No newline at end of file diff --git a/themes/timeline/views/feed.variables b/themes/timeline/views/feed.variables deleted file mode 100644 index 8052083a0a..0000000000 --- a/themes/timeline/views/feed.variables +++ /dev/null @@ -1,40 +0,0 @@ -/******************************* - Feed -*******************************/ - -/*------------------- - Elements ---------------------*/ - -@eventMargin: 0em 0em 0em 2em; -@eventDivider: none; -@eventPadding: 0em; - -/* Event Label */ -@labelWidth: 3em; -@labelHeight: 3em; - -@labeledContentPadding: 0.75em 0em 2em 0.75em; - -/* Icon */ -@iconLabelBackground: @primaryColor; -@iconLabelBorderRadius: @circularRadius; -@iconLabelColor: @white; - -/* Metadata Group */ -@metadataDisplay: inline-block; -@metadataMargin: 1em 0em 0em; -@metadataBackground: @white @subtleGradient; -@metadataBorder: 1px solid @solidBorderColor; -@metadataBorderRadius: 0.25em; -@metadataBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.05); -@metadataPadding: 0.5em 1em; -@metadataColor: rgba(0, 0, 0, 0.6); - -/*------------------- - Variations ---------------------*/ - -/* Size */ -@small: 0.9em; -@medium: 1em; \ No newline at end of file