mirror of
https://github.com/github/choosealicense.com
synced 2024-12-21 12:20:10 +01:00
Merge branch 'gh-pages' into patch-1
This commit is contained in:
commit
badc0d8b32
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -4,8 +4,7 @@
|
||||
/.bundle
|
||||
assets/vendor/clipboard/src
|
||||
assets/vendor/clipboard/test
|
||||
assets/vendor/selectivizr/tests
|
||||
assets/vendor/qtip2/basic
|
||||
assets/vendor/hint.css/src
|
||||
/vendor
|
||||
/.sass-cache
|
||||
.ruby-version
|
||||
|
@ -16,12 +16,12 @@ get. But first, please make sure you understand what
|
||||
|
||||
Choosealicense.com is intended to demystify license choices, not present or catalog all of them. As such, only a small number are highlighted on the home page or <https://choosealicense.com/licenses>, and there are several requirements for a license to be [cataloged](https://choosealicense.com/appendix/) on the site:
|
||||
|
||||
1. The license must have [an SPDX identifier](https://spdx.org/licenses/). If your license isn't registered with SPDX, please [request that it be added](https://spdx.org/spdx-license-list/request-new-license).
|
||||
1. The license must have [an SPDX identifier](https://spdx.org/licenses/). If your license isn't registered with SPDX, please [request that it be added](https://github.com/spdx/license-list-XML/blob/main/CONTRIBUTING.md).
|
||||
2. The license must be listed on one of the following approved lists of licenses:
|
||||
* [List of OSI approved licenses](https://opensource.org/licenses/alphabetical)
|
||||
* [GNU's list of free licenses](https://www.gnu.org/licenses/license-list.en.html) (*note: the license must be listed in one of the three "free" categories*)
|
||||
* [Open Definition's list of conformant licenses](https://opendefinition.org/licenses/) (non-code)
|
||||
3. The license must be used in at least *1,000* public repositories. This may be documented, for example, with a [GitHub code search](https://github.com/search?q=MIT+filename%3ALICENSE&type=Code).
|
||||
3. The license must be used in at least *1,000* public repositories. This may be documented, for example, with a [GitHub code search](https://github.com/search?q=MIT+path%3ALICENSE&type=Code).
|
||||
4. 3 notable projects using the license must be identified. These must have straightforward LICENSE files which serve as examples newcomers can follow and that could be detected by [licensee](https://github.com/licensee/licensee) if it knew about the license.
|
||||
|
||||
If your proposed license meets the above criteria, here's a few other things to keep in mind as you propose the license's addition:
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2013-2022 GitHub, Inc. and contributors
|
||||
Copyright (c) 2013-2023 GitHub, Inc. and contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -16,7 +16,7 @@ We catalog [select](CONTRIBUTING.md#adding-a-license) open source licenses with
|
||||
|
||||
### Managing Dependencies
|
||||
|
||||
It may be the case that your system doesn't have the required dependencies. You will need `cmake` and `make` installed on your computer.
|
||||
It may be the case that your system doesn't have the required dependencies. You will need `cmake` and `make` installed on your computer.
|
||||
|
||||
For MacOS, use Homebrew to update your dependencies (install Homebrew from <https://brew.sh/>):
|
||||
```bash
|
||||
@ -29,10 +29,8 @@ sudo apt-get install make cmake
|
||||
|
||||
### Installing and Running the tool
|
||||
|
||||
Note that the third command (`./script/bootstrap`) may require you to use `sudo` access for installation. Add `sudo` right before the third command, if need be, but don't use root access.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/github/choosealicense.com.git
|
||||
git clone https://github.com/github/choosealicense.com.git --recursive
|
||||
cd choosealicense.com
|
||||
./script/bootstrap
|
||||
./script/server
|
||||
@ -40,6 +38,8 @@ cd choosealicense.com
|
||||
|
||||
Open `http://localhost:4000` in your favorite browser.
|
||||
|
||||
If you encounter any issues with the above steps, please refer to the official [Jekyll](https://jekyllrb.com/docs/) documentation and this [guide on running Jekyll as a non-superuser](https://jekyllrb.com/docs/troubleshooting/#no-sudo) for more detailed installation instructions.
|
||||
|
||||
## Adding a license
|
||||
|
||||
For information on adding a license, see [the CONTRIBUTING file](https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md#adding-a-license).
|
||||
|
@ -46,6 +46,10 @@
|
||||
.license-body {
|
||||
width: calc(100% - 250px);
|
||||
}
|
||||
|
||||
.hint--large::after{
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
/* iPads (portrait) ----------- */
|
||||
@ -162,6 +166,10 @@
|
||||
.license-rules:not(.license-rules-sidebar) .license-limitations span {
|
||||
background-position: -14px 0;
|
||||
}
|
||||
|
||||
.hint--large::after{
|
||||
width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Smartphones (portrait) ----------- */
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
{% if page.collection == "licenses" or page.class == "license-types" %}
|
||||
<script src="{{ 'assets/vendor/jquery/jquery.min.js' | relative_url }}"></script>
|
||||
<script src="{{ 'assets/vendor/qtip2/jquery.qtip.min.js' | relative_url }}"></script>
|
||||
<script src="{{ 'assets/vendor/clipboard/dist/clipboard.min.js' | relative_url }}"></script>
|
||||
<script>
|
||||
window.annotations = {{ site.data.rules | jsonify }};
|
||||
|
@ -2,15 +2,10 @@
|
||||
<html lang="en">
|
||||
<head itemscope itemtype="http://schema.org/WebSite">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Chivo:900">
|
||||
<link rel="stylesheet" href="{{ 'assets/css/application.css' | relative_url }}?v={{ site.github.build_revision }}">
|
||||
<link rel="shortcut icon" href="{{ 'favicon.ico' | relative_url }}" type="image/x-icon">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/assets/vendor/html5shiv/dist/html5shiv.js"></script>
|
||||
<script src="/assets/vendor/selectivizr/selectivizr.js"></script>
|
||||
<![endif]-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
|
||||
{% seo %}
|
||||
|
84
_licenses/blueoak-1.0.0.txt
Normal file
84
_licenses/blueoak-1.0.0.txt
Normal file
@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Blue Oak Model License 1.0.0
|
||||
spdx-id: BlueOak-1.0.0
|
||||
|
||||
description: A permissive license whose main conditions require providing notice of the license. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
|
||||
|
||||
how: Create a text file (typically named LICENSE.md) in the root of your source code and copy the text of the license into the file.
|
||||
|
||||
using:
|
||||
drone-gc: https://github.com/drone/drone-gc/blob/master/LICENSE.md
|
||||
oh-my-git: https://github.com/git-learning-game/oh-my-git/blob/main/LICENSE.md
|
||||
punct: https://github.com/otherjoel/punct/blob/main/LICENSE.md
|
||||
|
||||
permissions:
|
||||
- commercial-use
|
||||
- modifications
|
||||
- distribution
|
||||
- patent-use
|
||||
- private-use
|
||||
|
||||
conditions:
|
||||
- include-copyright
|
||||
|
||||
limitations:
|
||||
- liability
|
||||
- warranty
|
||||
|
||||
---
|
||||
|
||||
# Blue Oak Model License
|
||||
|
||||
Version 1.0.0
|
||||
|
||||
## Purpose
|
||||
|
||||
This license gives everyone as much permission to work with
|
||||
this software as possible, while protecting contributors
|
||||
from liability.
|
||||
|
||||
## Acceptance
|
||||
|
||||
In order to receive this license, you must agree to its
|
||||
rules. The rules of this license are both obligations
|
||||
under that agreement and conditions to your license.
|
||||
You must not do anything with this software that triggers
|
||||
a rule that you cannot or will not follow.
|
||||
|
||||
## Copyright
|
||||
|
||||
Each contributor licenses you to do everything with this
|
||||
software that would otherwise infringe that contributor's
|
||||
copyright in it.
|
||||
|
||||
## Notices
|
||||
|
||||
You must ensure that everyone who gets a copy of
|
||||
any part of this software from you, with or without
|
||||
changes, also gets the text of this license or a link to
|
||||
<https://blueoakcouncil.org/license/1.0.0>.
|
||||
|
||||
## Excuse
|
||||
|
||||
If anyone notifies you in writing that you have not
|
||||
complied with [Notices](#notices), you can keep your
|
||||
license by taking all practical steps to comply within 30
|
||||
days after the notice. If you do not do so, your license
|
||||
ends immediately.
|
||||
|
||||
## Patent
|
||||
|
||||
Each contributor licenses you to do everything with this
|
||||
software that would otherwise infringe any patent claims
|
||||
they can license or become able to license.
|
||||
|
||||
## Reliability
|
||||
|
||||
No contributor can revoke this license.
|
||||
|
||||
## No Liability
|
||||
|
||||
***As far as the law allows, this software comes as is,
|
||||
without any warranty or condition, and no contributor
|
||||
will be liable to anyone for any damages related to this
|
||||
software or this license, under any kind of legal claim.***
|
@ -2,7 +2,7 @@
|
||||
title: Creative Commons Attribution Share Alike 4.0 International
|
||||
spdx-id: CC-BY-SA-4.0
|
||||
|
||||
description: Similar to <a href='/licenses/cc-by-4.0/'>CC-BY-4.0</a> but requires derivatives be distributed under the same or a similar, <a href="https://creativecommons.org/compatiblelicenses/">compatible</a> license. Frequently used for media assets and educational materials. A previous version is the default license for Wikipedia and other Wikimedia projects. Not recommended for software.
|
||||
description: Similar to <a href='/licenses/cc-by-4.0/'>CC-BY-4.0</a> but requires derivatives be distributed under the same or a similar, <a href="https://creativecommons.org/compatiblelicenses">compatible</a> license. Frequently used for media assets and educational materials. A previous version is the default license for Wikipedia and other Wikimedia projects. Not recommended for software.
|
||||
|
||||
how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. It is also acceptable to solely supply a link to a copy of the license, usually to the <a href='https://creativecommons.org/licenses/by-sa/4.0/'>canonical URL for the license</a>.
|
||||
|
||||
|
@ -7,7 +7,7 @@ description: This commercially-friendly copyleft license provides the ability to
|
||||
how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file.
|
||||
|
||||
using:
|
||||
Eclipse hawkBit: https://github.com/eclipse/hawkbit/blob/master/LICENSE
|
||||
ClojureScript: https://github.com/clojure/clojurescript/blob/master/LICENSE
|
||||
JUnit: https://github.com/junit-team/junit4/blob/main/LICENSE-junit.txt
|
||||
Quil: https://github.com/quil/quil/blob/master/LICENSE
|
||||
|
||||
|
@ -9,9 +9,9 @@ description: This commercially-friendly copyleft license provides the ability to
|
||||
how: Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file.
|
||||
|
||||
using:
|
||||
Eclipse SmartHome: https://github.com/eclipse/smarthome/blob/master/LICENSE
|
||||
openHAB: https://github.com/openhab/openhab-distro/blob/master/LICENSE
|
||||
SUMO: https://github.com/eclipse/sumo/blob/master/LICENSE
|
||||
hawkBit: https://github.com/eclipse/hawkbit/blob/master/LICENSE
|
||||
openHAB: https://github.com/openhab/openhab-distro/blob/main/LICENSE
|
||||
SUMO: https://github.com/eclipse-sumo/sumo/blob/main/LICENSE
|
||||
|
||||
permissions:
|
||||
- commercial-use
|
||||
|
@ -14,7 +14,7 @@ note: The Free Software Foundation recommends taking the additional step of addi
|
||||
using:
|
||||
AliSQL: https://github.com/alibaba/AliSQL/blob/master/COPYING
|
||||
Discourse: https://github.com/discourse/discourse/blob/master/LICENSE.txt
|
||||
Joomla!: https://github.com/joomla/joomla-cms/blob/staging/LICENSE.txt
|
||||
Jellyfin: https://github.com/jellyfin/jellyfin/blob/master/LICENSE
|
||||
|
||||
permissions:
|
||||
- commercial-use
|
||||
|
@ -2,15 +2,15 @@
|
||||
title: Universal Permissive License v1.0
|
||||
spdx-id: UPL-1.0
|
||||
|
||||
description: A permissive, OSI and FSF approved, GPL compatible license, expressly allowing attribution with just a copyright notice and a short form link rather than the full text of the license. Includes an express grant of patent rights. Licensed works and modifications may be distributed under different terms and without source code, and the patent grant may also optionally be expanded to larger works to permit use as a contributor license agreement.
|
||||
description: A permissive, OSI- and FSF-approved, GPL-compatible license, expressly allowing attribution with just a copyright notice and a short form link rather than the full text of the license. Includes an express grant of patent rights. Licensed works and modifications may be distributed under different terms and without source code, and the patent grant may also optionally be expanded to larger works to permit use as a contributor license agreement.
|
||||
|
||||
how: Insert the license or a link to it along with a copyright notice into your source file(s), and/or create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file, replacing [year] with the current year and [fullname] with the name (or names) of the copyright holders.
|
||||
|
||||
note: It is recommended to add a link to the license and copyright notice at the top of each source file, example text can be found at https://oss.oracle.com/licenses/upl/.
|
||||
|
||||
using:
|
||||
graaljs: https://github.com/oracle/graaljs/blob/master/LICENSE
|
||||
Roc: https://github.com/roc-lang/roc/blob/main/LICENSE
|
||||
Skater: https://github.com/oracle/skater/blob/main/LICENSE.txt
|
||||
Soufflé: https://github.com/souffle-lang/souffle/blob/master/LICENSE
|
||||
|
||||
permissions:
|
||||
|
@ -47,7 +47,7 @@ If you're here to choose a license, **[start from the home page](/)** to see a f
|
||||
{% else %}
|
||||
{% assign lite = "" %}
|
||||
{% endif %}
|
||||
<span class="{{ r | append: lite }}">
|
||||
<span class="{{ r | append: lite }}" style="margin: auto;">
|
||||
<span class="license-sprite {{ r }}"></span>
|
||||
</span>
|
||||
</td>
|
||||
|
@ -2,7 +2,7 @@
|
||||
---
|
||||
|
||||
@import "../vendor/normalize-css/normalize.css";
|
||||
@import "../vendor/qtip2/jquery.qtip.min.css";
|
||||
@import "../vendor/hint.css/hint.min.css";
|
||||
|
||||
body {
|
||||
background: #fafafa;
|
||||
@ -15,36 +15,36 @@ body {
|
||||
background: #212121;
|
||||
color: #d0c8c1;
|
||||
}
|
||||
|
||||
|
||||
h1, h2, h3, h5 {
|
||||
color: #dadada !important;
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
color: #ccc !important;
|
||||
|
||||
.license-overview-description, .site-footer {
|
||||
color: #ccc !important;
|
||||
}
|
||||
|
||||
.site-footer a {
|
||||
color: #ddd !important;
|
||||
|
||||
.license-rules li:hover, .site-footer a {
|
||||
color: #ddd !important;
|
||||
}
|
||||
|
||||
|
||||
.home h2 {
|
||||
color: #c7cdce !important;
|
||||
}
|
||||
|
||||
|
||||
.license-body pre {
|
||||
background-color: #131313 !important;
|
||||
border: 1px solid #3e3e3e !important;
|
||||
}
|
||||
|
||||
|
||||
.note {
|
||||
color: #9fa5a6 !important;
|
||||
}
|
||||
|
||||
|
||||
strong {
|
||||
color: #bdbdbd !important;
|
||||
}
|
||||
|
||||
|
||||
button, input, optgroup, select, textarea {
|
||||
color: black !important;
|
||||
}
|
||||
@ -461,54 +461,50 @@ strong {
|
||||
}
|
||||
|
||||
|
||||
/* Qtip styles */
|
||||
|
||||
.qtip-conditions,
|
||||
.qtip-permissions,
|
||||
.qtip-limitations,
|
||||
.qtip-fetching,
|
||||
.qtip-error {
|
||||
font-size: 0.75rem;
|
||||
line-height: 1.3;
|
||||
/* Hint.css Overide */
|
||||
.orverride-hint-inline {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.qtip-conditions {
|
||||
// Selecting all the tooltip bodies to increase their font-size
|
||||
[class*="hint--"][aria-label]:after {
|
||||
font-size: 0.80rem;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
// Tooltips
|
||||
.tooltip--permissions.hint--bottom:before{
|
||||
border-bottom-color: #298625;
|
||||
}
|
||||
|
||||
.tooltip--conditions.hint--bottom:before{
|
||||
border-bottom-color: #0d648a;
|
||||
}
|
||||
|
||||
.tooltip--error.hint--bottom:before,
|
||||
.tooltip--limitations.hint--bottom:before{
|
||||
border-bottom-color: #812a28;
|
||||
}
|
||||
|
||||
.tooltip--permissions:after{
|
||||
background-color: #d8f4d7;
|
||||
color: #298625;
|
||||
border-color: #3dc637;
|
||||
}
|
||||
|
||||
.tooltip--conditions:after{
|
||||
background-color: #d0ebf6;
|
||||
border-color: #149ad4;
|
||||
color: #0d648a;
|
||||
}
|
||||
|
||||
.qtip-conditions .qtip-titlebar {
|
||||
background-color: #149ad4;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.qtip-fetching,
|
||||
.qtip-permissions {
|
||||
background-color: #d8f4d7;
|
||||
border-color: #3dc637;
|
||||
color: #298625;
|
||||
}
|
||||
|
||||
.qtip-fetching .qtip-titlebar,
|
||||
.qtip-permissions .qtip-titlebar {
|
||||
background-color: #3dc637;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.qtip-error,
|
||||
.qtip-limitations {
|
||||
.tooltip--error:after,
|
||||
.tooltip--limitations:after{
|
||||
background-color: #f4d9d8;
|
||||
border-color: #c6403d;
|
||||
color: #812a28;
|
||||
}
|
||||
|
||||
.qtip-error .qtip-titlebar,
|
||||
.qtip-limitations .qtip-titlebar {
|
||||
background-color: #c6403d;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* For modern browsers */
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
|
@ -16,16 +16,17 @@ class Choosealicense
|
||||
selection.removeAllRanges()
|
||||
selection.addRange(range)
|
||||
|
||||
# Qtip position attributes for tooltips
|
||||
qtip_position:
|
||||
my: "top center"
|
||||
at: "bottom center"
|
||||
tooltipAttributesMapperByRuleType:
|
||||
permissions:
|
||||
heading: 'Permission'
|
||||
color: 'tooltip--permissions'
|
||||
conditions:
|
||||
heading: 'Condition'
|
||||
color: 'tooltip--conditions'
|
||||
limitations:
|
||||
heading: 'Limitation'
|
||||
color: 'tooltip--limitations'
|
||||
|
||||
# Annotation rule types as defined in `_config.yml`
|
||||
ruletypes:
|
||||
permissions: "Permission"
|
||||
conditions: "Condition"
|
||||
limitations: "Limitation"
|
||||
|
||||
# fire on document.ready
|
||||
constructor: ->
|
||||
@ -39,20 +40,14 @@ class Choosealicense
|
||||
# Dynamically add annotations as title attribute to rule list items
|
||||
for ruletype, rules of window.annotations
|
||||
for rule in rules
|
||||
$(".license-#{ruletype} .#{rule["tag"]}").attr "title", rule["description"]
|
||||
|
||||
# Init tooltips on all rule list items
|
||||
for ruletype, label of @ruletypes
|
||||
$(".license-#{ruletype} li, .license-#{ruletype} .license-sprite").qtip
|
||||
content:
|
||||
text: false
|
||||
title:
|
||||
text: label
|
||||
position: @qtip_position
|
||||
style:
|
||||
classes: "qtip-shadow qtip-#{ruletype}"
|
||||
|
||||
false
|
||||
licenseLiElement = $(".license-#{ruletype} .#{rule["tag"]}")
|
||||
tooltipAttr = @tooltipAttributesMapperByRuleType[ruletype]
|
||||
licenseLiElement.attr "aria-label", "#{tooltipAttr.heading}: #{rule.description}"
|
||||
licenseLiElement.addClass("hint--bottom
|
||||
hint--large
|
||||
hint--no-animate
|
||||
#{tooltipAttr.color}
|
||||
orverride-hint-inline")
|
||||
|
||||
# Initializes Clipboard.js
|
||||
initClipboard: ->
|
||||
@ -81,23 +76,10 @@ class Choosealicense
|
||||
|
||||
class LicenseSuggestion
|
||||
constructor: (@inputEl, @licenseId, @statusIndicator) ->
|
||||
@setupTooltips()
|
||||
@bindEventHandlers()
|
||||
|
||||
# Initializes tooltips on the input element
|
||||
setupTooltips: =>
|
||||
@inputEl.qtip
|
||||
content:
|
||||
text: false
|
||||
title:
|
||||
text: "message"
|
||||
show: false
|
||||
hide: false
|
||||
position:
|
||||
my: "top center"
|
||||
at: "bottom center"
|
||||
style:
|
||||
classes: "qtip-shadow"
|
||||
inputWraper: $('.input-wrapper')
|
||||
tooltipErrorClasses: 'hint--bottom tooltip--error hint--always'
|
||||
|
||||
# Main event handlers for user input
|
||||
bindEventHandlers: =>
|
||||
@ -141,22 +123,19 @@ class LicenseSuggestion
|
||||
# Displays an indicator and tooltips to the user about the current status
|
||||
setStatus: (status="", message="") =>
|
||||
statusClass = status.toLowerCase()
|
||||
displayQtip = (status, message) =>
|
||||
@inputEl.qtip("api")
|
||||
.set("content.text", message)
|
||||
.set("content.title", status)
|
||||
.set("style.classes", "qtip-shadow qtip-#{statusClass}")
|
||||
.show()
|
||||
displayTooltip = (status, message) =>
|
||||
@inputWraper.attr('aria-label', "#{status}: #{message}")
|
||||
@inputWraper.addClass(@tooltipErrorClasses)
|
||||
|
||||
switch status
|
||||
when "Fetching"
|
||||
@statusIndicator.removeClass('error').addClass(statusClass)
|
||||
@statusIndicator.removeClass("error #{@tooltipErrorClasses}").addClass(statusClass)
|
||||
when "Error"
|
||||
@statusIndicator.removeClass('fetching').addClass(statusClass)
|
||||
displayQtip status, message
|
||||
displayTooltip status, message
|
||||
else
|
||||
@inputEl.qtip("api").hide()
|
||||
@statusIndicator.removeClass('fetching error')
|
||||
@inputWraper.removeClass(@tooltipErrorClasses)
|
||||
|
||||
# Fetches information about a repository from the Github API
|
||||
fetchInfoFromGithubAPI: (repositoryFullName, callback) ->
|
||||
@ -172,10 +151,9 @@ class LicenseSuggestion
|
||||
repositoryLicense: (repositoryFullName, license) ->
|
||||
foundLicense = window.licenses.find (lic) -> lic.spdx_id == license.spdx_id
|
||||
if foundLicense # Links the license to its page on this site
|
||||
"The repository <b> #{repositoryFullName}</b> is already licensed under the
|
||||
<a href='/licenses/#{foundLicense.spdx_id.toLowerCase()}'><b>#{foundLicense.title}</b></a>."
|
||||
"The repository #{repositoryFullName} is already licensed under the #{foundLicense.title}."
|
||||
else
|
||||
"The repository <b> #{repositoryFullName}</b> is already licensed."
|
||||
"The repository #{repositoryFullName} is already licensed."
|
||||
|
||||
$ ->
|
||||
new Choosealicense()
|
||||
|
27
assets/vendor/hint.css/.bower.json
vendored
Normal file
27
assets/vendor/hint.css/.bower.json
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "hint.css",
|
||||
"main": "hint.min.css",
|
||||
"author": "Kushagra Gour",
|
||||
"ignore": [
|
||||
"CONTRIBUTING.md",
|
||||
"Gruntfile.js"
|
||||
],
|
||||
"keywords": [
|
||||
"hint",
|
||||
"tooltip",
|
||||
"tooltips",
|
||||
"ui"
|
||||
],
|
||||
"homepage": "https://github.com/chinchang/hint.css",
|
||||
"version": "2.7.0",
|
||||
"_release": "2.7.0",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v2.7.0",
|
||||
"commit": "9fa90f8c94a23c61307b70ae5146a34f1d88ae46"
|
||||
},
|
||||
"_source": "https://github.com/chinchang/hint.css.git",
|
||||
"_target": "^2.7.0",
|
||||
"_originalSource": "hint.css",
|
||||
"_direct": true
|
||||
}
|
10
assets/vendor/hint.css/.editorconfig
vendored
Normal file
10
assets/vendor/hint.css/.editorconfig
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
4
assets/vendor/hint.css/.github/FUNDING.yml
vendored
Normal file
4
assets/vendor/hint.css/.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
patreon: kushagra
|
||||
custom: https://paypal.me/kushagragour
|
5
assets/vendor/hint.css/.gitignore
vendored
Normal file
5
assets/vendor/hint.css/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
.sass-cache
|
||||
node_modules/
|
||||
hint.sublime-project
|
||||
hint.sublime-workspace
|
||||
*.map
|
4
assets/vendor/hint.css/.prettierignore
vendored
Normal file
4
assets/vendor/hint.css/.prettierignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
hint.css
|
||||
hint.min.css
|
||||
hint.base.css
|
||||
hint.base.min.css
|
21
assets/vendor/hint.css/LICENSE
vendored
Normal file
21
assets/vendor/hint.css/LICENSE
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Kushagra Gour
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
123
assets/vendor/hint.css/README.md
vendored
Normal file
123
assets/vendor/hint.css/README.md
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
# Hint.css [![npm version](https://badge.fury.io/js/hint.css.svg)](https://badge.fury.io/js/hint.css) ![downloads/month](https://img.shields.io/npm/dm/hint.css.svg) [![Join the chat at https://gitter.im/chinchang/hint.css](https://badges.gitter.im/chinchang/hint.css.svg)](https://gitter.im/chinchang/hint.css?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ![gzip size](http://img.badgesize.io/https://unpkg.com/hint.css/hint.min.css?compression=gzip&label=gzip%20size)
|
||||
*A tooltip library in CSS for your lovely websites*
|
||||
|
||||
[Demo](https://kushagra.dev/lab/hint/) • [Get started](#get-started) • [Who's using this?](#whos-using-this) • [Browser support](#browser-support) • [FAQs](#faqs) • [Contributing](#contributing) • [License](#license)
|
||||
|
||||
`hint.css` is written as a pure CSS resource using which you can create cool accessible tooltips for your web app. It does not rely on JavaScript but rather uses **aria-label**/**data-* attribute**, **pseudo elements**, **content property** and **CSS3 transitions** to create the tooltips. Also it uses **BEM** naming convention particularly for the modifiers.
|
||||
|
||||
|
||||
|
||||
## Get Started
|
||||
|
||||
Get the library using one of the following ways:
|
||||
|
||||
1. **GitHub**
|
||||
|
||||
Full build
|
||||
- [unminified] : https://raw.github.com/chinchang/hint.css/master/hint.css
|
||||
- [minified] : https://raw.github.com/chinchang/hint.css/master/hint.min.css
|
||||
|
||||
Base build *(Does not include color themes and fancy effects)*
|
||||
- [unminified] : https://raw.github.com/chinchang/hint.css/master/hint.base.css
|
||||
- [minified] : https://raw.github.com/chinchang/hint.css/master/hint.base.min.css
|
||||
|
||||
2. **Bower** : `bower install hint.css`
|
||||
|
||||
3. **npm**: `npm install --save hint.css`
|
||||
|
||||
4. **CDN**: [https://www.jsdelivr.com/package/npm/hint.css](https://www.jsdelivr.com/package/npm/hint.css) or [https://cdnjs.com/libraries/hint.css](https://cdnjs.com/libraries/hint.css)
|
||||
|
||||
Now include the library in the ``HEAD`` tag of your page:
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="hint.css" />
|
||||
```
|
||||
or
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="hint.min.css" />
|
||||
```
|
||||
|
||||
Now, all you need to do is give your element any position class and tooltip text using the `aria-label` attribute.
|
||||
Note, if you don't want to use `aria-label` attribute, you can also specify the tooltip text using the `data-hint` attribute, but its recommended to use `aria-label` in support of accessibility. [Read more about aria-label](https://webaccessibility.withgoogle.com/unit?unit=6&lesson=10).
|
||||
|
||||
|
||||
```html
|
||||
Hello Sir, <span class="hint--bottom" aria-label="Thank you!">hover me.</span>
|
||||
```
|
||||
|
||||
Use it with other available modifiers in various combinations. Available modifiers:
|
||||
- *Colors* - `hint--error`, `hint--info`, `hint--warning`, `hint--success`
|
||||
- *Sizes* - `hint--small`, `hint--medium`, `hint--large`
|
||||
- `hint--always`
|
||||
- `hint--rounded`
|
||||
- `hint--no-animate`
|
||||
- `hint--bounce`
|
||||
- `hint-no-arrow`
|
||||
|
||||
## Upgrading from v1.x
|
||||
|
||||
If you are already using v1.x, you may need to tweak certain position classes because of the way tooltips are positioned in v2.
|
||||
|
||||
## Changing the prefix for class names
|
||||
|
||||
Don't like BEM naming (`hint--`) or want to use your own prefix for the class names?
|
||||
|
||||
Simply update `src/hint-variables.scss` and change the `$hintPrefix` variable.
|
||||
To generate the css file, please read the [contributing page](./CONTRIBUTING.md).
|
||||
|
||||
## Who's Using This?
|
||||
- [Webflow Playground](http://playground.webflow.com/)
|
||||
- [Panda chrome app](http://usepanda.com/)
|
||||
- [Fiverr](https://www.fiverr.com/)
|
||||
- [Stackshare](http://stackshare.io/)
|
||||
- [Siftery](https://siftery.com/)
|
||||
- [LessPass](https://lesspass.com/#/)
|
||||
- [Tridiv](http://tridiv.com/)
|
||||
- [Alm - TypeScript IDE](http://alm.tools/)
|
||||
- [Prototyp](http://prototyp.in/)
|
||||
- [Tradus](http://tradus.com/)
|
||||
- [Web Maker](https://webmakerapp.com)
|
||||
- [Tolks](https://tolks.io)
|
||||
- [Formspree](http://formspree.io/)
|
||||
- [codeMagic](http://codemagic.gr/)
|
||||
|
||||
Are you using **hint.css** in your awesome project too? Just tweet it out to [@hint_css](https://twitter.com/hint_css) or let us know on the [mailing list](mailto:hintcss@googlegroups.com).
|
||||
|
||||
## Browser Support
|
||||
**hint.css** works on all latest browsers, though the transition effect is supported only on IE10+, Chrome 26+ and FF4+ at present.
|
||||
|
||||
- Chrome - basic + transition effects
|
||||
- Firefox - basic + transition effects
|
||||
- Opera - basic
|
||||
- Safari - basic
|
||||
- IE 10+ - basic + transition effects
|
||||
- IE 8 & 9 - basic
|
||||
|
||||
### FAQs
|
||||
|
||||
Checkout the [FAQ Wiki](https://github.com/chinchang/hint.css/wiki/Frequently-Asked-Questions) for some common gotchas to be aware of while using **hint.css**.
|
||||
|
||||
## Contributing
|
||||
`hint.css` is developed in SASS and the source files can be found in the `src/` directory.
|
||||
|
||||
If you would like to create more types of tooltips/ fix bugs/ enhance the library etc. you are more than welcome to submit your pull requests.
|
||||
|
||||
[Read more on contributing](./CONTRIBUTING.md).
|
||||
|
||||
## Changelog & Updates
|
||||
See the [Changelog](https://github.com/chinchang/hint.css/wiki/Changelog).
|
||||
|
||||
To catch all updates and discussion, join the mailing list: [**hintcss@googlegroups.com**](https://groups.google.com/forum/?fromgroups=#!forum/hintcss).
|
||||
|
||||
Or follow on twitter: [**@hint_css**](https://twitter.com/hint_css)
|
||||
|
||||
## License
|
||||
|
||||
Hint.css is free for personal and commercial use under the MIT License.
|
||||
|
||||
## Credits
|
||||
This doesn't make use of a lot of BEM methodology but big thanks to [@csswizardry](https://twitter.com/csswizardry), [@necolas](https://twitter.com/necolas) for their awesome articles on BEM and to [@joshnh](https://twitter.com/_joshnh) through whose work I came to know about it :)
|
||||
|
||||
# Sponsor
|
||||
[![](https://user-images.githubusercontent.com/379918/134402085-15cf29bc-2266-4b2d-9354-1830adc4a240.png)](https://cssbattle.dev)
|
15
assets/vendor/hint.css/bower.json
vendored
Normal file
15
assets/vendor/hint.css/bower.json
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "hint.css",
|
||||
"main": "hint.min.css",
|
||||
"author": "Kushagra Gour",
|
||||
"ignore": [
|
||||
"CONTRIBUTING.md",
|
||||
"Gruntfile.js"
|
||||
],
|
||||
"keywords": [
|
||||
"hint",
|
||||
"tooltip",
|
||||
"tooltips",
|
||||
"ui"
|
||||
]
|
||||
}
|
13
assets/vendor/hint.css/component.json
vendored
Normal file
13
assets/vendor/hint.css/component.json
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "hint.css",
|
||||
"repo": "chinchang/hint.css",
|
||||
"description": "A tooltip library in CSS for your lovely websites.",
|
||||
"version": "2.6.0",
|
||||
"keywords": ["tooltip", "css"],
|
||||
"dependencies": {},
|
||||
"development": {},
|
||||
"styles": [
|
||||
"hint.min.css"
|
||||
]
|
||||
}
|
||||
|
466
assets/vendor/hint.css/hint.base.css
vendored
Normal file
466
assets/vendor/hint.css/hint.base.css
vendored
Normal file
@ -0,0 +1,466 @@
|
||||
/*! Hint.css (base version) - v2.7.0 - 2021-10-01
|
||||
* https://kushagra.dev/lab/hint/
|
||||
* Copyright (c) 2021 Kushagra Gour */
|
||||
|
||||
/*-------------------------------------*\
|
||||
HINT.css - A CSS tooltip library
|
||||
\*-------------------------------------*/
|
||||
/**
|
||||
* HINT.css is a tooltip library made in pure CSS.
|
||||
*
|
||||
* Source: https://github.com/chinchang/hint.css
|
||||
* Demo: http://kushagragour.in/lab/hint/
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* source: hint-core.scss
|
||||
*
|
||||
* Defines the basic styling for the tooltip.
|
||||
* Each tooltip is made of 2 parts:
|
||||
* 1) body (:after)
|
||||
* 2) arrow (:before)
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint
|
||||
*/
|
||||
[class*="hint--"] {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
/**
|
||||
* tooltip arrow
|
||||
*/
|
||||
/**
|
||||
* tooltip body
|
||||
*/ }
|
||||
[class*="hint--"]:before, [class*="hint--"]:after {
|
||||
position: absolute;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
z-index: 1000000;
|
||||
pointer-events: none;
|
||||
-webkit-transition: 0.3s ease;
|
||||
-moz-transition: 0.3s ease;
|
||||
transition: 0.3s ease;
|
||||
-webkit-transition-delay: 0ms;
|
||||
-moz-transition-delay: 0ms;
|
||||
transition-delay: 0ms; }
|
||||
[class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
|
||||
visibility: visible;
|
||||
opacity: 1; }
|
||||
[class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
|
||||
-webkit-transition-delay: 100ms;
|
||||
-moz-transition-delay: 100ms;
|
||||
transition-delay: 100ms; }
|
||||
[class*="hint--"]:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
border: 6px solid transparent;
|
||||
z-index: 1000001; }
|
||||
[class*="hint--"]:after {
|
||||
background: #383838;
|
||||
color: white;
|
||||
padding: 8px 10px;
|
||||
font-size: 12px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
line-height: 12px;
|
||||
white-space: nowrap; }
|
||||
[class*="hint--"][aria-label]:after {
|
||||
content: attr(aria-label); }
|
||||
[class*="hint--"][data-hint]:after {
|
||||
content: attr(data-hint); }
|
||||
|
||||
[aria-label='']:before, [aria-label='']:after,
|
||||
[data-hint='']:before,
|
||||
[data-hint='']:after {
|
||||
display: none !important; }
|
||||
|
||||
/**
|
||||
* source: hint-position.scss
|
||||
*
|
||||
* Defines the positoning logic for the tooltips.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--top
|
||||
* 2) hint--bottom
|
||||
* 3) hint--left
|
||||
* 4) hint--right
|
||||
*/
|
||||
/**
|
||||
* set default color for tooltip arrows
|
||||
*/
|
||||
.hint--top-left:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--top-right:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--top:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--bottom-left:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--bottom-right:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--bottom:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--left:before {
|
||||
border-left-color: #383838; }
|
||||
|
||||
.hint--right:before {
|
||||
border-right-color: #383838; }
|
||||
|
||||
/**
|
||||
* top tooltip
|
||||
*/
|
||||
.hint--top:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top:before, .hint--top:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top:after {
|
||||
-webkit-transform: translateX(-50%);
|
||||
-moz-transform: translateX(-50%);
|
||||
transform: translateX(-50%); }
|
||||
|
||||
.hint--top:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top:hover:after {
|
||||
-webkit-transform: translateX(-50%) translateY(-8px);
|
||||
-moz-transform: translateX(-50%) translateY(-8px);
|
||||
transform: translateX(-50%) translateY(-8px); }
|
||||
|
||||
/**
|
||||
* bottom tooltip
|
||||
*/
|
||||
.hint--bottom:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom:before, .hint--bottom:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom:after {
|
||||
-webkit-transform: translateX(-50%);
|
||||
-moz-transform: translateX(-50%);
|
||||
transform: translateX(-50%); }
|
||||
|
||||
.hint--bottom:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom:hover:after {
|
||||
-webkit-transform: translateX(-50%) translateY(8px);
|
||||
-moz-transform: translateX(-50%) translateY(8px);
|
||||
transform: translateX(-50%) translateY(8px); }
|
||||
|
||||
/**
|
||||
* right tooltip
|
||||
*/
|
||||
.hint--right:before {
|
||||
margin-left: -11px;
|
||||
margin-bottom: -6px; }
|
||||
|
||||
.hint--right:after {
|
||||
margin-bottom: -14px; }
|
||||
|
||||
.hint--right:before, .hint--right:after {
|
||||
left: 100%;
|
||||
bottom: 50%; }
|
||||
|
||||
.hint--right:hover:before {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
.hint--right:hover:after {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
/**
|
||||
* left tooltip
|
||||
*/
|
||||
.hint--left:before {
|
||||
margin-right: -11px;
|
||||
margin-bottom: -6px; }
|
||||
|
||||
.hint--left:after {
|
||||
margin-bottom: -14px; }
|
||||
|
||||
.hint--left:before, .hint--left:after {
|
||||
right: 100%;
|
||||
bottom: 50%; }
|
||||
|
||||
.hint--left:hover:before {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--left:hover:after {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
/**
|
||||
* top-left tooltip
|
||||
*/
|
||||
.hint--top-left:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top-left:before, .hint--top-left:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top-left:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top-left:after {
|
||||
-webkit-transform: translateX(-100%);
|
||||
-moz-transform: translateX(-100%);
|
||||
transform: translateX(-100%); }
|
||||
|
||||
.hint--top-left:after {
|
||||
margin-left: 12px; }
|
||||
|
||||
.hint--top-left:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top-left:hover:after {
|
||||
-webkit-transform: translateX(-100%) translateY(-8px);
|
||||
-moz-transform: translateX(-100%) translateY(-8px);
|
||||
transform: translateX(-100%) translateY(-8px); }
|
||||
|
||||
/**
|
||||
* top-right tooltip
|
||||
*/
|
||||
.hint--top-right:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top-right:before, .hint--top-right:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top-right:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top-right:after {
|
||||
-webkit-transform: translateX(0);
|
||||
-moz-transform: translateX(0);
|
||||
transform: translateX(0); }
|
||||
|
||||
.hint--top-right:after {
|
||||
margin-left: -12px; }
|
||||
|
||||
.hint--top-right:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top-right:hover:after {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
/**
|
||||
* bottom-left tooltip
|
||||
*/
|
||||
.hint--bottom-left:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom-left:before, .hint--bottom-left:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom-left:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom-left:after {
|
||||
-webkit-transform: translateX(-100%);
|
||||
-moz-transform: translateX(-100%);
|
||||
transform: translateX(-100%); }
|
||||
|
||||
.hint--bottom-left:after {
|
||||
margin-left: 12px; }
|
||||
|
||||
.hint--bottom-left:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom-left:hover:after {
|
||||
-webkit-transform: translateX(-100%) translateY(8px);
|
||||
-moz-transform: translateX(-100%) translateY(8px);
|
||||
transform: translateX(-100%) translateY(8px); }
|
||||
|
||||
/**
|
||||
* bottom-right tooltip
|
||||
*/
|
||||
.hint--bottom-right:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom-right:before, .hint--bottom-right:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom-right:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom-right:after {
|
||||
-webkit-transform: translateX(0);
|
||||
-moz-transform: translateX(0);
|
||||
transform: translateX(0); }
|
||||
|
||||
.hint--bottom-right:after {
|
||||
margin-left: -12px; }
|
||||
|
||||
.hint--bottom-right:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom-right:hover:after {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
/**
|
||||
* source: hint-sizes.scss
|
||||
*
|
||||
* Defines width restricted tooltips that can span
|
||||
* across multiple lines.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--small
|
||||
* 2) hint--medium
|
||||
* 3) hint--large
|
||||
*
|
||||
*/
|
||||
.hint--small:after,
|
||||
.hint--medium:after,
|
||||
.hint--large:after {
|
||||
white-space: normal;
|
||||
line-height: 1.4em;
|
||||
word-wrap: break-word; }
|
||||
|
||||
.hint--small:after {
|
||||
width: 80px; }
|
||||
|
||||
.hint--medium:after {
|
||||
width: 150px; }
|
||||
|
||||
.hint--large:after {
|
||||
width: 300px; }
|
||||
|
||||
/**
|
||||
* source: hint-always.scss
|
||||
*
|
||||
* Defines a persisted tooltip which shows always.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--always
|
||||
*
|
||||
*/
|
||||
.hint--always:after, .hint--always:before {
|
||||
opacity: 1;
|
||||
visibility: visible; }
|
||||
|
||||
.hint--always.hint--top:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top:after {
|
||||
-webkit-transform: translateX(-50%) translateY(-8px);
|
||||
-moz-transform: translateX(-50%) translateY(-8px);
|
||||
transform: translateX(-50%) translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-left:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-left:after {
|
||||
-webkit-transform: translateX(-100%) translateY(-8px);
|
||||
-moz-transform: translateX(-100%) translateY(-8px);
|
||||
transform: translateX(-100%) translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-right:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-right:after {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--bottom:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom:after {
|
||||
-webkit-transform: translateX(-50%) translateY(8px);
|
||||
-moz-transform: translateX(-50%) translateY(8px);
|
||||
transform: translateX(-50%) translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-left:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-left:after {
|
||||
-webkit-transform: translateX(-100%) translateY(8px);
|
||||
-moz-transform: translateX(-100%) translateY(8px);
|
||||
transform: translateX(-100%) translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-right:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-right:after {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--left:before {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--always.hint--left:after {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--always.hint--right:before {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
.hint--always.hint--right:after {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
5
assets/vendor/hint.css/hint.base.min.css
vendored
Normal file
5
assets/vendor/hint.css/hint.base.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
655
assets/vendor/hint.css/hint.css
vendored
Normal file
655
assets/vendor/hint.css/hint.css
vendored
Normal file
@ -0,0 +1,655 @@
|
||||
/*! Hint.css - v2.7.0 - 2021-10-01
|
||||
* https://kushagra.dev/lab/hint/
|
||||
* Copyright (c) 2021 Kushagra Gour */
|
||||
|
||||
/*-------------------------------------*\
|
||||
HINT.css - A CSS tooltip library
|
||||
\*-------------------------------------*/
|
||||
/**
|
||||
* HINT.css is a tooltip library made in pure CSS.
|
||||
*
|
||||
* Source: https://github.com/chinchang/hint.css
|
||||
* Demo: http://kushagragour.in/lab/hint/
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* source: hint-core.scss
|
||||
*
|
||||
* Defines the basic styling for the tooltip.
|
||||
* Each tooltip is made of 2 parts:
|
||||
* 1) body (:after)
|
||||
* 2) arrow (:before)
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint
|
||||
*/
|
||||
[class*="hint--"] {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
/**
|
||||
* tooltip arrow
|
||||
*/
|
||||
/**
|
||||
* tooltip body
|
||||
*/ }
|
||||
[class*="hint--"]:before, [class*="hint--"]:after {
|
||||
position: absolute;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
z-index: 1000000;
|
||||
pointer-events: none;
|
||||
-webkit-transition: 0.3s ease;
|
||||
-moz-transition: 0.3s ease;
|
||||
transition: 0.3s ease;
|
||||
-webkit-transition-delay: 0ms;
|
||||
-moz-transition-delay: 0ms;
|
||||
transition-delay: 0ms; }
|
||||
[class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
|
||||
visibility: visible;
|
||||
opacity: 1; }
|
||||
[class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
|
||||
-webkit-transition-delay: 100ms;
|
||||
-moz-transition-delay: 100ms;
|
||||
transition-delay: 100ms; }
|
||||
[class*="hint--"]:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
border: 6px solid transparent;
|
||||
z-index: 1000001; }
|
||||
[class*="hint--"]:after {
|
||||
background: #383838;
|
||||
color: white;
|
||||
padding: 8px 10px;
|
||||
font-size: 12px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
line-height: 12px;
|
||||
white-space: nowrap; }
|
||||
[class*="hint--"][aria-label]:after {
|
||||
content: attr(aria-label); }
|
||||
[class*="hint--"][data-hint]:after {
|
||||
content: attr(data-hint); }
|
||||
|
||||
[aria-label='']:before, [aria-label='']:after,
|
||||
[data-hint='']:before,
|
||||
[data-hint='']:after {
|
||||
display: none !important; }
|
||||
|
||||
/**
|
||||
* source: hint-position.scss
|
||||
*
|
||||
* Defines the positoning logic for the tooltips.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--top
|
||||
* 2) hint--bottom
|
||||
* 3) hint--left
|
||||
* 4) hint--right
|
||||
*/
|
||||
/**
|
||||
* set default color for tooltip arrows
|
||||
*/
|
||||
.hint--top-left:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--top-right:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--top:before {
|
||||
border-top-color: #383838; }
|
||||
|
||||
.hint--bottom-left:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--bottom-right:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--bottom:before {
|
||||
border-bottom-color: #383838; }
|
||||
|
||||
.hint--left:before {
|
||||
border-left-color: #383838; }
|
||||
|
||||
.hint--right:before {
|
||||
border-right-color: #383838; }
|
||||
|
||||
/**
|
||||
* top tooltip
|
||||
*/
|
||||
.hint--top:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top:before, .hint--top:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top:after {
|
||||
-webkit-transform: translateX(-50%);
|
||||
-moz-transform: translateX(-50%);
|
||||
transform: translateX(-50%); }
|
||||
|
||||
.hint--top:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top:hover:after {
|
||||
-webkit-transform: translateX(-50%) translateY(-8px);
|
||||
-moz-transform: translateX(-50%) translateY(-8px);
|
||||
transform: translateX(-50%) translateY(-8px); }
|
||||
|
||||
/**
|
||||
* bottom tooltip
|
||||
*/
|
||||
.hint--bottom:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom:before, .hint--bottom:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom:after {
|
||||
-webkit-transform: translateX(-50%);
|
||||
-moz-transform: translateX(-50%);
|
||||
transform: translateX(-50%); }
|
||||
|
||||
.hint--bottom:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom:hover:after {
|
||||
-webkit-transform: translateX(-50%) translateY(8px);
|
||||
-moz-transform: translateX(-50%) translateY(8px);
|
||||
transform: translateX(-50%) translateY(8px); }
|
||||
|
||||
/**
|
||||
* right tooltip
|
||||
*/
|
||||
.hint--right:before {
|
||||
margin-left: -11px;
|
||||
margin-bottom: -6px; }
|
||||
|
||||
.hint--right:after {
|
||||
margin-bottom: -14px; }
|
||||
|
||||
.hint--right:before, .hint--right:after {
|
||||
left: 100%;
|
||||
bottom: 50%; }
|
||||
|
||||
.hint--right:hover:before {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
.hint--right:hover:after {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
/**
|
||||
* left tooltip
|
||||
*/
|
||||
.hint--left:before {
|
||||
margin-right: -11px;
|
||||
margin-bottom: -6px; }
|
||||
|
||||
.hint--left:after {
|
||||
margin-bottom: -14px; }
|
||||
|
||||
.hint--left:before, .hint--left:after {
|
||||
right: 100%;
|
||||
bottom: 50%; }
|
||||
|
||||
.hint--left:hover:before {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--left:hover:after {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
/**
|
||||
* top-left tooltip
|
||||
*/
|
||||
.hint--top-left:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top-left:before, .hint--top-left:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top-left:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top-left:after {
|
||||
-webkit-transform: translateX(-100%);
|
||||
-moz-transform: translateX(-100%);
|
||||
transform: translateX(-100%); }
|
||||
|
||||
.hint--top-left:after {
|
||||
margin-left: 12px; }
|
||||
|
||||
.hint--top-left:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top-left:hover:after {
|
||||
-webkit-transform: translateX(-100%) translateY(-8px);
|
||||
-moz-transform: translateX(-100%) translateY(-8px);
|
||||
transform: translateX(-100%) translateY(-8px); }
|
||||
|
||||
/**
|
||||
* top-right tooltip
|
||||
*/
|
||||
.hint--top-right:before {
|
||||
margin-bottom: -11px; }
|
||||
|
||||
.hint--top-right:before, .hint--top-right:after {
|
||||
bottom: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--top-right:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--top-right:after {
|
||||
-webkit-transform: translateX(0);
|
||||
-moz-transform: translateX(0);
|
||||
transform: translateX(0); }
|
||||
|
||||
.hint--top-right:after {
|
||||
margin-left: -12px; }
|
||||
|
||||
.hint--top-right:hover:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--top-right:hover:after {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
/**
|
||||
* bottom-left tooltip
|
||||
*/
|
||||
.hint--bottom-left:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom-left:before, .hint--bottom-left:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom-left:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom-left:after {
|
||||
-webkit-transform: translateX(-100%);
|
||||
-moz-transform: translateX(-100%);
|
||||
transform: translateX(-100%); }
|
||||
|
||||
.hint--bottom-left:after {
|
||||
margin-left: 12px; }
|
||||
|
||||
.hint--bottom-left:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom-left:hover:after {
|
||||
-webkit-transform: translateX(-100%) translateY(8px);
|
||||
-moz-transform: translateX(-100%) translateY(8px);
|
||||
transform: translateX(-100%) translateY(8px); }
|
||||
|
||||
/**
|
||||
* bottom-right tooltip
|
||||
*/
|
||||
.hint--bottom-right:before {
|
||||
margin-top: -11px; }
|
||||
|
||||
.hint--bottom-right:before, .hint--bottom-right:after {
|
||||
top: 100%;
|
||||
left: 50%; }
|
||||
|
||||
.hint--bottom-right:before {
|
||||
left: calc(50% - 6px); }
|
||||
|
||||
.hint--bottom-right:after {
|
||||
-webkit-transform: translateX(0);
|
||||
-moz-transform: translateX(0);
|
||||
transform: translateX(0); }
|
||||
|
||||
.hint--bottom-right:after {
|
||||
margin-left: -12px; }
|
||||
|
||||
.hint--bottom-right:hover:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--bottom-right:hover:after {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
/**
|
||||
* source: hint-sizes.scss
|
||||
*
|
||||
* Defines width restricted tooltips that can span
|
||||
* across multiple lines.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--small
|
||||
* 2) hint--medium
|
||||
* 3) hint--large
|
||||
*
|
||||
*/
|
||||
.hint--small:after,
|
||||
.hint--medium:after,
|
||||
.hint--large:after {
|
||||
white-space: normal;
|
||||
line-height: 1.4em;
|
||||
word-wrap: break-word; }
|
||||
|
||||
.hint--small:after {
|
||||
width: 80px; }
|
||||
|
||||
.hint--medium:after {
|
||||
width: 150px; }
|
||||
|
||||
.hint--large:after {
|
||||
width: 300px; }
|
||||
|
||||
/**
|
||||
* source: hint-theme.scss
|
||||
*
|
||||
* Defines basic theme for tooltips.
|
||||
*
|
||||
*/
|
||||
[class*="hint--"] {
|
||||
/**
|
||||
* tooltip body
|
||||
*/ }
|
||||
[class*="hint--"]:after {
|
||||
text-shadow: 0 -1px 0px black;
|
||||
box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3); }
|
||||
|
||||
/**
|
||||
* source: hint-color-types.scss
|
||||
*
|
||||
* Contains tooltips of various types based on color differences.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--error
|
||||
* 2) hint--warning
|
||||
* 3) hint--info
|
||||
* 4) hint--success
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* Error
|
||||
*/
|
||||
.hint--error:after {
|
||||
background-color: #b34e4d;
|
||||
text-shadow: 0 -1px 0px #592726; }
|
||||
|
||||
.hint--error.hint--top-left:before {
|
||||
border-top-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--top-right:before {
|
||||
border-top-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--top:before {
|
||||
border-top-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--bottom-left:before {
|
||||
border-bottom-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--bottom-right:before {
|
||||
border-bottom-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--bottom:before {
|
||||
border-bottom-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--left:before {
|
||||
border-left-color: #b34e4d; }
|
||||
|
||||
.hint--error.hint--right:before {
|
||||
border-right-color: #b34e4d; }
|
||||
|
||||
/**
|
||||
* Warning
|
||||
*/
|
||||
.hint--warning:after {
|
||||
background-color: #c09854;
|
||||
text-shadow: 0 -1px 0px #6c5328; }
|
||||
|
||||
.hint--warning.hint--top-left:before {
|
||||
border-top-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--top-right:before {
|
||||
border-top-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--top:before {
|
||||
border-top-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--bottom-left:before {
|
||||
border-bottom-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--bottom-right:before {
|
||||
border-bottom-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--bottom:before {
|
||||
border-bottom-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--left:before {
|
||||
border-left-color: #c09854; }
|
||||
|
||||
.hint--warning.hint--right:before {
|
||||
border-right-color: #c09854; }
|
||||
|
||||
/**
|
||||
* Info
|
||||
*/
|
||||
.hint--info:after {
|
||||
background-color: #3986ac;
|
||||
text-shadow: 0 -1px 0px #1a3c4d; }
|
||||
|
||||
.hint--info.hint--top-left:before {
|
||||
border-top-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--top-right:before {
|
||||
border-top-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--top:before {
|
||||
border-top-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--bottom-left:before {
|
||||
border-bottom-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--bottom-right:before {
|
||||
border-bottom-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--bottom:before {
|
||||
border-bottom-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--left:before {
|
||||
border-left-color: #3986ac; }
|
||||
|
||||
.hint--info.hint--right:before {
|
||||
border-right-color: #3986ac; }
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
.hint--success:after {
|
||||
background-color: #458746;
|
||||
text-shadow: 0 -1px 0px #1a321a; }
|
||||
|
||||
.hint--success.hint--top-left:before {
|
||||
border-top-color: #458746; }
|
||||
|
||||
.hint--success.hint--top-right:before {
|
||||
border-top-color: #458746; }
|
||||
|
||||
.hint--success.hint--top:before {
|
||||
border-top-color: #458746; }
|
||||
|
||||
.hint--success.hint--bottom-left:before {
|
||||
border-bottom-color: #458746; }
|
||||
|
||||
.hint--success.hint--bottom-right:before {
|
||||
border-bottom-color: #458746; }
|
||||
|
||||
.hint--success.hint--bottom:before {
|
||||
border-bottom-color: #458746; }
|
||||
|
||||
.hint--success.hint--left:before {
|
||||
border-left-color: #458746; }
|
||||
|
||||
.hint--success.hint--right:before {
|
||||
border-right-color: #458746; }
|
||||
|
||||
/**
|
||||
* source: hint-always.scss
|
||||
*
|
||||
* Defines a persisted tooltip which shows always.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--always
|
||||
*
|
||||
*/
|
||||
.hint--always:after, .hint--always:before {
|
||||
opacity: 1;
|
||||
visibility: visible; }
|
||||
|
||||
.hint--always.hint--top:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top:after {
|
||||
-webkit-transform: translateX(-50%) translateY(-8px);
|
||||
-moz-transform: translateX(-50%) translateY(-8px);
|
||||
transform: translateX(-50%) translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-left:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-left:after {
|
||||
-webkit-transform: translateX(-100%) translateY(-8px);
|
||||
-moz-transform: translateX(-100%) translateY(-8px);
|
||||
transform: translateX(-100%) translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-right:before {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--top-right:after {
|
||||
-webkit-transform: translateY(-8px);
|
||||
-moz-transform: translateY(-8px);
|
||||
transform: translateY(-8px); }
|
||||
|
||||
.hint--always.hint--bottom:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom:after {
|
||||
-webkit-transform: translateX(-50%) translateY(8px);
|
||||
-moz-transform: translateX(-50%) translateY(8px);
|
||||
transform: translateX(-50%) translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-left:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-left:after {
|
||||
-webkit-transform: translateX(-100%) translateY(8px);
|
||||
-moz-transform: translateX(-100%) translateY(8px);
|
||||
transform: translateX(-100%) translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-right:before {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--bottom-right:after {
|
||||
-webkit-transform: translateY(8px);
|
||||
-moz-transform: translateY(8px);
|
||||
transform: translateY(8px); }
|
||||
|
||||
.hint--always.hint--left:before {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--always.hint--left:after {
|
||||
-webkit-transform: translateX(-8px);
|
||||
-moz-transform: translateX(-8px);
|
||||
transform: translateX(-8px); }
|
||||
|
||||
.hint--always.hint--right:before {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
.hint--always.hint--right:after {
|
||||
-webkit-transform: translateX(8px);
|
||||
-moz-transform: translateX(8px);
|
||||
transform: translateX(8px); }
|
||||
|
||||
/**
|
||||
* source: hint-rounded.scss
|
||||
*
|
||||
* Defines rounded corner tooltips.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--rounded
|
||||
*
|
||||
*/
|
||||
.hint--rounded:after {
|
||||
border-radius: 4px; }
|
||||
|
||||
/**
|
||||
* source: hint-effects.scss
|
||||
*
|
||||
* Defines various transition effects for the tooltips.
|
||||
*
|
||||
* Classes added:
|
||||
* 1) hint--no-animate
|
||||
* 2) hint--bounce
|
||||
*
|
||||
*/
|
||||
.hint--no-animate:before, .hint--no-animate:after {
|
||||
-webkit-transition-duration: 0ms;
|
||||
-moz-transition-duration: 0ms;
|
||||
transition-duration: 0ms; }
|
||||
|
||||
.hint--bounce:before, .hint--bounce:after {
|
||||
-webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
-moz-transition: opacity 0.3s ease, visibility 0.3s ease, -moz-transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24);
|
||||
transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24); }
|
||||
|
||||
.hint--no-shadow:before, .hint--no-shadow:after {
|
||||
text-shadow: initial;
|
||||
box-shadow: initial; }
|
||||
|
||||
.hint--no-arrow:before {
|
||||
display: none; }
|
5
assets/vendor/hint.css/hint.min.css
vendored
Normal file
5
assets/vendor/hint.css/hint.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4695
assets/vendor/hint.css/package-lock.json
generated
vendored
Normal file
4695
assets/vendor/hint.css/package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
38
assets/vendor/hint.css/package.json
vendored
Normal file
38
assets/vendor/hint.css/package.json
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"name": "hint",
|
||||
"title": "Hint.css",
|
||||
"description": "A tooltip library in CSS for your lovely websites.",
|
||||
"version": "2.7.0",
|
||||
"style": "hint.css",
|
||||
"main": "hint.css",
|
||||
"homepage": "https://kushagra.dev/lab/hint/",
|
||||
"author": {
|
||||
"name": "Kushagra Gour",
|
||||
"email": "chinchang457@gmail.com",
|
||||
"url": "https://kushagra.dev"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/chinchang/hint.css.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/chinchang/hint.css/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"css",
|
||||
"tooltip",
|
||||
"ui",
|
||||
"sass",
|
||||
"help",
|
||||
"hint"
|
||||
],
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-contrib-concat": "~0.3.0",
|
||||
"grunt-contrib-cssmin": "~0.12.3",
|
||||
"grunt-contrib-watch": "~0.5.3",
|
||||
"grunt-sass": "^3.0.2",
|
||||
"node-sass": "^4.13.1"
|
||||
}
|
||||
}
|
26
assets/vendor/html5shiv/.bower.json
vendored
26
assets/vendor/html5shiv/.bower.json
vendored
@ -1,26 +0,0 @@
|
||||
{
|
||||
"name": "html5shiv",
|
||||
"version": "3.7.0",
|
||||
"main": [
|
||||
"dist/html5shiv.js",
|
||||
"dist/html5shiv-printshiv.js"
|
||||
],
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"*.json",
|
||||
"test",
|
||||
"build",
|
||||
"src",
|
||||
"build.xml"
|
||||
],
|
||||
"homepage": "https://github.com/aFarkas/html5shiv",
|
||||
"_release": "3.7.0",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "3.7.0",
|
||||
"commit": "a4d4dcbe0875ba10c4c56c54454ae93031d59584"
|
||||
},
|
||||
"_source": "git://github.com/aFarkas/html5shiv.git",
|
||||
"_target": "~3.7.0",
|
||||
"_originalSource": "html5shiv"
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
/*
|
||||
HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
(function(j,f){function s(a,b){var c=a.createElement("p"),m=a.getElementsByTagName("head")[0]||a.documentElement;c.innerHTML="x<style>"+b+"</style>";return m.insertBefore(c.lastChild,m.firstChild)}function o(){var a=d.elements;return"string"==typeof a?a.split(" "):a}function n(a){var b=t[a[u]];b||(b={},p++,a[u]=p,t[p]=b);return b}function v(a,b,c){b||(b=f);if(e)return b.createElement(a);c||(c=n(b));b=c.cache[a]?c.cache[a].cloneNode():y.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);
|
||||
return b.canHaveChildren&&!z.test(a)?c.frag.appendChild(b):b}function A(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();a.createElement=function(c){return!d.shivMethods?b.createElem(c):v(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+o().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(d,b.frag)}
|
||||
function w(a){a||(a=f);var b=n(a);if(d.shivCSS&&!q&&!b.hasCSS)b.hasCSS=!!s(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}");e||A(a,b);return a}function B(a){for(var b,c=a.attributes,m=c.length,f=a.ownerDocument.createElement(l+":"+a.nodeName);m--;)b=c[m],b.specified&&f.setAttribute(b.nodeName,b.nodeValue);f.style.cssText=a.style.cssText;return f}function x(a){function b(){clearTimeout(d._removeSheetTimer);
|
||||
c&&c.removeNode(!0);c=null}var c,f,d=n(a),e=a.namespaces,j=a.parentWindow;if(!C||a.printShived)return a;"undefined"==typeof e[l]&&e.add(l);j.attachEvent("onbeforeprint",function(){b();var g,i,d;d=a.styleSheets;for(var e=[],h=d.length,k=Array(h);h--;)k[h]=d[h];for(;d=k.pop();)if(!d.disabled&&D.test(d.media)){try{g=d.imports,i=g.length}catch(j){i=0}for(h=0;h<i;h++)k.push(g[h]);try{e.push(d.cssText)}catch(n){}}g=e.reverse().join("").split("{");i=g.length;h=RegExp("(^|[\\s,>+~])("+o().join("|")+")(?=[[\\s,>+~#.:]|$)",
|
||||
"gi");for(k="$1"+l+"\\:$2";i--;)e=g[i]=g[i].split("}"),e[e.length-1]=e[e.length-1].replace(h,k),g[i]=e.join("}");e=g.join("{");i=a.getElementsByTagName("*");h=i.length;k=RegExp("^(?:"+o().join("|")+")$","i");for(d=[];h--;)g=i[h],k.test(g.nodeName)&&d.push(g.applyElement(B(g)));f=d;c=s(a,e)});j.attachEvent("onafterprint",function(){for(var a=f,c=a.length;c--;)a[c].removeNode();clearTimeout(d._removeSheetTimer);d._removeSheetTimer=setTimeout(b,500)});a.printShived=!0;return a}var r=j.html5||{},z=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
|
||||
y=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q,u="_html5shiv",p=0,t={},e;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";q="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}e=b}catch(d){e=q=!0}})();var d={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",
|
||||
version:"3.7.0",shivCSS:!1!==r.shivCSS,supportsUnknownElements:e,shivMethods:!1!==r.shivMethods,type:"default",shivDocument:w,createElement:v,createDocumentFragment:function(a,b){a||(a=f);if(e)return a.createDocumentFragment();for(var b=b||n(a),c=b.frag.cloneNode(),d=0,j=o(),l=j.length;d<l;d++)c.createElement(j[d]);return c}};j.html5=d;w(f);var D=/^$|\b(?:all|print)\b/,l="html5shiv",C=!e&&function(){var a=f.documentElement;return!("undefined"==typeof f.namespaces||"undefined"==typeof f.parentWindow||
|
||||
"undefined"==typeof a.applyElement||"undefined"==typeof a.removeNode||"undefined"==typeof j.attachEvent)}();d.type+=" print";d.shivPrint=x;x(f)})(this,document);
|
8
assets/vendor/html5shiv/dist/html5shiv.js
vendored
8
assets/vendor/html5shiv/dist/html5shiv.js
vendored
@ -1,8 +0,0 @@
|
||||
/*
|
||||
HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
||||
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
|
||||
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
||||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
|
||||
if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
143
assets/vendor/html5shiv/readme.md
vendored
143
assets/vendor/html5shiv/readme.md
vendored
@ -1,143 +0,0 @@
|
||||
# The HTML5 Shiv
|
||||
|
||||
The HTML5 Shiv enables use of HTML5 sectioning elements in legacy Internet Explorer and provides basic HTML5 styling for Internet Explorer 6-9, Safari 4.x (and iPhone 3.x), and Firefox 3.x.
|
||||
|
||||
### What do these files do?
|
||||
|
||||
#### `html5shiv.js`
|
||||
* This includes the basic `createElement()` shiv technique, along with monkeypatches for `document.createElement` and `document.createDocumentFragment` for IE6-8. It also applies [basic styling](https://github.com/aFarkas/html5shiv/blob/51da98dabd3c537891b7fe6114633fb10de52473/src/html5shiv.js#L216-220) for HTML5 elements for IE6-9, Safari 4.x and FF 3.x.
|
||||
|
||||
####`html5shiv-printshiv.js`
|
||||
* This includes all of the above, as well as a mechanism allowing HTML5 elements to be styled and contain children while being printed in IE 6-8.
|
||||
|
||||
### Who can I get mad at now?
|
||||
|
||||
HTML5 Shiv is maintained by [Alexander Farkas](https://github.com/aFarkas/), [Jonathan Neal](https://twitter.com/jon_neal) and [Paul Irish](https://twitter.com/paul_irish), with many contributions from [John-David Dalton](https://twitter.com/jdalton). It is also distributed with [Modernizr](http://modernizr.com/), and the two google code projects, [html5shiv](https://code.google.com/p/html5shiv/) and [html5shim](https://code.google.com/p/html5shim/), maintained by [Remy Sharp](https://twitter.com/rem).
|
||||
|
||||
If you have any issues in these implementations, you can report them here! :)
|
||||
|
||||
For the full story of HTML5 Shiv and all of the people involved in making it, read [The Story of the HTML5 Shiv](http://paulirish.com/2011/the-history-of-the-html5-shiv/).
|
||||
|
||||
## Installation
|
||||
|
||||
###Using [Bower](http://bower.io/)
|
||||
|
||||
`bower install html5shiv --save-dev`
|
||||
|
||||
This will clone the latest version of the HTML5 shiv into the `components` directory at the root of your project and also create or update the file `bower.json` which specifies your projects dependencies.
|
||||
|
||||
Include the HTML5 shiv in the `<head>` of your page in a conditional comment and after any stylesheets.
|
||||
|
||||
```html
|
||||
<!--[if lt IE 9]>
|
||||
<script src="components/html5shiv/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
```
|
||||
|
||||
###Manual installation
|
||||
|
||||
Download and extract the [latest zip package](https://github.com/aFarkas/html5shiv/archive/master.zip) from this repositiory and copy the two files `dist/html5shiv.js` and `dist/html5shiv-printshiv.js` into your project. Then include one of them into your `<head>` as above.
|
||||
|
||||
## HTML5 Shiv API
|
||||
|
||||
HTML5 Shiv works as a simple drop-in solution. In most cases there is no need to configure HTML5 Shiv or use methods provided by HTML5 Shiv.
|
||||
|
||||
### `html5.elements` option
|
||||
|
||||
The `elements` option is a space separated string or array, which describes the **full** list of the elements to shiv.
|
||||
|
||||
**Configuring `elements` before `html5shiv.js` is included.**
|
||||
|
||||
```js
|
||||
//create a global html5 options object
|
||||
window.html5 = {
|
||||
'elements': 'mark section customelement'
|
||||
};
|
||||
```
|
||||
**Configuring `elements` after `html5shiv.js` is included.**
|
||||
|
||||
```js
|
||||
//change the html5shiv options object
|
||||
window.html5.elements = 'mark section customelement';
|
||||
//and re-invoke the `shivDocument` method
|
||||
html5.shivDocument(document);
|
||||
```
|
||||
|
||||
### `html5.shivCSS`
|
||||
|
||||
If `shivCSS` is set to `true` HTML5 Shiv will add basic styles (mostly display: block) to sectioning elements (like section, article). In most cases a webpage author should include those basic styles in his normal stylesheet to ensure older browser support (i.e. Firefox 3.6) without JavaScript.
|
||||
|
||||
The `shivCSS` is true by default and can be set false, only before html5shiv.js is included:
|
||||
|
||||
```js
|
||||
//create a global html5 options object
|
||||
window.html5 = {
|
||||
'shivCSS': false
|
||||
};
|
||||
```
|
||||
|
||||
### `html5.shivMethods`
|
||||
|
||||
If the `shivMethods` option is set to `true` (by default) HTML5 Shiv will override `document.createElement`/`document.createDocumentFragment` in Internet Explorer 6-8 to allow dynamic DOM creation of HTML5 elements.
|
||||
|
||||
Known issue: If an element is created using the overridden `createElement` method this element returns a document fragment as its `parentNode`, but should be normally `null`. If a script relays on this behavior, `shivMethods`should be set to `false`.
|
||||
Note: jQuery 1.7+ has implemented his own HTML5 DOM creation fix for Internet Explorer 6-8. If all your scripts (including Third party scripts) are using jQuery's manipulation and DOM creation methods, you might want to set this option to `false`.
|
||||
|
||||
**Configuring `shivMethods` before `html5shiv.js` is included.**
|
||||
|
||||
```js
|
||||
//create a global html5 options object
|
||||
window.html5 = {
|
||||
'shivMethods': false
|
||||
};
|
||||
```
|
||||
**Configuring `elements` after `html5shiv.js` is included.**
|
||||
|
||||
```js
|
||||
//change the html5shiv options object
|
||||
window.html5.shivMethods = false;
|
||||
```
|
||||
|
||||
### `html5.createElement( nodeName [, document] )`
|
||||
|
||||
The `html5.createElement` method creates a shived element, even if `shivMethods` is set to false.
|
||||
|
||||
```js
|
||||
var container = html5.createElement('div');
|
||||
//container is shived so we can add HTML5 elements using `innerHTML`
|
||||
container.innerHTML = '<section>This is a section</section>';
|
||||
```
|
||||
|
||||
### `html5.createDocumentFragment( [document] )`
|
||||
|
||||
The `html5.createDocumentFragment` method creates a shived document fragment, even if `shivMethods` is set to false.
|
||||
|
||||
```js
|
||||
var fragment = html5.createDocumentFragment();
|
||||
var container = document.createElement('div');
|
||||
fragment.appendChild(container);
|
||||
//fragment is shived so we can add HTML5 elements using `innerHTML`
|
||||
container.innerHTML = '<section>This is a section</section>';
|
||||
```
|
||||
|
||||
## HTML5 Shiv Known Issues and Limitations
|
||||
|
||||
- The `shivMethods` option (overriding `document.createElement`) and the `html5.createElement` method create elements, which are not disconnected and have a parentNode (see also issue #64)
|
||||
- The cloneNode problem is currently not addressed by HTML5 Shiv. HTML5 elements can be dynamically created, but can't be cloned in all cases.
|
||||
- The printshiv version of HTML5 Shiv has to alter the print styles and the whole DOM for printing. In case of complex websites and or a lot of print styles this might cause performance and/or styling issues. A possible solution could be the [htc-branch](https://github.com/aFarkas/html5shiv/tree/iepp-htc) of HTML5 Shiv, which uses another technique to implement print styles for Internet Explorer 6-8.
|
||||
|
||||
### What about the other HTML5 element projects?
|
||||
|
||||
- The original conception and community collaboration story of the project is described at [The History of the HTML5 Shiv](http://paulirish.com/2011/the-history-of-the-html5-shiv/).
|
||||
- [IEPP](https://code.google.com/p/ie-print-protector), by Jon Neal, addressed the printing fault of the original `html5shiv`. It was merged into `html5shiv`.
|
||||
- **Shimprove**, in April 2010, patched `cloneNode` and `createElement` was later merged into `html5shiv`
|
||||
- **innerShiv**, introduced in August 2010 by JD Barlett, addressed dynamically adding new HTML5 elements into the DOM. [jQuery added support](http://blog.jquery.com/2011/11/03/jquery-1-7-released/) that made innerShiv redundant and `html5shiv` addressed the same issues as well, so the project was completed.
|
||||
- The **html5shim** and **html5shiv** sites on Google Code are maintained by Remy Sharp and are identical distribution points of this `html5shiv` project.
|
||||
- **Modernizr** is developed by the same people as `html5shiv` and can include the latest version in any custom builds created at modernizr.com
|
||||
- This `html5shiv` repo now contains tests for all the edge cases pursued by the above libraries and has been extensively tested, both in development and production.
|
||||
|
||||
A [detailed changelog of html5shiv](https://github.com/aFarkas/html5shiv/wiki) is available.
|
||||
|
||||
### Why is it called a *shiv*?
|
||||
|
||||
The term **shiv** [originates](http://ejohn.org/blog/html5-shiv/) from [John Resig](https://github.com/jeresig), who was thought to have used the word for its slang meaning, *a sharp object used as a knife-like weapon*, intended for Internet Explorer. Truth be known, John probably intended to use the word [shim](http://en.wikipedia.org/wiki/Shim_(computing\)), which in computing means *an application compatibility workaround*. Rather than correct his mispelling, most developers familiar with Internet Explorer appreciated the visual imagery. And that, [kids](http://html5homi.es/), is [etymology](https://en.wikipedia.org/wiki/Etymology).
|
48
assets/vendor/qtip2/.bower.json
vendored
48
assets/vendor/qtip2/.bower.json
vendored
@ -1,48 +0,0 @@
|
||||
{
|
||||
"name": "qtip2",
|
||||
"description": "Introducing... qTip2. The second generation of the advanced qTip plugin for the ever popular jQuery framework.",
|
||||
"version": "2.2.0",
|
||||
"homepage": "http://qtip2.com",
|
||||
"location": "https://github.com/qTip2/bower",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/Craga89/qTip2.git"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Craig Michael Thompson",
|
||||
"email": "craig@craigsworks.com",
|
||||
"url": "http://craigsworks.com/"
|
||||
}
|
||||
],
|
||||
"license": [
|
||||
"MIT",
|
||||
"GPL"
|
||||
],
|
||||
"keywords": [
|
||||
"tooltip",
|
||||
"tooltips",
|
||||
"jquery",
|
||||
"qtip",
|
||||
"qtip2",
|
||||
"craig",
|
||||
"thompson",
|
||||
"craigsworks"
|
||||
],
|
||||
"main": [
|
||||
"./jquery.qtip.js",
|
||||
"./basic/jquery.qtip.js"
|
||||
],
|
||||
"ignore": [
|
||||
"bin"
|
||||
],
|
||||
"_release": "2.2.0",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v2.2.0",
|
||||
"commit": "f5300e9a698f203d47307cfdf90399504fd2f6b2"
|
||||
},
|
||||
"_source": "git://github.com/qTip2/bower.git",
|
||||
"_target": "~2.2.0",
|
||||
"_originalSource": "qtip2"
|
||||
}
|
4
assets/vendor/qtip2/README.md
vendored
4
assets/vendor/qtip2/README.md
vendored
@ -1,4 +0,0 @@
|
||||
qTip2 Bower Package
|
||||
=====
|
||||
|
||||
Clone into an existing `qtip2` repo clone, and run the ./bin/build script to generate the files. Then push to the repo.
|
39
assets/vendor/qtip2/bower.json
vendored
39
assets/vendor/qtip2/bower.json
vendored
@ -1,39 +0,0 @@
|
||||
{
|
||||
"name": "qtip2",
|
||||
"description": "Introducing... qTip2. The second generation of the advanced qTip plugin for the ever popular jQuery framework.",
|
||||
"version": "2.2.0",
|
||||
"homepage": "http://qtip2.com",
|
||||
"location": "https://github.com/qTip2/bower",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/Craga89/qTip2.git"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Craig Michael Thompson",
|
||||
"email": "craig@craigsworks.com",
|
||||
"url": "http://craigsworks.com/"
|
||||
}
|
||||
],
|
||||
"license": [
|
||||
"MIT",
|
||||
"GPL"
|
||||
],
|
||||
"keywords": [
|
||||
"tooltip",
|
||||
"tooltips",
|
||||
"jquery",
|
||||
"qtip",
|
||||
"qtip2",
|
||||
"craig",
|
||||
"thompson",
|
||||
"craigsworks"
|
||||
],
|
||||
"main": [
|
||||
"./jquery.qtip.js",
|
||||
"./basic/jquery.qtip.js"
|
||||
],
|
||||
"ignore": [
|
||||
"bin"
|
||||
]
|
||||
}
|
7
assets/vendor/qtip2/imagesloaded.pkg.min.js
vendored
7
assets/vendor/qtip2/imagesloaded.pkg.min.js
vendored
@ -1,7 +0,0 @@
|
||||
/* qTip2 v2.2.0 tips modal viewport svg imagemap ie6 | qtip2.com | Licensed MIT, GPL | Mon Nov 25 2013 11:54:49 */
|
||||
/*!
|
||||
* imagesLoaded v3.0.4
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
*/
|
||||
(function(t){"use strict";function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===h.call(t)}function s(t){var e=[];if(i(t))e=t;else if("number"==typeof t.length)for(var s=0,o=t.length;o>s;s++)e.push(t[s]);else e.push(t);return e}function o(t,i){function o(t,i,r){if(!(this instanceof o))return new o(t,i);"string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=s(t),this.options=e({},this.options),"function"==typeof i?r=i:e(this.options,i),r&&this.on("always",r),this.getImages(),n&&(this.jqDeferred=new n.Deferred);var a=this;setTimeout(function(){a.check()})}function h(t){this.img=t}o.prototype=new t,o.prototype.options={},o.prototype.getImages=function(){this.images=[];for(var t=0,e=this.elements.length;e>t;t++){var i=this.elements[t];"IMG"===i.nodeName&&this.addImage(i);for(var s=i.querySelectorAll("img"),o=0,n=s.length;n>o;o++){var r=s[o];this.addImage(r)}}},o.prototype.addImage=function(t){var e=new h(t);this.images.push(e)},o.prototype.check=function(){function t(t,o){return e.options.debug&&a&&r.log("confirm",t,o),e.progress(t),i++,i===s&&e.complete(),!0}var e=this,i=0,s=this.images.length;if(this.hasAnyBroken=!1,!s)return this.complete(),void 0;for(var o=0;s>o;o++){var n=this.images[o];n.on("confirm",t),n.check()}},o.prototype.progress=function(t){this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded;var e=this;setTimeout(function(){e.emit("progress",e,t),e.jqDeferred&&e.jqDeferred.notify(e,t)})},o.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var e=this;setTimeout(function(){if(e.emit(t,e),e.emit("always",e),e.jqDeferred){var i=e.hasAnyBroken?"reject":"resolve";e.jqDeferred[i](e)}})},n&&(n.fn.imagesLoaded=function(t,e){var i=new o(this,t,e);return i.jqDeferred.promise(n(this))});var l={};return h.prototype=new t,h.prototype.check=function(){var t=l[this.img.src];if(t)return this.useCached(t),void 0;if(l[this.img.src]=this,this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var e=this.proxyImage=new Image;i.bind(e,"load",this),i.bind(e,"error",this),e.src=this.img.src},h.prototype.useCached=function(t){if(t.isConfirmed)this.confirm(t.isLoaded,"cached was confirmed");else{var e=this;t.on("confirm",function(t){return e.confirm(t.isLoaded,"cache emitted confirmed"),!0})}},h.prototype.confirm=function(t,e){this.isConfirmed=!0,this.isLoaded=t,this.emit("confirm",this,e)},h.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindProxyEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindProxyEvents()},h.prototype.unbindProxyEvents=function(){i.unbind(this.proxyImage,"load",this),i.unbind(this.proxyImage,"error",this)},o}var n=t.jQuery,r=t.console,a=r!==void 0,h=Object.prototype.toString;"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],o):t.imagesLoaded=o(t.EventEmitter,t.eventie)})(window);
|
||||
//@ sourceMappingURL=http://cdnjs.cloudflare.com/ajax/libs/qtip2/2.2.0/imagesloaded.pkg.min.map
|
623
assets/vendor/qtip2/jquery.qtip.css
vendored
623
assets/vendor/qtip2/jquery.qtip.css
vendored
@ -1,623 +0,0 @@
|
||||
/*
|
||||
* qTip2 - Pretty powerful tooltips - v2.2.0
|
||||
* http://qtip2.com
|
||||
*
|
||||
* Copyright (c) 2013 Craig Michael Thompson
|
||||
* Released under the MIT, GPL licenses
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: Mon Nov 25 2013 11:54 GMT+0000
|
||||
* Plugins: tips modal viewport svg imagemap ie6
|
||||
* Styles: basic css3
|
||||
*/
|
||||
.qtip{
|
||||
position: absolute;
|
||||
left: -28000px;
|
||||
top: -28000px;
|
||||
display: none;
|
||||
|
||||
max-width: 280px;
|
||||
min-width: 50px;
|
||||
|
||||
font-size: 10.5px;
|
||||
line-height: 12px;
|
||||
|
||||
direction: ltr;
|
||||
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.qtip-content{
|
||||
position: relative;
|
||||
padding: 5px 9px;
|
||||
overflow: hidden;
|
||||
|
||||
text-align: left;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.qtip-titlebar{
|
||||
position: relative;
|
||||
padding: 5px 35px 5px 10px;
|
||||
overflow: hidden;
|
||||
|
||||
border-width: 0 0 1px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }
|
||||
|
||||
/* Default close button class */
|
||||
.qtip-close{
|
||||
position: absolute;
|
||||
right: -9px; top: -9px;
|
||||
|
||||
cursor: pointer;
|
||||
outline: medium none;
|
||||
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.qtip-titlebar .qtip-close{
|
||||
right: 4px; top: 50%;
|
||||
margin-top: -9px;
|
||||
}
|
||||
|
||||
* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */
|
||||
|
||||
.qtip-titlebar .ui-icon,
|
||||
.qtip-icon .ui-icon{
|
||||
display: block;
|
||||
text-indent: -1000em;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.qtip-icon, .qtip-icon .ui-icon{
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.qtip-icon .ui-icon{
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
font: normal bold 10px/13px Tahoma,sans-serif;
|
||||
|
||||
color: inherit;
|
||||
background: transparent none no-repeat -100em -100em;
|
||||
}
|
||||
|
||||
/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */
|
||||
.qtip-focus{}
|
||||
|
||||
/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */
|
||||
.qtip-hover{}
|
||||
|
||||
/* Default tooltip style */
|
||||
.qtip-default{
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #F1D031;
|
||||
|
||||
background-color: #FFFFA3;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.qtip-default .qtip-titlebar{
|
||||
background-color: #FFEF93;
|
||||
}
|
||||
|
||||
.qtip-default .qtip-icon{
|
||||
border-color: #CCC;
|
||||
background: #F1F1F1;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.qtip-default .qtip-titlebar .qtip-close{
|
||||
border-color: #AAA;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! Light tooltip style */
|
||||
.qtip-light{
|
||||
background-color: white;
|
||||
border-color: #E2E2E2;
|
||||
color: #454545;
|
||||
}
|
||||
|
||||
.qtip-light .qtip-titlebar{
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
|
||||
/*! Dark tooltip style */
|
||||
.qtip-dark{
|
||||
background-color: #505050;
|
||||
border-color: #303030;
|
||||
color: #f3f3f3;
|
||||
}
|
||||
|
||||
.qtip-dark .qtip-titlebar{
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
.qtip-dark .qtip-icon{
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
.qtip-dark .qtip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/*! Cream tooltip style */
|
||||
.qtip-cream{
|
||||
background-color: #FBF7AA;
|
||||
border-color: #F9E98E;
|
||||
color: #A27D35;
|
||||
}
|
||||
|
||||
.qtip-cream .qtip-titlebar{
|
||||
background-color: #F0DE7D;
|
||||
}
|
||||
|
||||
.qtip-cream .qtip-close .qtip-icon{
|
||||
background-position: -82px 0;
|
||||
}
|
||||
|
||||
|
||||
/*! Red tooltip style */
|
||||
.qtip-red{
|
||||
background-color: #F78B83;
|
||||
border-color: #D95252;
|
||||
color: #912323;
|
||||
}
|
||||
|
||||
.qtip-red .qtip-titlebar{
|
||||
background-color: #F06D65;
|
||||
}
|
||||
|
||||
.qtip-red .qtip-close .qtip-icon{
|
||||
background-position: -102px 0;
|
||||
}
|
||||
|
||||
.qtip-red .qtip-icon{
|
||||
border-color: #D95252;
|
||||
}
|
||||
|
||||
.qtip-red .qtip-titlebar .ui-state-hover{
|
||||
border-color: #D95252;
|
||||
}
|
||||
|
||||
|
||||
/*! Green tooltip style */
|
||||
.qtip-green{
|
||||
background-color: #CAED9E;
|
||||
border-color: #90D93F;
|
||||
color: #3F6219;
|
||||
}
|
||||
|
||||
.qtip-green .qtip-titlebar{
|
||||
background-color: #B0DE78;
|
||||
}
|
||||
|
||||
.qtip-green .qtip-close .qtip-icon{
|
||||
background-position: -42px 0;
|
||||
}
|
||||
|
||||
|
||||
/*! Blue tooltip style */
|
||||
.qtip-blue{
|
||||
background-color: #E5F6FE;
|
||||
border-color: #ADD9ED;
|
||||
color: #5E99BD;
|
||||
}
|
||||
|
||||
.qtip-blue .qtip-titlebar{
|
||||
background-color: #D0E9F5;
|
||||
}
|
||||
|
||||
.qtip-blue .qtip-close .qtip-icon{
|
||||
background-position: -2px 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.qtip-shadow{
|
||||
-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */
|
||||
.qtip-rounded,
|
||||
.qtip-tipsy,
|
||||
.qtip-bootstrap{
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.qtip-rounded .qtip-titlebar{
|
||||
-moz-border-radius: 4px 4px 0 0;
|
||||
-webkit-border-radius: 4px 4px 0 0;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
/* Youtube tooltip style */
|
||||
.qtip-youtube{
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-box-shadow: 0 0 3px #333;
|
||||
-moz-box-shadow: 0 0 3px #333;
|
||||
box-shadow: 0 0 3px #333;
|
||||
|
||||
color: white;
|
||||
border-width: 0;
|
||||
|
||||
background: #4A4A4A;
|
||||
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));
|
||||
background-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);
|
||||
background-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);
|
||||
background-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);
|
||||
background-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);
|
||||
}
|
||||
|
||||
.qtip-youtube .qtip-titlebar{
|
||||
background-color: #4A4A4A;
|
||||
background-color: rgba(0,0,0,0);
|
||||
}
|
||||
|
||||
.qtip-youtube .qtip-content{
|
||||
padding: .75em;
|
||||
font: 12px arial,sans-serif;
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);";
|
||||
}
|
||||
|
||||
.qtip-youtube .qtip-icon{
|
||||
border-color: #222;
|
||||
}
|
||||
|
||||
.qtip-youtube .qtip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* jQuery TOOLS Tooltip style */
|
||||
.qtip-jtools{
|
||||
background: #232323;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));
|
||||
background-image: -moz-linear-gradient(top, #717171, #232323);
|
||||
background-image: -webkit-linear-gradient(top, #717171, #232323);
|
||||
background-image: -ms-linear-gradient(top, #717171, #232323);
|
||||
background-image: -o-linear-gradient(top, #717171, #232323);
|
||||
|
||||
border: 2px solid #ddd;
|
||||
border: 2px solid rgba(241,241,241,1);
|
||||
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-box-shadow: 0 0 12px #333;
|
||||
-moz-box-shadow: 0 0 12px #333;
|
||||
box-shadow: 0 0 12px #333;
|
||||
}
|
||||
|
||||
/* IE Specific */
|
||||
.qtip-jtools .qtip-titlebar{
|
||||
background-color: transparent;
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";
|
||||
}
|
||||
.qtip-jtools .qtip-content{
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";
|
||||
}
|
||||
|
||||
.qtip-jtools .qtip-titlebar,
|
||||
.qtip-jtools .qtip-content{
|
||||
background: transparent;
|
||||
color: white;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.qtip-jtools .qtip-icon{
|
||||
border-color: #555;
|
||||
}
|
||||
|
||||
.qtip-jtools .qtip-titlebar .ui-state-hover{
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
|
||||
/* Cluetip style */
|
||||
.qtip-cluetip{
|
||||
-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
|
||||
background-color: #D9D9C2;
|
||||
color: #111;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.qtip-cluetip .qtip-titlebar{
|
||||
background-color: #87876A;
|
||||
color: white;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.qtip-cluetip .qtip-icon{
|
||||
border-color: #808064;
|
||||
}
|
||||
|
||||
.qtip-cluetip .qtip-titlebar .ui-state-hover{
|
||||
border-color: #696952;
|
||||
color: #696952;
|
||||
}
|
||||
|
||||
|
||||
/* Tipsy style */
|
||||
.qtip-tipsy{
|
||||
background: black;
|
||||
background: rgba(0, 0, 0, .87);
|
||||
|
||||
color: white;
|
||||
border: 0 solid transparent;
|
||||
|
||||
font-size: 11px;
|
||||
font-family: 'Lucida Grande', sans-serif;
|
||||
font-weight: bold;
|
||||
line-height: 16px;
|
||||
text-shadow: 0 1px black;
|
||||
}
|
||||
|
||||
.qtip-tipsy .qtip-titlebar{
|
||||
padding: 6px 35px 0 10px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.qtip-tipsy .qtip-content{
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.qtip-tipsy .qtip-icon{
|
||||
border-color: #222;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.qtip-tipsy .qtip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* Tipped style */
|
||||
.qtip-tipped{
|
||||
border: 3px solid #959FA9;
|
||||
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
|
||||
background-color: #F9F9F9;
|
||||
color: #454545;
|
||||
|
||||
font-weight: normal;
|
||||
font-family: serif;
|
||||
}
|
||||
|
||||
.qtip-tipped .qtip-titlebar{
|
||||
border-bottom-width: 0;
|
||||
|
||||
color: white;
|
||||
background: #3A79B8;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));
|
||||
background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);
|
||||
background-image: -moz-linear-gradient(top, #3A79B8, #2E629D);
|
||||
background-image: -ms-linear-gradient(top, #3A79B8, #2E629D);
|
||||
background-image: -o-linear-gradient(top, #3A79B8, #2E629D);
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";
|
||||
}
|
||||
|
||||
.qtip-tipped .qtip-icon{
|
||||
border: 2px solid #285589;
|
||||
background: #285589;
|
||||
}
|
||||
|
||||
.qtip-tipped .qtip-icon .ui-icon{
|
||||
background-color: #FBFBFB;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Twitter Bootstrap style.
|
||||
*
|
||||
* Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.
|
||||
* Does not work with IE 7.
|
||||
*/
|
||||
.qtip-bootstrap{
|
||||
/** Taken from Bootstrap body */
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: #333333;
|
||||
|
||||
/** Taken from Bootstrap .popover */
|
||||
padding: 1px;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #ccc;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-titlebar{
|
||||
/** Taken from Bootstrap .popover-title */
|
||||
padding: 8px 14px;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
line-height: 18px;
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 1px solid #ebebeb;
|
||||
-webkit-border-radius: 5px 5px 0 0;
|
||||
-moz-border-radius: 5px 5px 0 0;
|
||||
border-radius: 5px 5px 0 0;
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-titlebar .qtip-close{
|
||||
/**
|
||||
* Overrides qTip2:
|
||||
* .qtip-titlebar .qtip-close{
|
||||
* [...]
|
||||
* right: 4px;
|
||||
* top: 50%;
|
||||
* [...]
|
||||
* border-style: solid;
|
||||
* }
|
||||
*/
|
||||
right: 11px;
|
||||
top: 45%;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-content{
|
||||
/** Taken from Bootstrap .popover-content */
|
||||
padding: 9px 14px;
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-icon{
|
||||
/**
|
||||
* Overrides qTip2:
|
||||
* .qtip-default .qtip-icon {
|
||||
* border-color: #CCC;
|
||||
* background: #F1F1F1;
|
||||
* color: #777;
|
||||
* }
|
||||
*/
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-icon .ui-icon{
|
||||
/**
|
||||
* Overrides qTip2:
|
||||
* .qtip-icon .ui-icon{
|
||||
* width: 18px;
|
||||
* height: 14px;
|
||||
* }
|
||||
*/
|
||||
width: auto;
|
||||
height: auto;
|
||||
|
||||
/* Taken from Bootstrap .close */
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 18px;
|
||||
color: #000000;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.2;
|
||||
filter: alpha(opacity=20);
|
||||
}
|
||||
|
||||
.qtip-bootstrap .qtip-icon .ui-icon:hover{
|
||||
/* Taken from Bootstrap .close:hover */
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
|
||||
/* IE9 fix - removes all filters */
|
||||
.qtip:not(.ie9haxors) div.qtip-content,
|
||||
.qtip:not(.ie9haxors) div.qtip-titlebar{
|
||||
filter: none;
|
||||
-ms-filter: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.qtip .qtip-tip{
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
|
||||
}
|
||||
|
||||
/* Opera bug #357 - Incorrect tip position
|
||||
https://github.com/Craga89/qTip2/issues/367 */
|
||||
x:-o-prefocus, .qtip .qtip-tip{
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.qtip .qtip-tip,
|
||||
.qtip .qtip-tip .qtip-vml,
|
||||
.qtip .qtip-tip canvas{
|
||||
position: absolute;
|
||||
|
||||
color: #123456;
|
||||
background: transparent;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.qtip .qtip-tip canvas{ top: 0; left: 0; }
|
||||
|
||||
.qtip .qtip-tip .qtip-vml{
|
||||
behavior: url(#default#VML);
|
||||
display: inline-block;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
#qtip-overlay{
|
||||
position: fixed;
|
||||
left: 0; top: 0;
|
||||
width: 100%; height: 100%;
|
||||
}
|
||||
|
||||
/* Applied to modals with show.modal.blur set to true */
|
||||
#qtip-overlay.blurs{ cursor: pointer; }
|
||||
|
||||
/* Change opacity of overlay here */
|
||||
#qtip-overlay div{
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
width: 100%; height: 100%;
|
||||
|
||||
background-color: black;
|
||||
|
||||
opacity: 0.7;
|
||||
filter:alpha(opacity=70);
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
|
||||
}
|
||||
|
||||
|
||||
|
||||
.qtipmodal-ie6fix{
|
||||
position: absolute !important;
|
||||
}
|
3433
assets/vendor/qtip2/jquery.qtip.js
vendored
3433
assets/vendor/qtip2/jquery.qtip.js
vendored
File diff suppressed because it is too large
Load Diff
2
assets/vendor/qtip2/jquery.qtip.min.css
vendored
2
assets/vendor/qtip2/jquery.qtip.min.css
vendored
File diff suppressed because one or more lines are too long
4
assets/vendor/qtip2/jquery.qtip.min.js
vendored
4
assets/vendor/qtip2/jquery.qtip.min.js
vendored
File diff suppressed because one or more lines are too long
1
assets/vendor/qtip2/jquery.qtip.min.map
vendored
1
assets/vendor/qtip2/jquery.qtip.min.map
vendored
File diff suppressed because one or more lines are too long
14
assets/vendor/selectivizr/.bower.json
vendored
14
assets/vendor/selectivizr/.bower.json
vendored
@ -1,14 +0,0 @@
|
||||
{
|
||||
"name": "selectivizr",
|
||||
"homepage": "https://github.com/keithclark/selectivizr",
|
||||
"version": "1.0.2",
|
||||
"_release": "1.0.2",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.0.2",
|
||||
"commit": "994f65755ac4e7ead1d14534f6eeb90cda21e909"
|
||||
},
|
||||
"_source": "git://github.com/keithclark/selectivizr.git",
|
||||
"_target": "~1.0.2",
|
||||
"_originalSource": "selectivizr"
|
||||
}
|
29
assets/vendor/selectivizr/README.markdown
vendored
29
assets/vendor/selectivizr/README.markdown
vendored
@ -1,29 +0,0 @@
|
||||
Selectivizr
|
||||
-----------
|
||||
|
||||
**CSS3 selectors for IE**
|
||||
|
||||
|
||||
_selectivizr_ is a JavaScript utility that emulates CSS3 pseudo-classes
|
||||
and attribute selectors in Internet Explorer 6-8. Simply include the
|
||||
script in your pages and selectivizr will do the rest.
|
||||
|
||||
To use the library, you'll need to include one of the supported libraries:
|
||||
|
||||
* jQuery (1.3+/1.4+)
|
||||
* Dojo (1.5.0+)
|
||||
* Prototype (1.6.1+)
|
||||
* Yahoo UI Library (2.8.0+)
|
||||
* DOMAssistant (2.8.0+)
|
||||
* MooTools (1.3+)
|
||||
* NWMatcher (1.2.3+)
|
||||
|
||||
Then add the following conditional comment:
|
||||
|
||||
<!--[if (gte IE 6)&(lte IE 8)]>
|
||||
<script type="text/javascript" src="selectivizr.js"></script>
|
||||
<noscript><link rel="stylesheet" href="[fallback css]" /></noscript>
|
||||
<![endif]-->
|
||||
|
||||
This adds the `selectivizr.js` and fallback CSS file to IE6-8 while hiding
|
||||
for other browsers.
|
112
assets/vendor/selectivizr/changelog.txt
vendored
112
assets/vendor/selectivizr/changelog.txt
vendored
@ -1,112 +0,0 @@
|
||||
selectivizr - change log
|
||||
========================
|
||||
|
||||
|
||||
v1.0.2
|
||||
------
|
||||
|
||||
* BUG - fixed Google Closure Compiler issue that added 2 global vars - sorry about that!
|
||||
* NEW - removed the eval() from determineSelectorMethod()
|
||||
* BUG - selectivizr incorrectly detects Yahoo! profiler as YUI selector library
|
||||
* NEW - selectivizr can now be "lazy-loaded"
|
||||
* NEW - switched DOMReady back to Diego Perini's (new) ContentLoaded.
|
||||
* BUG - asset urls using the 'data:' scheme (i.e. background-image) resolved to a path (Chris Korhonen)
|
||||
* BUG - resolveUrl() failed if the context url contained a hash followed by a '/' (Zee Agency)
|
||||
* BUG - IE version detection wasn't IE>9 friendly (reported by Paul Irish)
|
||||
|
||||
|
||||
|
||||
v1.0.1
|
||||
------
|
||||
|
||||
* BUG - @import urls not wrapped with "url()" are now correctly processed
|
||||
* BUG - relative urls are now correctly resolved
|
||||
* BUG - patched [*=""] selector in IE8 (returns elements it shouldn't)
|
||||
|
||||
|
||||
|
||||
v1.0.0
|
||||
------
|
||||
|
||||
ie-css3.js is now stable enough to be released with out a beta suffix - say hello to selectivizr v1!
|
||||
|
||||
|
||||
|
||||
v0.9.7b
|
||||
-------
|
||||
|
||||
* NEW - Complete rewrite of the stylesheet parser.
|
||||
* NEW - :not() pseudo support.
|
||||
* NEW - Attribute selector support in IE6 [att] [att="x"] [att~="x"] [att^="x"] [att$="x"] [att*="x"] and [att|="x"]
|
||||
* NEW - Fixes native empty attribute selector support in IE7 [att^=""] [att$=""] [att*=""] and IE8 [att^=""] [att$=""]
|
||||
* BUG - :enabled and :disabled elements now change state properly. (Uses polling)
|
||||
* BUG - Emulation no longer fails in IE6 when more than 2 classes are applied to an element
|
||||
|
||||
|
||||
|
||||
v0.9.6b
|
||||
-------
|
||||
|
||||
* BUG - IE8 :target pseudo-class emulation fails with jQuery (but not with Sizzle) (reported by Tom Law)
|
||||
* BUG - ie-css3.js won't run if page is in an iframe (switched DOM Load detection to Dean Edwards defered script method)
|
||||
* BUG - A selector that begins with a attribute selector incorrected parsed (reported by Stephanie Sullivan)
|
||||
|
||||
|
||||
|
||||
v0.9.5b
|
||||
-------
|
||||
|
||||
* NEW - Reworked DOM Load detection (using a cut down version of Diego Perini's ContentLoaded technique)
|
||||
* NEW - Enabled Dojo detection (lowest priority) - Warning: some of Dojo's CSS3 selectors seem very buggy!
|
||||
* BUG - Fixed mixed content warning when using over SSL
|
||||
* NEW - :target pseudo for IE8 when running standards mode. Sorry, no support for pre-IE8 or quirks mode
|
||||
* NWMatcher now higher priority that DOMAssistant when auto-detecting best library
|
||||
* Internal rewrites / refactoring - more features, but a smaller file :o)
|
||||
|
||||
|
||||
|
||||
v0.9.4b
|
||||
-------
|
||||
|
||||
* NEW - added support for :hover (for IE 5.5 - 6) and :focus (for IE 5.5 - 7)
|
||||
* NEW - added support for ::first-child and ::first-letter (suggested by Philip Renich)
|
||||
* BUG - style sheets without href values shouldn't get parsed (reported by Jeff Smith)
|
||||
* BUG - remotely hosted style sheets are now ignored when used in @imports
|
||||
* BUG - @import rules now honor the <base> href if its specified (reported by Andrea and Tim)
|
||||
* BUG - various minor bug fixes
|
||||
|
||||
|
||||
|
||||
v0.9.3b
|
||||
-------
|
||||
|
||||
* No longer dependent on DOMAssistant.
|
||||
* Auto-detects best suited selector library from these:
|
||||
- DOMAssistant (recommended)
|
||||
- NWmatcher
|
||||
- Prototype
|
||||
- YUI 2
|
||||
- MooTools
|
||||
- Sizzle / jQuery
|
||||
* NEW - pseudo selectors :enabled, :disabled, :checked and :root.
|
||||
* BUG - Fixed IE 5.5/6 issue with illegal character in replacement class name.
|
||||
* BUG - Fixed extra spaces issue with modified class names.
|
||||
* BUG - Stopped triggering a DOM redraw when there are no className changes
|
||||
* Dynamic building of CSS_PSEUDOS regexp based on IE version so we only patch what's needed.
|
||||
* XHR compatability test (reported from twitter.com/kangax).
|
||||
* Reworked DOMLoaded detection.
|
||||
|
||||
|
||||
|
||||
v0.9.2b
|
||||
-------
|
||||
|
||||
* CSS parser updated to crawl @import statements (suggested by Andy "Malarkey" Clarke).
|
||||
* @font rules support.
|
||||
|
||||
|
||||
|
||||
v0.9.1b
|
||||
-------
|
||||
|
||||
* Public beta release.
|
561
assets/vendor/selectivizr/selectivizr.js
vendored
561
assets/vendor/selectivizr/selectivizr.js
vendored
@ -1,561 +0,0 @@
|
||||
/*
|
||||
selectivizr v1.0.2b - (c) Keith Clark, freely distributable under the terms
|
||||
of the MIT license.
|
||||
|
||||
selectivizr.com
|
||||
*/
|
||||
/*
|
||||
|
||||
Notes about this source
|
||||
-----------------------
|
||||
|
||||
* The #DEBUG_START and #DEBUG_END comments are used to mark blocks of code
|
||||
that will be removed prior to building a final release version (using a
|
||||
pre-compression script)
|
||||
|
||||
|
||||
References:
|
||||
-----------
|
||||
|
||||
* CSS Syntax : http://www.w3.org/TR/2003/WD-css3-syntax-20030813/#style
|
||||
* Selectors : http://www.w3.org/TR/css3-selectors/#selectors
|
||||
* IE Compatability : http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
|
||||
* W3C Selector Tests : http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/tests/
|
||||
|
||||
*/
|
||||
|
||||
(function(win) {
|
||||
|
||||
// If browser isn't IE, then stop execution! This handles the script
|
||||
// being loaded by non IE browsers because the developer didn't use
|
||||
// conditional comments.
|
||||
if (/*@cc_on!@*/true) return;
|
||||
|
||||
// =========================== Init Objects ============================
|
||||
|
||||
var doc = document;
|
||||
var root = doc.documentElement;
|
||||
var xhr = getXHRObject();
|
||||
var ieVersion = /MSIE (\d+)/.exec(navigator.userAgent)[1];
|
||||
|
||||
// If were not in standards mode, IE is too old / new or we can't create
|
||||
// an XMLHttpRequest object then we should get out now.
|
||||
if (doc.compatMode != 'CSS1Compat' || ieVersion<6 || ieVersion>8 || !xhr) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// ========================= Common Objects ============================
|
||||
|
||||
// Compatiable selector engines in order of CSS3 support. Note: '*' is
|
||||
// a placholder for the object key name. (basically, crude compression)
|
||||
var selectorEngines = {
|
||||
"NW" : "*.Dom.select",
|
||||
"MooTools" : "$$",
|
||||
"DOMAssistant" : "*.$",
|
||||
"Prototype" : "$$",
|
||||
"YAHOO" : "*.util.Selector.query",
|
||||
"Sizzle" : "*",
|
||||
"jQuery" : "*",
|
||||
"dojo" : "*.query"
|
||||
};
|
||||
|
||||
var selectorMethod;
|
||||
var enabledWatchers = []; // array of :enabled/:disabled elements to poll
|
||||
var ie6PatchID = 0; // used to solve ie6's multiple class bug
|
||||
var patchIE6MultipleClasses = true; // if true adds class bloat to ie6
|
||||
var namespace = "slvzr";
|
||||
|
||||
// Stylesheet parsing regexp's
|
||||
var RE_COMMENT = /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g;
|
||||
var RE_IMPORT = /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g;
|
||||
var RE_ASSET_URL = /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g;
|
||||
var RE_PSEUDO_STRUCTURAL = /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/;
|
||||
var RE_PSEUDO_ELEMENTS = /:(:first-(?:line|letter))/g;
|
||||
var RE_SELECTOR_GROUP = /(^|})\s*([^\{]*?[\[:][^{]+)/g;
|
||||
var RE_SELECTOR_PARSE = /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g;
|
||||
var RE_LIBRARY_INCOMPATIBLE_PSEUDOS = /(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g;
|
||||
var RE_PATCH_CLASS_NAME_REPLACE = /[^\w-]/g;
|
||||
|
||||
// HTML UI element regexp's
|
||||
var RE_INPUT_ELEMENTS = /^(INPUT|SELECT|TEXTAREA|BUTTON)$/;
|
||||
var RE_INPUT_CHECKABLE_TYPES = /^(checkbox|radio)$/;
|
||||
|
||||
// Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""])
|
||||
var BROKEN_ATTR_IMPLEMENTATIONS = ieVersion>6 ? /[\$\^*]=(['"])\1/ : null;
|
||||
|
||||
// Whitespace normalization regexp's
|
||||
var RE_TIDY_TRAILING_WHITESPACE = /([(\[+~])\s+/g;
|
||||
var RE_TIDY_LEADING_WHITESPACE = /\s+([)\]+~])/g;
|
||||
var RE_TIDY_CONSECUTIVE_WHITESPACE = /\s+/g;
|
||||
var RE_TIDY_TRIM_WHITESPACE = /^\s*((?:[\S\s]*\S)?)\s*$/;
|
||||
|
||||
// String constants
|
||||
var EMPTY_STRING = "";
|
||||
var SPACE_STRING = " ";
|
||||
var PLACEHOLDER_STRING = "$1";
|
||||
|
||||
// =========================== Patching ================================
|
||||
|
||||
// --[ patchStyleSheet() ]----------------------------------------------
|
||||
// Scans the passed cssText for selectors that require emulation and
|
||||
// creates one or more patches for each matched selector.
|
||||
function patchStyleSheet( cssText ) {
|
||||
return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING).
|
||||
replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) {
|
||||
var selectorGroups = selectorText.split(",");
|
||||
for (var c = 0, cs = selectorGroups.length; c < cs; c++) {
|
||||
var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING;
|
||||
var patches = [];
|
||||
selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE,
|
||||
function(match, combinator, pseudo, attribute, index) {
|
||||
if (combinator) {
|
||||
if (patches.length>0) {
|
||||
applyPatches( selector.substring(0, index), patches );
|
||||
patches = [];
|
||||
}
|
||||
return combinator;
|
||||
}
|
||||
else {
|
||||
var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute );
|
||||
if (patch) {
|
||||
patches.push(patch);
|
||||
return "." + patch.className;
|
||||
}
|
||||
return match;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return prefix + selectorGroups.join(",");
|
||||
});
|
||||
};
|
||||
|
||||
// --[ patchAttribute() ]-----------------------------------------------
|
||||
// returns a patch for an attribute selector.
|
||||
function patchAttribute( attr ) {
|
||||
return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ?
|
||||
{ className: createClassName(attr), applyClass: true } : null;
|
||||
};
|
||||
|
||||
// --[ patchPseudoClass() ]---------------------------------------------
|
||||
// returns a patch for a pseudo-class
|
||||
function patchPseudoClass( pseudo ) {
|
||||
|
||||
var applyClass = true;
|
||||
var className = createClassName(pseudo.slice(1));
|
||||
var isNegated = pseudo.substring(0, 5) == ":not(";
|
||||
var activateEventName;
|
||||
var deactivateEventName;
|
||||
|
||||
// if negated, remove :not()
|
||||
if (isNegated) {
|
||||
pseudo = pseudo.slice(5, -1);
|
||||
}
|
||||
|
||||
// bracket contents are irrelevant - remove them
|
||||
var bracketIndex = pseudo.indexOf("(")
|
||||
if (bracketIndex > -1) {
|
||||
pseudo = pseudo.substring(0, bracketIndex);
|
||||
}
|
||||
|
||||
// check we're still dealing with a pseudo-class
|
||||
if (pseudo.charAt(0) == ":") {
|
||||
switch (pseudo.slice(1)) {
|
||||
|
||||
case "root":
|
||||
applyClass = function(e) {
|
||||
return isNegated ? e != root : e == root;
|
||||
}
|
||||
break;
|
||||
|
||||
case "target":
|
||||
// :target is only supported in IE8
|
||||
if (ieVersion == 8) {
|
||||
applyClass = function(e) {
|
||||
var handler = function() {
|
||||
var hash = location.hash;
|
||||
var hashID = hash.slice(1);
|
||||
return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID);
|
||||
};
|
||||
addEvent( win, "hashchange", function() {
|
||||
toggleElementClass(e, className, handler());
|
||||
})
|
||||
return handler();
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
|
||||
case "checked":
|
||||
applyClass = function(e) {
|
||||
if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) {
|
||||
addEvent( e, "propertychange", function() {
|
||||
if (event.propertyName == "checked") {
|
||||
toggleElementClass( e, className, e.checked !== isNegated );
|
||||
}
|
||||
})
|
||||
}
|
||||
return e.checked !== isNegated;
|
||||
}
|
||||
break;
|
||||
|
||||
case "disabled":
|
||||
isNegated = !isNegated;
|
||||
|
||||
case "enabled":
|
||||
applyClass = function(e) {
|
||||
if (RE_INPUT_ELEMENTS.test(e.tagName)) {
|
||||
addEvent( e, "propertychange", function() {
|
||||
if (event.propertyName == "$disabled") {
|
||||
toggleElementClass( e, className, e.$disabled === isNegated );
|
||||
}
|
||||
});
|
||||
enabledWatchers.push(e);
|
||||
e.$disabled = e.disabled;
|
||||
return e.disabled === isNegated;
|
||||
}
|
||||
return pseudo == ":enabled" ? isNegated : !isNegated;
|
||||
}
|
||||
break;
|
||||
|
||||
case "focus":
|
||||
activateEventName = "focus";
|
||||
deactivateEventName = "blur";
|
||||
|
||||
case "hover":
|
||||
if (!activateEventName) {
|
||||
activateEventName = "mouseenter";
|
||||
deactivateEventName = "mouseleave";
|
||||
}
|
||||
applyClass = function(e) {
|
||||
addEvent( e, isNegated ? deactivateEventName : activateEventName, function() {
|
||||
toggleElementClass( e, className, true );
|
||||
})
|
||||
addEvent( e, isNegated ? activateEventName : deactivateEventName, function() {
|
||||
toggleElementClass( e, className, false );
|
||||
})
|
||||
return isNegated;
|
||||
}
|
||||
break;
|
||||
|
||||
// everything else
|
||||
default:
|
||||
// If we don't support this pseudo-class don't create
|
||||
// a patch for it
|
||||
if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return { className: className, applyClass: applyClass };
|
||||
};
|
||||
|
||||
// --[ applyPatches() ]-------------------------------------------------
|
||||
// uses the passed selector text to find DOM nodes and patch them
|
||||
function applyPatches(selectorText, patches) {
|
||||
var elms;
|
||||
|
||||
// Although some selector libraries can find :checked :enabled etc.
|
||||
// we need to find all elements that could have that state because
|
||||
// it can be changed by the user.
|
||||
var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING);
|
||||
|
||||
// If the dom selector equates to an empty string or ends with
|
||||
// whitespace then we need to append a universal selector (*) to it.
|
||||
if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) {
|
||||
domSelectorText += "*";
|
||||
}
|
||||
|
||||
// Ensure we catch errors from the selector library
|
||||
try {
|
||||
elms = selectorMethod( domSelectorText );
|
||||
} catch (ex) {
|
||||
// #DEBUG_START
|
||||
log( "Selector '" + selectorText + "' threw exception '" + ex + "'" );
|
||||
// #DEBUG_END
|
||||
}
|
||||
|
||||
|
||||
if (elms) {
|
||||
for (var d = 0, dl = elms.length; d < dl; d++) {
|
||||
var elm = elms[d];
|
||||
var cssClasses = elm.className;
|
||||
for (var f = 0, fl = patches.length; f < fl; f++) {
|
||||
var patch = patches[f];
|
||||
|
||||
if (!hasPatch(elm, patch)) {
|
||||
if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) {
|
||||
cssClasses = toggleClass(cssClasses, patch.className, true );
|
||||
}
|
||||
}
|
||||
}
|
||||
elm.className = cssClasses;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// --[ hasPatch() ]-----------------------------------------------------
|
||||
// checks for the exsistence of a patch on an element
|
||||
function hasPatch( elm, patch ) {
|
||||
return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className);
|
||||
};
|
||||
|
||||
|
||||
// =========================== Utility =================================
|
||||
|
||||
function createClassName( className ) {
|
||||
return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ?
|
||||
ie6PatchID++
|
||||
:
|
||||
className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) }));
|
||||
};
|
||||
|
||||
// --[ log() ]----------------------------------------------------------
|
||||
// #DEBUG_START
|
||||
function log( message ) {
|
||||
if (win.console) {
|
||||
win.console.log(message);
|
||||
}
|
||||
};
|
||||
// #DEBUG_END
|
||||
|
||||
// --[ trim() ]---------------------------------------------------------
|
||||
// removes leading, trailing whitespace from a string
|
||||
function trim( text ) {
|
||||
return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING);
|
||||
};
|
||||
|
||||
// --[ normalizeWhitespace() ]------------------------------------------
|
||||
// removes leading, trailing and consecutive whitespace from a string
|
||||
function normalizeWhitespace( text ) {
|
||||
return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING);
|
||||
};
|
||||
|
||||
// --[ normalizeSelectorWhitespace() ]----------------------------------
|
||||
// tidies whitespace around selector brackets and combinators
|
||||
function normalizeSelectorWhitespace( selectorText ) {
|
||||
return normalizeWhitespace(selectorText.
|
||||
replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING).
|
||||
replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING)
|
||||
);
|
||||
};
|
||||
|
||||
// --[ toggleElementClass() ]-------------------------------------------
|
||||
// toggles a single className on an element
|
||||
function toggleElementClass( elm, className, on ) {
|
||||
var oldClassName = elm.className;
|
||||
var newClassName = toggleClass(oldClassName, className, on);
|
||||
if (newClassName != oldClassName) {
|
||||
elm.className = newClassName;
|
||||
elm.parentNode.className += EMPTY_STRING;
|
||||
}
|
||||
};
|
||||
|
||||
// --[ toggleClass() ]--------------------------------------------------
|
||||
// adds / removes a className from a string of classNames. Used to
|
||||
// manage multiple class changes without forcing a DOM redraw
|
||||
function toggleClass( classList, className, on ) {
|
||||
var re = RegExp("(^|\\s)" + className + "(\\s|$)");
|
||||
var classExists = re.test(classList);
|
||||
if (on) {
|
||||
return classExists ? classList : classList + SPACE_STRING + className;
|
||||
} else {
|
||||
return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList;
|
||||
}
|
||||
};
|
||||
|
||||
// --[ addEvent() ]-----------------------------------------------------
|
||||
function addEvent(elm, eventName, eventHandler) {
|
||||
elm.attachEvent("on" + eventName, eventHandler);
|
||||
};
|
||||
|
||||
// --[ getXHRObject() ]-------------------------------------------------
|
||||
function getXHRObject()
|
||||
{
|
||||
if (win.XMLHttpRequest) {
|
||||
return new XMLHttpRequest;
|
||||
}
|
||||
try {
|
||||
return new ActiveXObject('Microsoft.XMLHTTP');
|
||||
} catch(e) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
// --[ loadStyleSheet() ]-----------------------------------------------
|
||||
function loadStyleSheet( url ) {
|
||||
xhr.open("GET", url, false);
|
||||
xhr.send();
|
||||
return (xhr.status==200) ? xhr.responseText : EMPTY_STRING;
|
||||
};
|
||||
|
||||
// --[ resolveUrl() ]---------------------------------------------------
|
||||
// Converts a URL fragment to a fully qualified URL using the specified
|
||||
// context URL. Returns null if same-origin policy is broken
|
||||
function resolveUrl( url, contextUrl ) {
|
||||
|
||||
function getProtocolAndHost( url ) {
|
||||
return url.substring(0, url.indexOf("/", 8));
|
||||
};
|
||||
|
||||
// absolute path
|
||||
if (/^https?:\/\//i.test(url)) {
|
||||
return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null;
|
||||
}
|
||||
|
||||
// root-relative path
|
||||
if (url.charAt(0)=="/") {
|
||||
return getProtocolAndHost(contextUrl) + url;
|
||||
}
|
||||
|
||||
// relative path
|
||||
var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl
|
||||
if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") {
|
||||
contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1);
|
||||
}
|
||||
|
||||
return contextUrlPath + url;
|
||||
};
|
||||
|
||||
// --[ parseStyleSheet() ]----------------------------------------------
|
||||
// Downloads the stylesheet specified by the URL, removes it's comments
|
||||
// and recursivly replaces @import rules with their contents, ultimately
|
||||
// returning the full cssText.
|
||||
function parseStyleSheet( url ) {
|
||||
if (url) {
|
||||
return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING).
|
||||
replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) {
|
||||
return parseStyleSheet(resolveUrl(importUrl || importUrl2, url));
|
||||
}).
|
||||
replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) {
|
||||
quoteChar = quoteChar || EMPTY_STRING;
|
||||
return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") ";
|
||||
});
|
||||
}
|
||||
return EMPTY_STRING;
|
||||
};
|
||||
|
||||
// --[ init() ]---------------------------------------------------------
|
||||
function init() {
|
||||
// honour the <base> tag
|
||||
var url, stylesheet;
|
||||
var baseTags = doc.getElementsByTagName("BASE");
|
||||
var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href;
|
||||
|
||||
/* Note: This code prevents IE from freezing / crashing when using
|
||||
@font-face .eot files but it modifies the <head> tag and could
|
||||
trigger the IE stylesheet limit. It will also cause FOUC issues.
|
||||
If you choose to use it, make sure you comment out the for loop
|
||||
directly below this comment.
|
||||
|
||||
var head = doc.getElementsByTagName("head")[0];
|
||||
for (var c=doc.styleSheets.length-1; c>=0; c--) {
|
||||
stylesheet = doc.styleSheets[c]
|
||||
head.appendChild(doc.createElement("style"))
|
||||
var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1];
|
||||
|
||||
if (stylesheet.href != EMPTY_STRING) {
|
||||
url = resolveUrl(stylesheet.href, baseUrl)
|
||||
if (url) {
|
||||
patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) )
|
||||
stylesheet.disabled = true
|
||||
setTimeout( function () {
|
||||
stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
for (var c = 0; c < doc.styleSheets.length; c++) {
|
||||
stylesheet = doc.styleSheets[c]
|
||||
if (stylesheet.href != EMPTY_STRING) {
|
||||
url = resolveUrl(stylesheet.href, baseUrl);
|
||||
if (url) {
|
||||
stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// :enabled & :disabled polling script (since we can't hook
|
||||
// onpropertychange event when an element is disabled)
|
||||
if (enabledWatchers.length > 0) {
|
||||
setInterval( function() {
|
||||
for (var c = 0, cl = enabledWatchers.length; c < cl; c++) {
|
||||
var e = enabledWatchers[c];
|
||||
if (e.disabled !== e.$disabled) {
|
||||
if (e.disabled) {
|
||||
e.disabled = false;
|
||||
e.$disabled = true;
|
||||
e.disabled = true;
|
||||
}
|
||||
else {
|
||||
e.$disabled = e.disabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
},250)
|
||||
}
|
||||
};
|
||||
|
||||
// Bind selectivizr to the ContentLoaded event.
|
||||
ContentLoaded(win, function() {
|
||||
// Determine the "best fit" selector engine
|
||||
for (var engine in selectorEngines) {
|
||||
var members, member, context = win;
|
||||
if (win[engine]) {
|
||||
members = selectorEngines[engine].replace("*", engine).split(".");
|
||||
while ((member = members.shift()) && (context = context[member])) {}
|
||||
if (typeof context == "function") {
|
||||
selectorMethod = context;
|
||||
init();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*!
|
||||
* ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space)
|
||||
*
|
||||
* Author: Diego Perini (diego.perini at gmail.com)
|
||||
* Summary: cross-browser wrapper for DOMContentLoaded
|
||||
* Updated: 20101020
|
||||
* License: MIT
|
||||
* Version: 1.2
|
||||
*
|
||||
* URL:
|
||||
* http://javascript.nwbox.com/ContentLoaded/
|
||||
* http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
|
||||
*
|
||||
*/
|
||||
|
||||
// @w window reference
|
||||
// @f function reference
|
||||
function ContentLoaded(win, fn) {
|
||||
|
||||
var done = false, top = true,
|
||||
init = function(e) {
|
||||
if (e.type == "readystatechange" && doc.readyState != "complete") return;
|
||||
(e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false);
|
||||
if (!done && (done = true)) fn.call(win, e.type || e);
|
||||
},
|
||||
poll = function() {
|
||||
try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; }
|
||||
init('poll');
|
||||
};
|
||||
|
||||
if (doc.readyState == "complete") fn.call(win, EMPTY_STRING);
|
||||
else {
|
||||
if (doc.createEventObject && root.doScroll) {
|
||||
try { top = !win.frameElement; } catch(e) { }
|
||||
if (top) poll();
|
||||
}
|
||||
addEvent(doc,"readystatechange", init);
|
||||
addEvent(win,"load", init);
|
||||
}
|
||||
};
|
||||
})(this);
|
@ -10,10 +10,8 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"jquery": "~1.11.0",
|
||||
"html5shiv": "~3.7.0",
|
||||
"selectivizr": "~1.0.2",
|
||||
"qtip2": "~2.2.0",
|
||||
"normalize-css": "~3.0.0",
|
||||
"clipboard": "~1.4.3"
|
||||
"clipboard": "~1.4.3",
|
||||
"hint.css": "^2.7.0"
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ Some communities have strong preferences for particular licenses. If you want to
|
||||
* [GNU](https://www.gnu.org/licenses/license-recommendations.html) recommends [GNU GPLv3](/licenses/gpl-3.0/) for most programs
|
||||
* [npm packages](https://libraries.io/search?platforms=npm) overwhelmingly use the [MIT](/licenses/mit/) or the very similar [ISC](/licenses/isc) licenses
|
||||
* [OpenBSD](https://www.openbsd.org/policy.html) prefers the [ISC License](/licenses/isc/)
|
||||
* [Rust](https://rust-lang.github.io/api-guidelines/necessities.html#crate-and-its-dependencies-have-a-permissive-license-c-permissive) crates are overwhelmingly licensed under both [MIT](/licenses/mit/) and [Apache License 2.0](/licenses/apache-2.0/)
|
||||
* [Rust](https://rust-lang.github.io/api-guidelines/necessities.html#crate-and-its-dependencies-have-a-permissive-license-c-permissive) crates are overwhelmingly licensed [MIT](/licenses/mit/) [`OR`](https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/#d42-disjunctive-or-operator) [Apache License 2.0](/licenses/apache-2.0/)
|
||||
* [WordPress](https://wordpress.org/about/license/) plugins and themes must be [GNU GPLv2](/licenses/gpl-2.0/) (or later)
|
||||
* [Joomla](https://tm.joomla.org/joomla-license-faq.html#can-i-release-an-extension-under-a-non-gpl-license) extensions and templates must be [GNU GPLv2](/licenses/gpl-2.0/) for the PHP code.
|
||||
|
||||
|
@ -55,7 +55,7 @@ current = license_ids.include?(license)
|
||||
rows << ['Current license', current]
|
||||
|
||||
rows << :separator
|
||||
eligible = (!current && spdx && approved_licenses.include?(license))
|
||||
eligible = !current && spdx && approved_licenses.include?(license)
|
||||
rows << ['Eligible', eligible]
|
||||
|
||||
puts Terminal::Table.new title: "License: #{license}", rows: rows
|
||||
|
Loading…
x
Reference in New Issue
Block a user