├── .classpath
├── .gitattributes
├── .gitignore
├── .project
├── .settings
├── gradle
│ └── org.springsource.ide.eclipse.gradle.core.prefs
├── org.eclipse.buildship.core.prefs
├── org.eclipse.core.resources.prefs
└── org.eclipse.jdt.core.prefs
├── .travis.yml
├── README.md
├── build.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── lib
└── jsr305.jar
├── license.txt
├── package.json
├── src
└── com
│ └── inet
│ └── lib
│ └── less
│ ├── ColorUtils.java
│ ├── Comment.java
│ ├── CompressCssFormatter.java
│ ├── CssAtRule.java
│ ├── CssFormatter.java
│ ├── CssMediaOutput.java
│ ├── CssOutput.java
│ ├── CssPlainOutput.java
│ ├── CssRuleOutput.java
│ ├── CustomFunctionColorizeImage.java
│ ├── CustomLessFunction.java
│ ├── DefaultedHashMap.java
│ ├── Expression.java
│ ├── Formattable.java
│ ├── FormattableContainer.java
│ ├── FunctionExpression.java
│ ├── HSL.java
│ ├── HSV.java
│ ├── HashMultimap.java
│ ├── JavaScriptBindings.java
│ ├── JavaScriptContext.java
│ ├── JavaScriptExpression.java
│ ├── JavaScriptObject.java
│ ├── LazyImport.java
│ ├── Less.java
│ ├── LessException.java
│ ├── LessExtend.java
│ ├── LessExtendMap.java
│ ├── LessExtendResult.java
│ ├── LessFilePosition.java
│ ├── LessLookAheadReader.java
│ ├── LessObject.java
│ ├── LessParser.java
│ ├── Mixin.java
│ ├── MixinMatch.java
│ ├── Operation.java
│ ├── ParameterOutOfBoundsException.java
│ ├── ReaderFactory.java
│ ├── ReferenceInfo.java
│ ├── RegExp.java
│ ├── Rule.java
│ ├── RuleProperty.java
│ ├── SelectorTokenizer.java
│ ├── SelectorUtils.java
│ ├── StringBuilderPool.java
│ ├── UrlUtils.java
│ ├── ValueExpression.java
│ └── VariableExpression.java
└── test
└── com
└── inet
└── lib
└── less
├── ErrorTest.java
├── LessTest.java
├── RewriteUrls
├── all.css
├── local.css
├── main.jpg
├── main.less
├── off.css
├── subfolder1
│ ├── image.jpg
│ ├── sub1.less
│ ├── subfolder2
│ │ ├── sub.jpg
│ │ └── sub2.less
│ └── test.jpg
└── test.jpg
├── RewriteUrlsTest.java
└── samples
├── bootstrap
├── LICENSE
├── bootstrap-3.3.1.css
├── bootstrap-3.3.1.less
├── bootstrap-3.3.1
│ ├── .csscomb.json
│ ├── .csslintrc
│ ├── alerts.less
│ ├── badges.less
│ ├── bootstrap.less
│ ├── breadcrumbs.less
│ ├── button-groups.less
│ ├── buttons.less
│ ├── carousel.less
│ ├── close.less
│ ├── code.less
│ ├── component-animations.less
│ ├── dropdowns.less
│ ├── forms.less
│ ├── glyphicons.less
│ ├── grid.less
│ ├── input-groups.less
│ ├── jumbotron.less
│ ├── labels.less
│ ├── list-group.less
│ ├── media.less
│ ├── mixins.less
│ ├── mixins
│ │ ├── alerts.less
│ │ ├── background-variant.less
│ │ ├── border-radius.less
│ │ ├── buttons.less
│ │ ├── center-block.less
│ │ ├── clearfix.less
│ │ ├── forms.less
│ │ ├── gradients.less
│ │ ├── grid-framework.less
│ │ ├── grid.less
│ │ ├── hide-text.less
│ │ ├── image.less
│ │ ├── labels.less
│ │ ├── list-group.less
│ │ ├── nav-divider.less
│ │ ├── nav-vertical-align.less
│ │ ├── opacity.less
│ │ ├── pagination.less
│ │ ├── panels.less
│ │ ├── progress-bar.less
│ │ ├── reset-filter.less
│ │ ├── resize.less
│ │ ├── responsive-visibility.less
│ │ ├── size.less
│ │ ├── tab-focus.less
│ │ ├── table-row.less
│ │ ├── text-emphasis.less
│ │ ├── text-overflow.less
│ │ └── vendor-prefixes.less
│ ├── modals.less
│ ├── navbar.less
│ ├── navs.less
│ ├── normalize.less
│ ├── pager.less
│ ├── pagination.less
│ ├── panels.less
│ ├── popovers.less
│ ├── print.less
│ ├── progress-bars.less
│ ├── responsive-embed.less
│ ├── responsive-utilities.less
│ ├── scaffolding.less
│ ├── tables.less
│ ├── theme.less
│ ├── thumbnails.less
│ ├── tooltip.less
│ ├── type.less
│ ├── utilities.less
│ ├── variables.less
│ └── wells.less
└── corporate
│ ├── corporate_importants.less
│ ├── corporate_variables.less
│ ├── corporatedesign_basic.less
│ ├── images-sprite.less
│ ├── template_css.less
│ └── template_variables.less
├── custom
├── colorize-image.1.8.css
├── colorize-image.css
├── colorize-image.less
├── disconnect.png
└── eye-white.png
├── general
├── anchorURL.css
├── anchorURL.less
├── colors.css
├── colors.css_x
├── colors.less
├── colors2.css
├── colors2.less
├── css_guards.css
├── css_guards.less
├── doubleRule.css
├── doubleRule.css_x
├── doubleRule.less
├── doubleRule2.css
├── doubleRule2.css_x
├── doubleRule2.less
├── escaped-arguments.css
├── escaped-arguments.less
├── extend-special.css
├── extend-special.less
├── guard.css
├── guard.less
├── import.css
├── import.less
├── import
│ ├── importReferences.css
│ ├── importReferences.less
│ ├── importReferences2.css
│ ├── importReferences2.less
│ ├── media.less
│ ├── media_imports.css
│ └── media_imports.less
├── importOptional.css
├── importOptional.less
├── important.css
├── important.less
├── inlineMode.css
├── inlineMode.less
├── loop.css
├── loop.less
├── minus.css
├── minus.less
├── parent-selectors.css
├── parent-selectors.less
├── parenthesis.css
├── parenthesis.less
├── scope
│ ├── scope1.css
│ ├── scope1.less
│ ├── scope2.css
│ ├── scope2.less
│ ├── scope3.css
│ ├── scope3.less
│ ├── scope4.css
│ ├── scope4.less
│ ├── scope5.css
│ ├── scope5.less
│ ├── scope6.css
│ ├── scope6.less
│ ├── scope7.css
│ ├── scope7.less
│ ├── scope8.css
│ ├── scope8.less
│ ├── scope9.css
│ └── scope9.less
├── selectorWithQuotes.css
├── selectorWithQuotes.less
├── slash.css
├── slash.less
├── svgGradient.css
└── svgGradient.less
├── less_org_doc
├── ParentSelectors
│ ├── MultipleAnd1.css
│ ├── MultipleAnd1.less
│ ├── MultipleAnd2.css
│ ├── MultipleAnd2.less
│ ├── base.css
│ └── base.less
├── extends
│ ├── InsideMedia.css
│ ├── InsideMedia.less
│ ├── all.css
│ ├── all.less
│ ├── base.css
│ ├── base.less
│ ├── element.css
│ └── element.less
├── guards
│ ├── conditional.css
│ ├── conditional.less
│ ├── css_guards.css
│ ├── css_guards.less
│ ├── list.css
│ ├── list.less
│ ├── logical_operators.css
│ └── logical_operators.less
├── license.txt
├── list
│ ├── range.css
│ └── range.less
├── logical
│ ├── if1.css
│ ├── if1.less
│ ├── if2.css
│ └── if2.less
├── mixins
│ ├── MultipleParameters.css
│ ├── MultipleParameters.less
│ ├── as_function.css
│ ├── as_function.less
│ ├── as_function2.css
│ ├── as_function2.less
│ ├── base.css
│ ├── base.css_x
│ ├── base.less
│ ├── colon.css
│ ├── colon.less
│ ├── important.css
│ ├── important.css_x
│ ├── important.less
│ ├── namespaces.css
│ ├── namespaces.css_x
│ ├── namespaces.less
│ ├── outputting.css
│ ├── outputting.css_x
│ ├── outputting.less
│ ├── parametric.css
│ ├── parametric.less
│ ├── root.css
│ ├── root.less
│ ├── selectors.css
│ ├── selectors.css_x
│ └── selectors.less
└── overview
│ ├── bubbling_non_conditional.css
│ ├── bubbling_non_conditional.css_x
│ ├── bubbling_non_conditional.less
│ ├── comments.css
│ ├── comments.css_x
│ ├── comments.less
│ ├── functions.css
│ ├── functions.css_x
│ ├── functions.less
│ ├── media.css
│ ├── media.css_x
│ ├── media.less
│ ├── mixins.css
│ ├── mixins.css_x
│ ├── mixins.less
│ ├── namespace.css
│ ├── namespace.css_x
│ ├── namespace.less
│ ├── nested_rules.css
│ ├── nested_rules.css_x
│ ├── nested_rules.less
│ ├── operations.css
│ ├── operations.css_x
│ ├── operations.less
│ ├── pseudo_selector.css
│ ├── pseudo_selector.css_x
│ ├── pseudo_selector.less
│ ├── scope.css
│ ├── scope.css_x
│ ├── scope.less
│ ├── variables.css
│ ├── variables.css_x
│ └── variables.less
└── less_org_tests
├── LICENSE
├── data
├── data-uri-fail.png
├── image.jpg
└── page.html
└── less
├── charsets.css
├── charsets.less
├── colors.css
├── colors.less
├── comments.css
├── comments.less
├── compression
├── compression.css
└── compression.less
├── css-3.css
├── css-3.less
├── css-escapes.css
├── css-escapes.less
├── css.css
├── css.less
├── empty.css
├── empty.less
├── extend-chaining.css
├── extend-chaining.less
├── extend-clearfix.css
├── extend-clearfix.less
├── extend-exact.css
├── extend-exact.less
├── extend-media.css
├── extend-media.less
├── extend-nest.css
├── extend-nest.less
├── extend-selector.css
├── extend-selector.less
├── extend.css
├── extend.less
├── extract-and-length.css
├── extract-and-length.less
├── functions.css
├── functions.less
├── ie-filters.css
├── ie-filters.less
├── import-inline.css
├── import-inline.less
├── import-interpolation.css
├── import-interpolation.less
├── import-once.css
├── import-once.less
├── import.css
├── import.less
├── import
├── deeper
│ └── import-once-test-a.less
├── import-and-relative-paths-test.less
├── import-charset-test.less
├── import-interpolation.less
├── import-interpolation2.less
├── import-once-test-c.less
├── import-reference.less
├── import-test-a.less
├── import-test-b.less
├── import-test-c.less
├── import-test-d.css
├── import-test-e.less
├── import-test-f.less
├── imports
│ ├── font.less
│ └── logo.less
├── invalid-css.less
└── urls.less
├── javascript.css
├── javascript.less
├── lazy-eval.css
├── lazy-eval.less
├── legacy
├── legacy.css
└── legacy.less
├── mixins-guards-default-func.css
├── mixins-guards-default-func.less
├── mixins-important.css
├── mixins-important.less
├── mixins-named-args.css
├── mixins-named-args.less
├── mixins-nested.css
├── mixins-nested.less
├── mixins-pattern.css
├── mixins-pattern.less
├── no-output.css
├── no-output.less
├── operations.css
├── operations.less
├── parens.css
├── parens.less
├── rulesets.css
├── rulesets.less
├── selectors.css
├── selectors.less
├── static-urls
├── urls.css
└── urls.less
├── strings.css
├── strings.less
├── url-args
├── urls.css
└── urls.less
├── urls.css
├── urls.less
├── variables-in-at-rules.css
├── variables-in-at-rules.less
├── variables.css
├── variables.less
├── whitespace.css
└── whitespace.less
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Images
5 | *.gif binary
6 | *.ico binary
7 | *.jpg binary
8 | *.jpeg binary
9 | *.png binary
10 | *.webp binary
11 |
12 | # Custom for Visual Studio
13 | *.cs diff=csharp
14 |
15 | # Standard to msysgit
16 | *.doc diff=astextplain
17 | *.DOC diff=astextplain
18 | *.docx diff=astextplain
19 | *.DOCX diff=astextplain
20 | *.dot diff=astextplain
21 | *.DOT diff=astextplain
22 | *.pdf diff=astextplain
23 | *.PDF diff=astextplain
24 | *.rtf diff=astextplain
25 | *.RTF diff=astextplain
26 |
27 | *.java text eol=lf
28 | *.java diff=java
29 |
30 | *.html text eol=lf
31 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /build/
3 | /.gradle/
4 | /node_modules/
5 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | JLessC
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.buildship.core.gradleprojectbuilder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.buildship.core.gradleprojectnature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.settings/gradle/org.springsource.ide.eclipse.gradle.core.prefs:
--------------------------------------------------------------------------------
1 | #org.springsource.ide.eclipse.gradle.core.preferences.GradleProjectPreferences
2 | #Tue Feb 17 19:44:27 CET 2015
3 | build.family.org.gradle.tooling.model.eclipse.HierarchicalEclipseProject=;
4 | org.springsource.ide.eclipse.gradle.classpath.enableSorting=false
5 | org.springsource.ide.eclipse.gradle.rootprojectloc=
6 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.buildship.core.prefs:
--------------------------------------------------------------------------------
1 | connection.project.dir=
2 | eclipse.preferences.version=1
3 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF8
3 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.7
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.source=1.7
13 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # Use docker-based build environment (instead of openvz)
2 | dist: trusty
3 | sudo: false
4 |
5 | language: java
6 | jdk:
7 | - oraclejdk8
8 | # - oraclejdk9
9 | # - openjdk10
10 | - openjdk11
11 | - openjdk12
12 | - openjdk14
13 | # - openjdk-ea
14 |
15 | script: ./gradlew -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2" --stacktrace check benchmark
16 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip
6 |
--------------------------------------------------------------------------------
/lib/jsr305.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/lib/jsr305.jar
--------------------------------------------------------------------------------
/license.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Volker Berlin
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "JLessCTest",
3 | "version": "1.0.0",
4 | "description": "Test Suite for nodeJS based less compilation",
5 | "author": "i-net software",
6 | "private": true,
7 | "devDependencies": {
8 | "less": "^2.5.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/Comment.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2018 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * A comment in the less file.
31 | */
32 | class Comment implements Formattable {
33 |
34 | private String msg;
35 |
36 | /**
37 | * Create a new instance of Comment.
38 | * @param msg the comment text
39 | */
40 | Comment( String msg ) {
41 | this.msg = msg;
42 | }
43 |
44 | /**
45 | * {@inheritDoc}
46 | */
47 | @Override
48 | public final int getType() {
49 | return COMMENT;
50 | }
51 |
52 | /**
53 | * {@inheritDoc}
54 | */
55 | @Override
56 | public void prepare( CssFormatter formatter ) {
57 | // nothing
58 | }
59 |
60 | /**
61 | * {@inheritDoc}
62 | */
63 | @Override
64 | public void appendTo( CssFormatter formatter ) {
65 | formatter.comment( msg );
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/CssOutput.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 |
30 | /**
31 | * Container for formatted CSS result.
32 | */
33 | abstract class CssOutput {
34 |
35 | /**
36 | * Write the this output to the target
37 | * @param target the target
38 | * @param lessExtends all extends in the less
39 | * @param formatter a formatter
40 | */
41 | abstract void appendTo( StringBuilder target, LessExtendMap lessExtends, CssFormatter formatter );
42 |
43 | /**
44 | * If this output has content
45 | *
46 | * @param lessExtends
47 | * current extends container
48 | * @return true, if there is content
49 | */
50 | abstract boolean hasContent( LessExtendMap lessExtends );
51 |
52 | /**
53 | * Get the selectors of this rule.
54 | *
55 | * @return the selectors
56 | */
57 | abstract String[] getSelectors();
58 |
59 | /**
60 | * Get the native output buffer
61 | *
62 | * @return the buffer
63 | */
64 | abstract StringBuilder getOutput();
65 | }
66 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/CustomLessFunction.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2020 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | import java.util.List;
30 |
31 | /**
32 | * Interface to simple extends the less syntax with exotic functions without forking the JLessC project.
33 | */
34 | public interface CustomLessFunction {
35 |
36 | /**
37 | * Append this custom function to formatter
38 | *
39 | * @param formatter
40 | * current formatter
41 | * @param parameters
42 | * the parameters.
43 | * @throws Exception
44 | * if any error occur it can throw any exception
45 | */
46 | public void appendTo( CssFormatter formatter, List parameters ) throws Exception;
47 | }
48 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/DefaultedHashMap.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | import java.util.HashMap;
30 | import java.util.Map;
31 |
32 | import javax.annotation.Nonnull;
33 |
34 | /**
35 | * HashMap with default values.
36 | *
37 | * @param
38 | * the type of keys maintained by this map
39 | * @param
40 | * the type of mapped values
41 | */
42 | class DefaultedHashMap extends HashMap {
43 |
44 | private final Map defaultValues;
45 |
46 | /**
47 | * Create a new instance. The default values are referenced and not copied.
48 | *
49 | * @param defaultValues
50 | * the default values
51 | */
52 | DefaultedHashMap( @Nonnull Map defaultValues ) {
53 | this.defaultValues = defaultValues;
54 | }
55 |
56 | /**
57 | * {@inheritDoc}
58 | */
59 | @Override
60 | public V get( Object key ) {
61 | V value = super.get( key );
62 | if( value != null ) {
63 | return value;
64 | }
65 | return defaultValues.get( key );
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/Formattable.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2018 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * An object that can be print as CSS.
31 | */
32 | interface Formattable {
33 |
34 | static final int PROPERTY = 0;
35 | static final int RULE = 1;
36 | static final int MIXIN = 2;
37 | static final int EXPRESSION = 3;
38 | static final int COMMENT = 4;
39 | static final int CSS_AT_RULE = 5;
40 | static final int EXTENDS = 6;
41 | static final int REFERENCE_INFO = 7;
42 |
43 | /**
44 | * The type of formattable. Can be used in switches
45 | * @return the type
46 | */
47 | int getType();
48 |
49 | /**
50 | * Prepare/evaluate global stuctures
51 | *
52 | * @param formatter
53 | * the CCS target
54 | */
55 | void prepare( CssFormatter formatter );
56 |
57 | /**
58 | * Write the object to the CSS output
59 | *
60 | * @param formatter
61 | * the CCS target
62 | */
63 | void appendTo( CssFormatter formatter );
64 | }
65 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/FormattableContainer.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2018 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | import java.util.HashMap;
30 |
31 | /**
32 | * A interface of for sharing feature between root and rules.
33 | */
34 | interface FormattableContainer {
35 |
36 | /**
37 | * Add a formattable to this container
38 | * @param formattable the formattable object
39 | */
40 | void add( Formattable formattable );
41 |
42 | /**
43 | * Get the container for variables of this container.
44 | * @return the variables
45 | */
46 | HashMap getVariables();
47 |
48 | /**
49 | * Get the map of registered mixin rules for the current scope.
50 | *
51 | * @return the map
52 | */
53 | HashMultimap getMixins();
54 | }
55 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/HSL.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2020 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * A HSL color value.
31 | */
32 | public class HSL {
33 |
34 | public double h, s, l, a;
35 |
36 | /**
37 | * Create a new color value.
38 | * @param h hue value
39 | * @param s saturation
40 | * @param l lightness
41 | * @param a alpha
42 | */
43 | public HSL( double h, double s, double l, double a ) {
44 | this.h = h;
45 | this.s = s;
46 | this.l = l;
47 | this.a = a;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/HSV.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * A HSV color value.
31 | */
32 | class HSV {
33 |
34 | double h, s, v, a;
35 |
36 | /**
37 | * Create a new color value.
38 | * @param h hue value
39 | * @param s saturation
40 | * @param v value
41 | * @param a alpha
42 | */
43 | public HSV( double h, double s, double v, double a ) {
44 | this.h = h;
45 | this.s = s;
46 | this.v = v;
47 | this.a = a;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/JavaScriptObject.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * Wrapper class to accessible a variable through scripting engine. Must be public. Lesscss expected that the values are accessible through the method toJS().
31 | */
32 | public class JavaScriptObject {
33 |
34 | private Object obj;
35 |
36 | /**
37 | * New wrapper object.
38 | * @param obj the native value
39 | */
40 | JavaScriptObject( Object obj ) {
41 | this.obj = obj;
42 | }
43 |
44 | /**
45 | * Unwrap method. Must be public.
46 | * @return the value
47 | */
48 | public Object toJS() {
49 | return obj;
50 | }
51 |
52 | /**
53 | * {@inheritDoc}
54 | */
55 | @Override
56 | public String toString() {
57 | return obj.toString();
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/LessExtendResult.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * An executed less expression with the selector of the caller.
31 | */
32 | class LessExtendResult {
33 |
34 | private final String[] mainSelector;
35 |
36 | private final String extendingSelector;
37 |
38 | /**
39 | * Create a new instance.
40 | * @param mainSelector the main selectors of the extend
41 | * @param extendingSelector the extends selector
42 | */
43 | LessExtendResult( String[] mainSelector, String extendingSelector ) {
44 | this.mainSelector = mainSelector;
45 | this.extendingSelector = extendingSelector;
46 | }
47 |
48 | /**
49 | * Get the main selectors.
50 | * @return the selectors
51 | */
52 | String[] getSelectors() {
53 | return mainSelector;
54 | }
55 |
56 | /**
57 | * Get the extending selectors.
58 | * @return the selectors.
59 | */
60 | String getExtendingSelector() {
61 | return extendingSelector;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/ParameterOutOfBoundsException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2014 - 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | /**
30 | * A special exception for canceling of evaluating a function.
31 | */
32 | class ParameterOutOfBoundsException extends IndexOutOfBoundsException {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/inet/lib/less/StringBuilderPool.java:
--------------------------------------------------------------------------------
1 | /**
2 | * MIT License (MIT)
3 | *
4 | * Copyright (c) 2015 Volker Berlin
5 | *
6 | * Permission is hereby granted, free of charge, to any person obtaining a copy
7 | * of this software and associated documentation files (the "Software"), to deal
8 | * in the Software without restriction, including without limitation the rights
9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | * copies of the Software, and to permit persons to whom the Software is
11 | * furnished to do so, subject to the following conditions:
12 | *
13 | * The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | *
16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | * UT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | * THE SOFTWARE.
23 | *
24 | * @author Volker Berlin
25 | * @license: The MIT license
26 | */
27 | package com.inet.lib.less;
28 |
29 | import java.util.ArrayDeque;
30 |
31 | import javax.annotation.Nonnull;
32 |
33 | /**
34 | * A pool for StringBuilders to reduce the allocation of new objects.
35 | */
36 | final class StringBuilderPool {
37 |
38 | private final ArrayDeque pool = new ArrayDeque();
39 |
40 | /**
41 | * Get a StringBuilder
42 | * @return a StringBuilder
43 | */
44 | @Nonnull
45 | StringBuilder get() {
46 | if( pool.size() == 0 ) {
47 | return new StringBuilder();
48 | } else {
49 | StringBuilder builder = pool.pollLast();
50 | builder.setLength( 0 );
51 | return builder;
52 | }
53 | }
54 |
55 | /**
56 | * Return a StringBuilder to the pool.
57 | * @param builder a StringBuilder
58 | */
59 | void free( StringBuilder builder ) {
60 | pool.addLast( builder );
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/all.css:
--------------------------------------------------------------------------------
1 | .rule2 {
2 | url1: url('subfolder1/image.jpg');
3 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
4 | url3: url('subfolder1/subfolder2/subfolder1/image.jpg');
5 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
6 | url5: url('subfolder1/DoesNotExists.jpg');
7 | url6: url('subfolder1/subfolder2/subfolder1/DoesNotExists.jpg');
8 | url7: url('main.jpg');
9 | url8: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
10 | url9: url('http://test.com');
11 | }
12 | .rule1 {
13 | url1: url('subfolder1/image.jpg');
14 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
15 | url3: url('subfolder1/subfolder1/image.jpg');
16 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
17 | url5: url('subfolder1/DoesNotExists.jpg');
18 | url6: url('subfolder1/subfolder1/DoesNotExists.jpg');
19 | url7: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
20 | url8: url('main.jpg');
21 | url9: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
22 | url10: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
23 | url11: url('/main.jpg');
24 | url12: url('subfolder1/subfolder2/sub.jpg');
25 | url13: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
26 | url14: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgc3ViZm9sZGVy");
27 | url15: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgbWFpbg==");
28 | url16: url('subfolder1/test.jpg');
29 | url17: url('test.jpg');
30 | }
31 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/local.css:
--------------------------------------------------------------------------------
1 | .rule2 {
2 | url1: url('subfolder1/image.jpg');
3 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
4 | url3: url('subfolder1/image.jpg');
5 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
6 | url5: url('subfolder1/DoesNotExists.jpg');
7 | url6: url('subfolder1/DoesNotExists.jpg');
8 | url7: url('main.jpg');
9 | url8: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
10 | url9: url('http://test.com');
11 | }
12 | .rule1 {
13 | url1: url('image.jpg');
14 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
15 | url3: url('subfolder1/image.jpg');
16 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
17 | url5: url('DoesNotExists.jpg');
18 | url6: url('subfolder1/DoesNotExists.jpg');
19 | url7: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
20 | url8: url('main.jpg');
21 | url9: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
22 | url10: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
23 | url11: url('/main.jpg');
24 | url12: url('subfolder2/sub.jpg');
25 | url13: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
26 | url14: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgc3ViZm9sZGVy");
27 | url15: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgbWFpbg==");
28 | url16: url('test.jpg');
29 | url17: url('test.jpg');
30 | }
31 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/main.jpg:
--------------------------------------------------------------------------------
1 | not actually a jpeg file
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/main.less:
--------------------------------------------------------------------------------
1 | @import 'subfolder1/sub1.less';
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/off.css:
--------------------------------------------------------------------------------
1 | .rule2 {
2 | url1: url('../image.jpg');
3 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
4 | url3: url('subfolder1/image.jpg');
5 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
6 | url5: url('../DoesNotExists.jpg');
7 | url6: url('subfolder1/DoesNotExists.jpg');
8 | url7: url('../../main.jpg');
9 | url8: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
10 | url9: url('http://test.com');
11 | }
12 | .rule1 {
13 | url1: url('image.jpg');
14 | url2: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
15 | url3: url('subfolder1/image.jpg');
16 | url4: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
17 | url5: url('DoesNotExists.jpg');
18 | url6: url('subfolder1/DoesNotExists.jpg');
19 | url7: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
20 | url8: url('../main.jpg');
21 | url9: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
22 | url10: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
23 | url11: url('/main.jpg');
24 | url12: url('subfolder2/sub.jpg');
25 | url13: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
26 | url14: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgbWFpbg==");
27 | url15: url("data:image/jpeg;base64,dGhpcyBpcyBpbiB0aGUgbWFpbg==");
28 | url16: url('test.jpg');
29 | url17: url('../test.jpg');
30 | }
31 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/subfolder1/image.jpg:
--------------------------------------------------------------------------------
1 | not actually a jpeg file
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/subfolder1/sub1.less:
--------------------------------------------------------------------------------
1 | @import 'subfolder2/sub2.less';
2 |
3 | .rule1 {
4 | url1: url('image.jpg');
5 | url2: data-uri('image.jpg');
6 | url3: url('subfolder1/image.jpg');
7 | url4: data-uri('subfolder1/image.jpg');
8 | url5: data-uri('DoesNotExists.jpg');
9 | url6: data-uri('subfolder1/DoesNotExists.jpg');
10 | url7: url("data:image/jpeg;base64,bm90IGFjdHVhbGx5IGEganBlZyBmaWxlCg==");
11 | url8: url('../main.jpg');
12 | url9: data-uri('../main.jpg');
13 | url10: data-uri('/main.jpg');
14 | url11: url('/main.jpg');
15 | url12: url('subfolder2/sub.jpg');
16 | url13: data-uri('subfolder2/sub.jpg');
17 | url14: data-uri('test.jpg');
18 | url15: data-uri('../test.jpg');
19 | url16: url('test.jpg');
20 | url17: url('../test.jpg');
21 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/subfolder1/subfolder2/sub.jpg:
--------------------------------------------------------------------------------
1 | not actually a jpeg file
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/subfolder1/subfolder2/sub2.less:
--------------------------------------------------------------------------------
1 | .rule2 {
2 | url1: url('../image.jpg');
3 | url2: data-uri('../image.jpg');
4 | url3: url('subfolder1/image.jpg');
5 | url4: data-uri('subfolder1/image.jpg');
6 | url5: data-uri('../DoesNotExists.jpg');
7 | url6: data-uri('subfolder1/DoesNotExists.jpg');
8 | url7: url('../../main.jpg');
9 | url8: data-uri('../../main.jpg');
10 | url9: url('http://test.com');
11 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/subfolder1/test.jpg:
--------------------------------------------------------------------------------
1 | this is in the subfolder
--------------------------------------------------------------------------------
/test/com/inet/lib/less/RewriteUrls/test.jpg:
--------------------------------------------------------------------------------
1 | this is in the main
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2014 Twitter, Inc
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1.less:
--------------------------------------------------------------------------------
1 | @import "bootstrap-3.3.1/bootstrap.less";
2 | @import "corporate/corporatedesign_basic.less";
3 | @import "corporate/corporate_variables.less";
4 | @import "corporate/template_variables.less";
5 | @import "corporate/template_css.less";
6 | @import "corporate/images-sprite.less";
7 | @import "corporate/corporate_importants.less";
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/.csslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "adjoining-classes": false,
3 | "box-sizing": false,
4 | "box-model": false,
5 | "compatible-vendor-prefixes": false,
6 | "floats": false,
7 | "font-sizes": false,
8 | "gradients": false,
9 | "important": false,
10 | "known-properties": false,
11 | "outline-none": false,
12 | "qualified-headings": false,
13 | "regex-selectors": false,
14 | "shorthand": false,
15 | "text-indent": false,
16 | "unique-headings": false,
17 | "universal-selector": false,
18 | "unqualified-attributes": false
19 | }
20 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/alerts.less:
--------------------------------------------------------------------------------
1 | //
2 | // Alerts
3 | // --------------------------------------------------
4 |
5 |
6 | // Base styles
7 | // -------------------------
8 |
9 | .alert {
10 | padding: @alert-padding;
11 | margin-bottom: @line-height-computed;
12 | border: 1px solid transparent;
13 | border-radius: @alert-border-radius;
14 |
15 | // Headings for larger alerts
16 | h4 {
17 | margin-top: 0;
18 | // Specified for the h4 to prevent conflicts of changing @headings-color
19 | color: inherit;
20 | }
21 | // Provide class for links that match alerts
22 | .alert-link {
23 | font-weight: @alert-link-font-weight;
24 | }
25 |
26 | // Improve alignment and spacing of inner content
27 | > p,
28 | > ul {
29 | margin-bottom: 0;
30 | }
31 | > p + p {
32 | margin-top: 5px;
33 | }
34 | }
35 |
36 | // Dismissible alerts
37 | //
38 | // Expand the right padding and account for the close button's positioning.
39 |
40 | .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
41 | .alert-dismissible {
42 | padding-right: (@alert-padding + 20);
43 |
44 | // Adjust close link position
45 | .close {
46 | position: relative;
47 | top: -2px;
48 | right: -21px;
49 | color: inherit;
50 | }
51 | }
52 |
53 | // Alternate styles
54 | //
55 | // Generate contextual modifier classes for colorizing the alert.
56 |
57 | .alert-success {
58 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
59 | }
60 | .alert-info {
61 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
62 | }
63 | .alert-warning {
64 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
65 | }
66 | .alert-danger {
67 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
68 | }
69 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/badges.less:
--------------------------------------------------------------------------------
1 | //
2 | // Badges
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .badge {
8 | display: inline-block;
9 | min-width: 10px;
10 | padding: 3px 7px;
11 | font-size: @font-size-small;
12 | font-weight: @badge-font-weight;
13 | color: @badge-color;
14 | line-height: @badge-line-height;
15 | vertical-align: baseline;
16 | white-space: nowrap;
17 | text-align: center;
18 | background-color: @badge-bg;
19 | border-radius: @badge-border-radius;
20 |
21 | // Empty badges collapse automatically (not available in IE8)
22 | &:empty {
23 | display: none;
24 | }
25 |
26 | // Quick fix for badges in buttons
27 | .btn & {
28 | position: relative;
29 | top: -1px;
30 | }
31 | .btn-xs & {
32 | top: 0;
33 | padding: 1px 5px;
34 | }
35 |
36 | // Hover state, but only for links
37 | a& {
38 | &:hover,
39 | &:focus {
40 | color: @badge-link-hover-color;
41 | text-decoration: none;
42 | cursor: pointer;
43 | }
44 | }
45 |
46 | // Account for badges in navs
47 | .list-group-item.active > &,
48 | .nav-pills > .active > a > & {
49 | color: @badge-active-color;
50 | background-color: @badge-active-bg;
51 | }
52 | .list-group-item > & {
53 | float: right;
54 | }
55 | .list-group-item > & + & {
56 | margin-right: 5px;
57 | }
58 | .nav-pills > li > a > & {
59 | margin-left: 3px;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/bootstrap.less:
--------------------------------------------------------------------------------
1 | // Core variables and mixins
2 | @import "variables.less";
3 | @import "mixins.less";
4 |
5 | // Reset and dependencies
6 | @import "normalize.less";
7 | @import "print.less";
8 | @import "glyphicons.less";
9 |
10 | // Core CSS
11 | @import "scaffolding.less";
12 | @import "type.less";
13 | @import "code.less";
14 | @import "grid.less";
15 | @import "tables.less";
16 | @import "forms.less";
17 | @import "buttons.less";
18 |
19 | // Components
20 | @import "component-animations.less";
21 | @import "dropdowns.less";
22 | @import "button-groups.less";
23 | @import "input-groups.less";
24 | @import "navs.less";
25 | @import "navbar.less";
26 | @import "breadcrumbs.less";
27 | @import "pagination.less";
28 | @import "pager.less";
29 | @import "labels.less";
30 | @import "badges.less";
31 | @import "jumbotron.less";
32 | @import "thumbnails.less";
33 | @import "alerts.less";
34 | @import "progress-bars.less";
35 | @import "media.less";
36 | @import "list-group.less";
37 | @import "panels.less";
38 | @import "responsive-embed.less";
39 | @import "wells.less";
40 | @import "close.less";
41 |
42 | // Components w/ JavaScript
43 | @import "modals.less";
44 | @import "tooltip.less";
45 | @import "popovers.less";
46 | @import "carousel.less";
47 |
48 | // Utility classes
49 | @import "utilities.less";
50 | @import "responsive-utilities.less";
51 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/breadcrumbs.less:
--------------------------------------------------------------------------------
1 | //
2 | // Breadcrumbs
3 | // --------------------------------------------------
4 |
5 |
6 | .breadcrumb {
7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8 | margin-bottom: @line-height-computed;
9 | list-style: none;
10 | background-color: @breadcrumb-bg;
11 | border-radius: @border-radius-base;
12 |
13 | > li {
14 | display: inline-block;
15 |
16 | + li:before {
17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18 | padding: 0 5px;
19 | color: @breadcrumb-color;
20 | }
21 | }
22 |
23 | > .active {
24 | color: @breadcrumb-active-color;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/close.less:
--------------------------------------------------------------------------------
1 | //
2 | // Close icons
3 | // --------------------------------------------------
4 |
5 |
6 | .close {
7 | float: right;
8 | font-size: (@font-size-base * 1.5);
9 | font-weight: @close-font-weight;
10 | line-height: 1;
11 | color: @close-color;
12 | text-shadow: @close-text-shadow;
13 | .opacity(.2);
14 |
15 | &:hover,
16 | &:focus {
17 | color: @close-color;
18 | text-decoration: none;
19 | cursor: pointer;
20 | .opacity(.5);
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | button& {
27 | padding: 0;
28 | cursor: pointer;
29 | background: transparent;
30 | border: 0;
31 | -webkit-appearance: none;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/code.less:
--------------------------------------------------------------------------------
1 | //
2 | // Code (inline and block)
3 | // --------------------------------------------------
4 |
5 |
6 | // Inline and block code styles
7 | code,
8 | kbd,
9 | pre,
10 | samp {
11 | font-family: @font-family-monospace;
12 | }
13 |
14 | // Inline code
15 | code {
16 | padding: 2px 4px;
17 | font-size: 90%;
18 | color: @code-color;
19 | background-color: @code-bg;
20 | border-radius: @border-radius-base;
21 | }
22 |
23 | // User input typically entered via keyboard
24 | kbd {
25 | padding: 2px 4px;
26 | font-size: 90%;
27 | color: @kbd-color;
28 | background-color: @kbd-bg;
29 | border-radius: @border-radius-small;
30 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31 |
32 | kbd {
33 | padding: 0;
34 | font-size: 100%;
35 | font-weight: bold;
36 | box-shadow: none;
37 | }
38 | }
39 |
40 | // Blocks of code
41 | pre {
42 | display: block;
43 | padding: ((@line-height-computed - 1) / 2);
44 | margin: 0 0 (@line-height-computed / 2);
45 | font-size: (@font-size-base - 1); // 14px to 13px
46 | line-height: @line-height-base;
47 | word-break: break-all;
48 | word-wrap: break-word;
49 | color: @pre-color;
50 | background-color: @pre-bg;
51 | border: 1px solid @pre-border-color;
52 | border-radius: @border-radius-base;
53 |
54 | // Account for some code outputs that place code tags in pre tags
55 | code {
56 | padding: 0;
57 | font-size: inherit;
58 | color: inherit;
59 | white-space: pre-wrap;
60 | background-color: transparent;
61 | border-radius: 0;
62 | }
63 | }
64 |
65 | // Enable scrollable blocks of code
66 | .pre-scrollable {
67 | max-height: @pre-scrollable-max-height;
68 | overflow-y: scroll;
69 | }
70 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/component-animations.less:
--------------------------------------------------------------------------------
1 | //
2 | // Component animations
3 | // --------------------------------------------------
4 |
5 | // Heads up!
6 | //
7 | // We don't use the `.opacity()` mixin here since it causes a bug with text
8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
9 |
10 | .fade {
11 | opacity: 0;
12 | .transition(opacity .15s linear);
13 | &.in {
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .collapse {
19 | display: none;
20 | visibility: hidden;
21 |
22 | &.in { display: block; visibility: visible; }
23 | tr&.in { display: table-row; }
24 | tbody&.in { display: table-row-group; }
25 | }
26 |
27 | .collapsing {
28 | position: relative;
29 | height: 0;
30 | overflow: hidden;
31 | .transition-property(~"height, visibility");
32 | .transition-duration(.35s);
33 | .transition-timing-function(ease);
34 | }
35 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/grid.less:
--------------------------------------------------------------------------------
1 | //
2 | // Grid system
3 | // --------------------------------------------------
4 |
5 |
6 | // Container widths
7 | //
8 | // Set the container width, and override it for fixed navbars in media queries.
9 |
10 | .container {
11 | .container-fixed();
12 |
13 | @media (min-width: @screen-sm-min) {
14 | width: @container-sm;
15 | }
16 | @media (min-width: @screen-md-min) {
17 | width: @container-md;
18 | }
19 | @media (min-width: @screen-lg-min) {
20 | width: @container-lg;
21 | }
22 | }
23 |
24 |
25 | // Fluid container
26 | //
27 | // Utilizes the mixin meant for fixed width containers, but without any defined
28 | // width for fluid, full width layouts.
29 |
30 | .container-fluid {
31 | .container-fixed();
32 | }
33 |
34 |
35 | // Row
36 | //
37 | // Rows contain and clear the floats of your columns.
38 |
39 | .row {
40 | .make-row();
41 | }
42 |
43 |
44 | // Columns
45 | //
46 | // Common styles for small and large grid columns
47 |
48 | .make-grid-columns();
49 |
50 |
51 | // Extra small grid
52 | //
53 | // Columns, offsets, pushes, and pulls for extra small devices like
54 | // smartphones.
55 |
56 | .make-grid(xs);
57 |
58 |
59 | // Small grid
60 | //
61 | // Columns, offsets, pushes, and pulls for the small device range, from phones
62 | // to tablets.
63 |
64 | @media (min-width: @screen-sm-min) {
65 | .make-grid(sm);
66 | }
67 |
68 |
69 | // Medium grid
70 | //
71 | // Columns, offsets, pushes, and pulls for the desktop device range.
72 |
73 | @media (min-width: @screen-md-min) {
74 | .make-grid(md);
75 | }
76 |
77 |
78 | // Large grid
79 | //
80 | // Columns, offsets, pushes, and pulls for the large desktop device range.
81 |
82 | @media (min-width: @screen-lg-min) {
83 | .make-grid(lg);
84 | }
85 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/jumbotron.less:
--------------------------------------------------------------------------------
1 | //
2 | // Jumbotron
3 | // --------------------------------------------------
4 |
5 |
6 | .jumbotron {
7 | padding: @jumbotron-padding (@jumbotron-padding / 2);
8 | margin-bottom: @jumbotron-padding;
9 | color: @jumbotron-color;
10 | background-color: @jumbotron-bg;
11 |
12 | h1,
13 | .h1 {
14 | color: @jumbotron-heading-color;
15 | }
16 | p {
17 | margin-bottom: (@jumbotron-padding / 2);
18 | font-size: @jumbotron-font-size;
19 | font-weight: 200;
20 | }
21 |
22 | > hr {
23 | border-top-color: darken(@jumbotron-bg, 10%);
24 | }
25 |
26 | .container &,
27 | .container-fluid & {
28 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
29 | }
30 |
31 | .container {
32 | max-width: 100%;
33 | }
34 |
35 | @media screen and (min-width: @screen-sm-min) {
36 | padding: (@jumbotron-padding * 1.6) 0;
37 |
38 | .container &,
39 | .container-fluid & {
40 | padding-left: (@jumbotron-padding * 2);
41 | padding-right: (@jumbotron-padding * 2);
42 | }
43 |
44 | h1,
45 | .h1 {
46 | font-size: (@font-size-base * 4.5);
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/labels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | // --------------------------------------------------
4 |
5 | .label {
6 | display: inline;
7 | padding: .2em .6em .3em;
8 | font-size: 75%;
9 | font-weight: bold;
10 | line-height: 1;
11 | color: @label-color;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | border-radius: .25em;
16 |
17 | // Add hover effects, but only for links
18 | a& {
19 | &:hover,
20 | &:focus {
21 | color: @label-link-hover-color;
22 | text-decoration: none;
23 | cursor: pointer;
24 | }
25 | }
26 |
27 | // Empty labels collapse automatically (not available in IE8)
28 | &:empty {
29 | display: none;
30 | }
31 |
32 | // Quick fix for labels in buttons
33 | .btn & {
34 | position: relative;
35 | top: -1px;
36 | }
37 | }
38 |
39 | // Colors
40 | // Contextual variations (linked labels get darker on :hover)
41 |
42 | .label-default {
43 | .label-variant(@label-default-bg);
44 | }
45 |
46 | .label-primary {
47 | .label-variant(@label-primary-bg);
48 | }
49 |
50 | .label-success {
51 | .label-variant(@label-success-bg);
52 | }
53 |
54 | .label-info {
55 | .label-variant(@label-info-bg);
56 | }
57 |
58 | .label-warning {
59 | .label-variant(@label-warning-bg);
60 | }
61 |
62 | .label-danger {
63 | .label-variant(@label-danger-bg);
64 | }
65 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/media.less:
--------------------------------------------------------------------------------
1 | .media {
2 | // Proper spacing between instances of .media
3 | margin-top: 15px;
4 |
5 | &:first-child {
6 | margin-top: 0;
7 | }
8 | }
9 |
10 | .media-right,
11 | .media > .pull-right {
12 | padding-left: 10px;
13 | }
14 |
15 | .media-left,
16 | .media > .pull-left {
17 | padding-right: 10px;
18 | }
19 |
20 | .media-left,
21 | .media-right,
22 | .media-body {
23 | display: table-cell;
24 | vertical-align: top;
25 | }
26 |
27 | .media-middle {
28 | vertical-align: middle;
29 | }
30 |
31 | .media-bottom {
32 | vertical-align: bottom;
33 | }
34 |
35 | // Reset margins on headings for tighter default spacing
36 | .media-heading {
37 | margin-top: 0;
38 | margin-bottom: 5px;
39 | }
40 |
41 | // Media list variation
42 | //
43 | // Undo default ul/ol styles
44 | .media-list {
45 | padding-left: 0;
46 | list-style: none;
47 | }
48 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------------------------------
3 |
4 | // Utilities
5 | @import "mixins/hide-text.less";
6 | @import "mixins/opacity.less";
7 | @import "mixins/image.less";
8 | @import "mixins/labels.less";
9 | @import "mixins/reset-filter.less";
10 | @import "mixins/resize.less";
11 | @import "mixins/responsive-visibility.less";
12 | @import "mixins/size.less";
13 | @import "mixins/tab-focus.less";
14 | @import "mixins/text-emphasis.less";
15 | @import "mixins/text-overflow.less";
16 | @import "mixins/vendor-prefixes.less";
17 |
18 | // Components
19 | @import "mixins/alerts.less";
20 | @import "mixins/buttons.less";
21 | @import "mixins/panels.less";
22 | @import "mixins/pagination.less";
23 | @import "mixins/list-group.less";
24 | @import "mixins/nav-divider.less";
25 | @import "mixins/forms.less";
26 | @import "mixins/progress-bar.less";
27 | @import "mixins/table-row.less";
28 |
29 | // Skins
30 | @import "mixins/background-variant.less";
31 | @import "mixins/border-radius.less";
32 | @import "mixins/gradients.less";
33 |
34 | // Layout
35 | @import "mixins/clearfix.less";
36 | @import "mixins/center-block.less";
37 | @import "mixins/nav-vertical-align.less";
38 | @import "mixins/grid-framework.less";
39 | @import "mixins/grid.less";
40 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/alerts.less:
--------------------------------------------------------------------------------
1 | // Alerts
2 |
3 | .alert-variant(@background; @border; @text-color) {
4 | background-color: @background;
5 | border-color: @border;
6 | color: @text-color;
7 |
8 | hr {
9 | border-top-color: darken(@border, 5%);
10 | }
11 | .alert-link {
12 | color: darken(@text-color, 10%);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/background-variant.less:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 |
3 | .bg-variant(@color) {
4 | background-color: @color;
5 | a&:hover {
6 | background-color: darken(@color, 10%);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/border-radius.less:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | .border-top-radius(@radius) {
4 | border-top-right-radius: @radius;
5 | border-top-left-radius: @radius;
6 | }
7 | .border-right-radius(@radius) {
8 | border-bottom-right-radius: @radius;
9 | border-top-right-radius: @radius;
10 | }
11 | .border-bottom-radius(@radius) {
12 | border-bottom-right-radius: @radius;
13 | border-bottom-left-radius: @radius;
14 | }
15 | .border-left-radius(@radius) {
16 | border-bottom-left-radius: @radius;
17 | border-top-left-radius: @radius;
18 | }
19 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/buttons.less:
--------------------------------------------------------------------------------
1 | // Button variants
2 | //
3 | // Easily pump out default styles, as well as :hover, :focus, :active,
4 | // and disabled options for all buttons
5 |
6 | .button-variant(@color; @background; @border) {
7 | color: @color;
8 | background-color: @background;
9 | border-color: @border;
10 |
11 | &:hover,
12 | &:focus,
13 | &.focus,
14 | &:active,
15 | &.active,
16 | .open > .dropdown-toggle& {
17 | color: @color;
18 | background-color: darken(@background, 10%);
19 | border-color: darken(@border, 12%);
20 | }
21 | &:active,
22 | &.active,
23 | .open > .dropdown-toggle& {
24 | background-image: none;
25 | }
26 | &.disabled,
27 | &[disabled],
28 | fieldset[disabled] & {
29 | &,
30 | &:hover,
31 | &:focus,
32 | &.focus,
33 | &:active,
34 | &.active {
35 | background-color: @background;
36 | border-color: @border;
37 | }
38 | }
39 |
40 | .badge {
41 | color: @background;
42 | background-color: @color;
43 | }
44 | }
45 |
46 | // Button sizes
47 | .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
48 | padding: @padding-vertical @padding-horizontal;
49 | font-size: @font-size;
50 | line-height: @line-height;
51 | border-radius: @border-radius;
52 | }
53 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/center-block.less:
--------------------------------------------------------------------------------
1 | // Center-align a block level element
2 |
3 | .center-block() {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/clearfix.less:
--------------------------------------------------------------------------------
1 | // Clearfix
2 | //
3 | // For modern browsers
4 | // 1. The space content is one way to avoid an Opera bug when the
5 | // contenteditable attribute is included anywhere else in the document.
6 | // Otherwise it causes space to appear at the top and bottom of elements
7 | // that are clearfixed.
8 | // 2. The use of `table` rather than `block` is only necessary if using
9 | // `:before` to contain the top-margins of child elements.
10 | //
11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/
12 |
13 | .clearfix() {
14 | &:before,
15 | &:after {
16 | content: " "; // 1
17 | display: table; // 2
18 | }
19 | &:after {
20 | clear: both;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/hide-text.less:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | //
3 | // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
4 | // mixins being reused as classes with the same name, this doesn't hold up. As
5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6 | //
7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8 |
9 | // Deprecated as of v3.0.1 (will be removed in v4)
10 | .hide-text() {
11 | font: ~"0/0" a;
12 | color: transparent;
13 | text-shadow: none;
14 | background-color: transparent;
15 | border: 0;
16 | }
17 |
18 | // New mixin to use as of v3.0.1
19 | .text-hide() {
20 | .hide-text();
21 | }
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/image.less:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 | .img-responsive(@display: block) {
10 | display: @display;
11 | max-width: 100%; // Part 1: Set a maximum relative to the parent
12 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
13 | }
14 |
15 |
16 | // Retina image
17 | //
18 | // Short retina mixin for setting background-image and -size. Note that the
19 | // spelling of `min--moz-device-pixel-ratio` is intentional.
20 | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
21 | background-image: url("@{file-1x}");
22 |
23 | @media
24 | only screen and (-webkit-min-device-pixel-ratio: 2),
25 | only screen and ( min--moz-device-pixel-ratio: 2),
26 | only screen and ( -o-min-device-pixel-ratio: 2/1),
27 | only screen and ( min-device-pixel-ratio: 2),
28 | only screen and ( min-resolution: 192dpi),
29 | only screen and ( min-resolution: 2dppx) {
30 | background-image: url("@{file-2x}");
31 | background-size: @width-1x @height-1x;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/labels.less:
--------------------------------------------------------------------------------
1 | // Labels
2 |
3 | .label-variant(@color) {
4 | background-color: @color;
5 |
6 | &[href] {
7 | &:hover,
8 | &:focus {
9 | background-color: darken(@color, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/list-group.less:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | .list-group-item-variant(@state; @background; @color) {
4 | .list-group-item-@{state} {
5 | color: @color;
6 | background-color: @background;
7 |
8 | a& {
9 | color: @color;
10 |
11 | .list-group-item-heading {
12 | color: inherit;
13 | }
14 |
15 | &:hover,
16 | &:focus {
17 | color: @color;
18 | background-color: darken(@background, 5%);
19 | }
20 | &.active,
21 | &.active:hover,
22 | &.active:focus {
23 | color: #fff;
24 | background-color: @color;
25 | border-color: @color;
26 | }
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/nav-divider.less:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | .nav-divider(@color: #e5e5e5) {
6 | height: 1px;
7 | margin: ((@line-height-computed / 2) - 1) 0;
8 | overflow: hidden;
9 | background-color: @color;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/nav-vertical-align.less:
--------------------------------------------------------------------------------
1 | // Navbar vertical align
2 | //
3 | // Vertically center elements in the navbar.
4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5 |
6 | .navbar-vertical-align(@element-height) {
7 | margin-top: ((@navbar-height - @element-height) / 2);
8 | margin-bottom: ((@navbar-height - @element-height) / 2);
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/opacity.less:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | .opacity(@opacity) {
4 | opacity: @opacity;
5 | // IE8 filter
6 | @opacity-ie: (@opacity * 100);
7 | filter: ~"alpha(opacity=@{opacity-ie})";
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/pagination.less:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
4 | > li {
5 | > a,
6 | > span {
7 | padding: @padding-vertical @padding-horizontal;
8 | font-size: @font-size;
9 | }
10 | &:first-child {
11 | > a,
12 | > span {
13 | .border-left-radius(@border-radius);
14 | }
15 | }
16 | &:last-child {
17 | > a,
18 | > span {
19 | .border-right-radius(@border-radius);
20 | }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/panels.less:
--------------------------------------------------------------------------------
1 | // Panels
2 |
3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
4 | border-color: @border;
5 |
6 | & > .panel-heading {
7 | color: @heading-text-color;
8 | background-color: @heading-bg-color;
9 | border-color: @heading-border;
10 |
11 | + .panel-collapse > .panel-body {
12 | border-top-color: @border;
13 | }
14 | .badge {
15 | color: @heading-bg-color;
16 | background-color: @heading-text-color;
17 | }
18 | }
19 | & > .panel-footer {
20 | + .panel-collapse > .panel-body {
21 | border-bottom-color: @border;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/progress-bar.less:
--------------------------------------------------------------------------------
1 | // Progress bars
2 |
3 | .progress-bar-variant(@color) {
4 | background-color: @color;
5 |
6 | // Deprecated parent class requirement as of v3.2.0
7 | .progress-striped & {
8 | #gradient > .striped();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/reset-filter.less:
--------------------------------------------------------------------------------
1 | // Reset filters for IE
2 | //
3 | // When you need to remove a gradient background, do not forget to use this to reset
4 | // the IE filter for IE9 and below.
5 |
6 | .reset-filter() {
7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/resize.less:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | .resizable(@direction) {
4 | resize: @direction; // Options: horizontal, vertical, both
5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/responsive-visibility.less:
--------------------------------------------------------------------------------
1 | // Responsive utilities
2 |
3 | //
4 | // More easily include all the states for responsive-utilities.less.
5 | .responsive-visibility() {
6 | display: block !important;
7 | table& { display: table; }
8 | tr& { display: table-row !important; }
9 | th&,
10 | td& { display: table-cell !important; }
11 | }
12 |
13 | .responsive-invisibility() {
14 | display: none !important;
15 | }
16 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/size.less:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | .size(@width; @height) {
4 | width: @width;
5 | height: @height;
6 | }
7 |
8 | .square(@size) {
9 | .size(@size; @size);
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/tab-focus.less:
--------------------------------------------------------------------------------
1 | // WebKit-style focus
2 |
3 | .tab-focus() {
4 | // Default
5 | outline: thin dotted;
6 | // WebKit
7 | outline: 5px auto -webkit-focus-ring-color;
8 | outline-offset: -2px;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/table-row.less:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | .table-row-variant(@state; @background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table > thead > tr,
7 | .table > tbody > tr,
8 | .table > tfoot > tr {
9 | > td.@{state},
10 | > th.@{state},
11 | &.@{state} > td,
12 | &.@{state} > th {
13 | background-color: @background;
14 | }
15 | }
16 |
17 | // Hover states for `.table-hover`
18 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
19 | .table-hover > tbody > tr {
20 | > td.@{state}:hover,
21 | > th.@{state}:hover,
22 | &.@{state}:hover > td,
23 | &:hover > .@{state},
24 | &.@{state}:hover > th {
25 | background-color: darken(@background, 5%);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/text-emphasis.less:
--------------------------------------------------------------------------------
1 | // Typography
2 |
3 | .text-emphasis-variant(@color) {
4 | color: @color;
5 | a&:hover {
6 | color: darken(@color, 10%);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/mixins/text-overflow.less:
--------------------------------------------------------------------------------
1 | // Text overflow
2 | // Requires inline-block or block for proper styling
3 |
4 | .text-overflow() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | &:extend(.clearfix all);
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pager-bg;
19 | border: 1px solid @pager-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pager-bg;
51 | cursor: @cursor-disabled;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/progress-bars.less:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // WebKit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Spec and IE10+
16 | @keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 |
22 | // Bar itself
23 | // -------------------------
24 |
25 | // Outer container
26 | .progress {
27 | overflow: hidden;
28 | height: @line-height-computed;
29 | margin-bottom: @line-height-computed;
30 | background-color: @progress-bg;
31 | border-radius: @progress-border-radius;
32 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
33 | }
34 |
35 | // Bar of progress
36 | .progress-bar {
37 | float: left;
38 | width: 0%;
39 | height: 100%;
40 | font-size: @font-size-small;
41 | line-height: @line-height-computed;
42 | color: @progress-bar-color;
43 | text-align: center;
44 | background-color: @progress-bar-bg;
45 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
46 | .transition(width .6s ease);
47 | }
48 |
49 | // Striped bars
50 | //
51 | // `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
52 | // `.progress-bar-striped` class, which you just add to an existing
53 | // `.progress-bar`.
54 | .progress-striped .progress-bar,
55 | .progress-bar-striped {
56 | #gradient > .striped();
57 | background-size: 40px 40px;
58 | }
59 |
60 | // Call animation for the active one
61 | //
62 | // `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
63 | // `.progress-bar.active` approach.
64 | .progress.active .progress-bar,
65 | .progress-bar.active {
66 | .animation(progress-bar-stripes 2s linear infinite);
67 | }
68 |
69 |
70 | // Variations
71 | // -------------------------
72 |
73 | .progress-bar-success {
74 | .progress-bar-variant(@progress-bar-success-bg);
75 | }
76 |
77 | .progress-bar-info {
78 | .progress-bar-variant(@progress-bar-info-bg);
79 | }
80 |
81 | .progress-bar-warning {
82 | .progress-bar-variant(@progress-bar-warning-bg);
83 | }
84 |
85 | .progress-bar-danger {
86 | .progress-bar-variant(@progress-bar-danger-bg);
87 | }
88 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/responsive-embed.less:
--------------------------------------------------------------------------------
1 | // Embeds responsive
2 | //
3 | // Credit: Nicolas Gallagher and SUIT CSS.
4 |
5 | .embed-responsive {
6 | position: relative;
7 | display: block;
8 | height: 0;
9 | padding: 0;
10 | overflow: hidden;
11 |
12 | .embed-responsive-item,
13 | iframe,
14 | embed,
15 | object,
16 | video {
17 | position: absolute;
18 | top: 0;
19 | left: 0;
20 | bottom: 0;
21 | height: 100%;
22 | width: 100%;
23 | border: 0;
24 | }
25 |
26 | // Modifier class for 16:9 aspect ratio
27 | &.embed-responsive-16by9 {
28 | padding-bottom: 56.25%;
29 | }
30 |
31 | // Modifier class for 4:3 aspect ratio
32 | &.embed-responsive-4by3 {
33 | padding-bottom: 75%;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: @thumbnail-padding;
10 | margin-bottom: @line-height-computed;
11 | line-height: @line-height-base;
12 | background-color: @thumbnail-bg;
13 | border: 1px solid @thumbnail-border;
14 | border-radius: @thumbnail-border-radius;
15 | .transition(border .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | &:extend(.img-responsive);
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // Add a hover state for linked versions only
25 | a&:hover,
26 | a&:focus,
27 | a&.active {
28 | border-color: @link-color;
29 | }
30 |
31 | // Image captions
32 | .caption {
33 | padding: @thumbnail-caption-padding;
34 | color: @thumbnail-caption-color;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .center-block {
13 | .center-block();
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | .text-hide();
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | visibility: hidden !important;
48 | }
49 |
50 |
51 | // For Affix plugin
52 | // -------------------------
53 |
54 | .affix {
55 | position: fixed;
56 | }
57 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/bootstrap-3.3.1/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid @well-border;
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/corporate/corporatedesign_basic.less:
--------------------------------------------------------------------------------
1 | // Color Scheme
2 | @base-color: #333333;
3 | @primary-color: #428bca;
4 | @success-color: #5cb85c;
5 | @warning-color: #f0ad4e;
6 | @danger-color: #d9534f;
7 | @selection-color: #fdf5c1;
8 |
9 | // Font
10 | @font-color: #111111;
11 | @font-size: 12px;
12 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/bootstrap/corporate/template_variables.less:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | Local ScreenSize and Color Defintions
3 | *********************************************************************/
4 |
5 | @display-mobile: ~"(max-width: " @screen-xs-max ~")";
6 | @display-not-mobile: ~"(min-width: " @screen-xs-max ~")";
7 | @display-tablet: ~"(min-width: " @screen-xs-max ~") and (max-width: " @screen-sm-max ~")";
8 | @display-desktop: ~"(min-width: " @screen-sm-max ~") and (max-width: " @screen-md-max ~")";
9 | @display-desktop-full-page: ~"(min-width: " @screen-lg-min ~")";
10 |
11 | @panel-default-heading-bg: @base-lightest;
12 | @panel-default-border: @base-color;
13 |
14 | @popover-title-bg: @base-lightest;
15 | @popover-bg: @base-lightest;
16 | @popover-arrow-color: @base-lightest;
17 |
18 | @footer-color: lighten(@body-bg, 5%);
19 |
20 | /**
21 | * Color Scheme
22 | **/
23 | @base-color: #D2D5D8;
24 | @primary-color: #516492;
25 | @success-color: #00B700;
26 | @warning-color: #f0ad4e;
27 | @danger-color: #d9534f;
28 | @selection-color: #D9E6FB;
29 |
30 | // Font
31 | @font-color: #111111;
32 | @font-size: 13px;
33 | @headings-color: desaturate( lighten( @text-color, 30% ), 20% );
34 |
35 | //
36 | @selection-color-hover: #eff6ff;
37 | @table-bg-hover: @selection-color-hover;
38 | @base-border: hsl(hue(@base-color),saturation(@base-color)*0.8,(100-lightness(@base-color))*0.3+lightness(@base-color));
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/custom/colorize-image.less:
--------------------------------------------------------------------------------
1 | .image {
2 | a: colorize-image( "../less_org_tests/data/data-uri-fail.png", red, green);
3 | b: colorize-image( "disconnect.png", lightblue, darkblue);
4 | c: colorize-image( "eye-white.png", lightgray, darkgray);
5 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/custom/disconnect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/custom/disconnect.png
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/custom/eye-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/custom/eye-white.png
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/anchorURL.css:
--------------------------------------------------------------------------------
1 | .blur {
2 | filter: url(#wherearemyglasses);
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/anchorURL.less:
--------------------------------------------------------------------------------
1 | .blur { filter: url(#wherearemyglasses); }
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/colors.css_x:
--------------------------------------------------------------------------------
1 | colors{a:#f0f8ff;b:#faebd7;c:#0ff;d:#7fffd4;e:#f0ffff;f:#f5f5dc;g:#ffe4c4;h:#000;i:#ffebcd;j:#00f;k:#8a2be2;l:#a52a2a;m:#deb887;n:#5f9ea0;o:#7fff00;p:#d2691e;q:#ff7f50;r:#6495ed;s:#fff8dc;t:#dc143c;v:#0ff;w:#00008b;x:#008b8b;y:#b8860b;z:#a9a9a9;a:#a9a9a9;b:#006400;c:#bdb76b;d:#8b008b;e:#556b2f;f:#ff8c00;g:#9932cc;h:#8b0000;i:#e9967a;j:#8fbc8f;k:#483d8b;l:#2f4f4f;m:#2f4f4f;n:#00ced1;o:#9400d3;p:#ff1493;q:#00bfff;r:#696969;s:#696969;t:#1e90ff;u:#b22222;v:#fffaf0;w:#228b22;x:#f0f;y:#dcdcdc;z:#f8f8ff;a:#ffd700;b:#daa520;c:#808080;d:#808080;e:#008000;f:#adff2f;g:#f0fff0;h:#ff69b4;i:#cd5c5c;j:#4b0082;k:#fffff0;l:#f0e68c;m:#e6e6fa;n:#fff0f5;o:#7cfc00;p:#fffacd;q:#add8e6;r:#f08080;s:#e0ffff;t:#fafad2;u:#d3d3d3;v:#d3d3d3;w:#90ee90;x:#ffb6c1;y:#ffa07a;z:#20b2aa;a:#87cefa;b:#789;c:#789;d:#b0c4de;e:#ffffe0;f:#0f0;g:#32cd32;h:#faf0e6;i:#f0f;j:#800000;k:#66cdaa;l:#0000cd;m:#ba55d3;n:#9370d8;o:#3cb371;p:#7b68ee;q:#00fa9a;r:#48d1cc;s:#c71585;t:#191970;u:#f5fffa;v:#ffe4e1;w:#ffe4b5;x:#ffdead;y:#000080;z:#fdf5e6;a:#808000;b:#6b8e23;c:#ffa500;d:#ff4500;e:#da70d6;f:#eee8aa;g:#98fb98;h:#afeeee;i:#d87093;j:#ffefd5;k:#ffdab9;l:#cd853f;m:#ffc0cb;n:#dda0dd;o:#b0e0e6;p:#800080;q:#f00;r:#bc8f8f;s:#4169e1;t:#8b4513;u:#fa8072;v:#f4a460;w:#2e8b57;x:#fff5ee;y:#a0522d;z:#c0c0c0;a:#87ceeb;b:#6a5acd;c:#708090;d:#708090;e:#fffafa;f:#00ff7f;g:#4682b4;h:#d2b48c;i:#008080;j:#d8bfd8;k:#ff6347;l:#40e0d0;m:#ee82ee;n:#f5deb3;o:#fff;p:#f5f5f5;q:#ff0;r:#9acd32}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/colors2.css:
--------------------------------------------------------------------------------
1 | colors {
2 | a: #000A;
3 | b: #001122AA;
4 | c: #NoColor;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/colors2.less:
--------------------------------------------------------------------------------
1 | colors {
2 | a: #000A;
3 | b: #001122AA;
4 | c: #NoColor;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/css_guards.css:
--------------------------------------------------------------------------------
1 | .menubtn-small1 span {
2 | abc: 1;
3 | }
4 | .menubtn-small2 span {
5 | abc: 2;
6 | }
7 | .menubtn-small3 span {
8 | abc: 3;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/css_guards.less:
--------------------------------------------------------------------------------
1 | .menubtn-small1 span when (@font-size > 15) {
2 | abc: 1;
3 | }
4 | .menubtn-small2 span when(@font-size > 15) {
5 | abc: 2;
6 | }
7 | .menubtn-small3 span when(@font-size < 15), not(@font-size < 15) {
8 | abc: 3;
9 | }
10 |
11 | @font-size: 16;
12 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule.css:
--------------------------------------------------------------------------------
1 | body {
2 | color: #fff;
3 | background: #fff;
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule.css_x:
--------------------------------------------------------------------------------
1 | body{color:#fff;background:#fff}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule.less:
--------------------------------------------------------------------------------
1 | body { color: #fff; }
2 | body { background: #fff; }
3 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule2.css:
--------------------------------------------------------------------------------
1 | @supports selector {
2 | surrounding .parentclass {
3 | background: red;
4 | }
5 | surrounding .parentclass .element {
6 | display: flex;
7 | }
8 | surrounding .parentclass .another {
9 | border-color: green;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule2.css_x:
--------------------------------------------------------------------------------
1 | @supports selector{surrounding .parentclass{background:#f00}surrounding .parentclass .element{display:flex}surrounding .parentclass .another{border-color:#008000}}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/doubleRule2.less:
--------------------------------------------------------------------------------
1 | surrounding {
2 | @supports selector {
3 | .parentclass {
4 | background: red;
5 |
6 | .element {
7 | display: flex;
8 | }
9 |
10 | .another {
11 | border-color: green;
12 | }
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/escaped-arguments.css:
--------------------------------------------------------------------------------
1 | .xyz {
2 | box-shadow: #999 2px 2px 10px 0px;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/escaped-arguments.less:
--------------------------------------------------------------------------------
1 | .box-shadow(...) {
2 | @process: ~"@{arguments}";
3 | box-shadow: @process;
4 | }
5 |
6 | .xyz {
7 | .box-shadow(#999 2px 2px 10px 0px);
8 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/extend-special.css:
--------------------------------------------------------------------------------
1 | @media only screen and (max-width: 768px) {
2 | .main > first > second:before {
3 | foo: 3;
4 | }
5 | }
6 | .foo > bar,
7 | foo > bar {
8 | color: red;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/extend-special.less:
--------------------------------------------------------------------------------
1 | .mixin() {
2 | &:before {
3 | &:extend(.foo > bar);
4 | foo: 3;
5 | }
6 | }
7 | .main {
8 | @media only screen and (max-width: 768px) {
9 | > first {
10 | > second {
11 | .mixin();
12 | }
13 | }
14 | }
15 | }
16 | .foo {
17 | > bar {
18 | color: red;
19 | }
20 | }
21 | foo:extend(.foo all) {}
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/guard.css:
--------------------------------------------------------------------------------
1 | .greater {
2 | gt: 5;
3 | ge: 5;
4 | eg: 5;
5 | gt: 'z';
6 | ge: 'z';
7 | eg: 'z';
8 | }
9 | .equals {
10 | ge: 0;
11 | eg: 0;
12 | e: 0;
13 | le: 0;
14 | el: 0;
15 | ge: 'b';
16 | eg: 'b';
17 | e: 'b';
18 | le: 'b';
19 | el: 'b';
20 | ge: black;
21 | eg: black;
22 | e: black;
23 | le: black;
24 | el: black;
25 | }
26 | .lesser {
27 | le: -4;
28 | el: -4;
29 | lt: -4;
30 | le: 'a';
31 | el: 'a';
32 | lt: 'a';
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/guard.less:
--------------------------------------------------------------------------------
1 | .mix (@a,@b) when (@a > @b) {
2 | gt: @a;
3 | }
4 | .mix (@a,@b) when (@a >= @b) {
5 | ge: @a;
6 | }
7 | .mix (@a,@b) when (@a => @b) {
8 | eg: @a;
9 | }
10 | .mix (@a,@b) when (@a = @b) {
11 | e: @a;
12 | }
13 | .mix (@a,@b) when (@a <= @b) {
14 | le: @a;
15 | }
16 | .mix (@a,@b) when (@a =< @b) {
17 | el: @a;
18 | }
19 | .mix (@a,@b) when (@a < @b) {
20 | lt: @a;
21 | }
22 | .greater {
23 | .mix(5,0);
24 | .mix('z','a');
25 | .mix(#fff,#000);
26 | }
27 | .equals {
28 | .mix(0,0);
29 | .mix('b','b');
30 | .mix(black,#000);
31 | }
32 | .lesser {
33 | .mix(-4,0);
34 | .mix('a','b');
35 | .mix(#000,#fff);
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import.css:
--------------------------------------------------------------------------------
1 | .values {
2 | a: "a";
3 | b: "b";
4 | }
5 | .values .slash {
6 | font: 1.5/2;
7 | a: 1.5;
8 | b: 1.5;
9 | e: a/b;
10 | f: a/b;
11 | g: a/b;
12 | h: a/b;
13 | font: 3/2;
14 | }
15 | .values .slash2 {
16 | background: url("img.jpg") center/100px;
17 | background: url(abc/img.jpg);
18 | }
19 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import.less:
--------------------------------------------------------------------------------
1 | .values {
2 | a: "a";
3 | @import "slash.less";
4 | b: "b";
5 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/importReferences.css:
--------------------------------------------------------------------------------
1 | .a.b.navbar,
2 | .navbar.c {
3 | color: orange;
4 | }
5 | .navbar:hover {
6 | color: green;
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/importReferences.less:
--------------------------------------------------------------------------------
1 | @import (reference) "../../less_org_doc/extends/all.less";
2 |
3 | .navbar:extend(.test all) {}
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/importReferences2.css:
--------------------------------------------------------------------------------
1 | .test {
2 | color: orange;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/importReferences2.less:
--------------------------------------------------------------------------------
1 | @import (reference) "../../less_org_doc/extends/all.less";
2 |
3 | .test {
4 | color: @color;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/media.less:
--------------------------------------------------------------------------------
1 | @media screen {
2 | .media_screen {
3 | @a: "screen";
4 | content: @a;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/media_imports.css:
--------------------------------------------------------------------------------
1 | @media screen {
2 | .import_scope .media_screen {
3 | content: "screen";
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/import/media_imports.less:
--------------------------------------------------------------------------------
1 | .import_scope {
2 | @import "media.less";
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/importOptional.css:
--------------------------------------------------------------------------------
1 | .slash {
2 | font: 1.5/2;
3 | a: 1.5;
4 | b: 1.5;
5 | e: a/b;
6 | f: a/b;
7 | g: a/b;
8 | h: a/b;
9 | font: 3/2;
10 | }
11 | .slash2 {
12 | background: url("img.jpg") center/100px;
13 | background: url(abc/img.jpg);
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/importOptional.less:
--------------------------------------------------------------------------------
1 | @import (optional) "DoesNotExists.less";
2 | @import (optional) "slash.less";
3 |
4 | @DoesNotExists2: "DoesNotExists2";
5 | @import (optional) "@{DoesNotExists2}.less";
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/important.css:
--------------------------------------------------------------------------------
1 | #important {
2 | color1: #FFFFFF !important;
3 | color2: #FFFFFF !important;
4 | color3: #777777 !important;
5 | color4: #343434 !important;
6 | }
7 | .imp0 {
8 | a: 0 !important;
9 | }
10 | .imp1 {
11 | a: 1 !important;
12 | }
13 | .imp2 {
14 | a: 2 !important;
15 | }
16 | .imp3 {
17 | a: 3 !important;
18 | }
19 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/important.less:
--------------------------------------------------------------------------------
1 | #important {
2 | color1: #FFFFFF!important;
3 | color2: #FFFFFF !important;
4 | color3: #777777 ! important;
5 | color4: #333 + 1 !important;
6 | }
7 |
8 | // import for mixins with different syntax
9 |
10 | .imp0 {
11 | .mixin! important;
12 | }
13 | .imp1 {
14 | .mixin (1) !important;
15 | }
16 | .imp2 {
17 | .mixin (2) ! important;
18 | }
19 |
20 | // ignore important in mixin name
21 | .imp3 {
22 | .mixin_important(3);
23 | }
24 |
25 | .mixin (@a:0) {
26 | a:@a;
27 | }
28 | .mixin_important (@a) {
29 | a:@a !important;
30 | }
31 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/inlineMode.css:
--------------------------------------------------------------------------------
1 | .text {
2 | background-image: url('../base/images/some.png');
3 | }
4 | .text1 {
5 | background-image: url(/img/lock@basePath.png);
6 | }
7 | .text2 {
8 | background-image: url(a@basePath);
9 | }
10 | .text3 {
11 | background-image: url("base/");
12 | }
13 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/inlineMode.less:
--------------------------------------------------------------------------------
1 | @basePath: "base/";
2 | @relativeImagePath: "../@{basePath}images/";
3 | .text {
4 | background-image: url('@{relativeImagePath}some.png');
5 | }
6 | .text1 {
7 | background-image: url(/img/lock@basePath.png);
8 | }
9 | .text2 {
10 | background-image: url(a@basePath);
11 | }
12 | .text3 {
13 | background-image: url(@basePath);
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/loop.css:
--------------------------------------------------------------------------------
1 | .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2 {
2 | position: relative;
3 | min-height: 1px;
4 | padding-left: 15px;
5 | padding-right: 15px;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/loop.less:
--------------------------------------------------------------------------------
1 | .make-grid-columns();
2 |
3 | .make-grid-columns() {
4 | // Common styles for all sizes of grid columns, widths 1-12
5 | .col(@index) when (@index = 1) { // initial
6 | @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
7 | .col((@index + 1), @item);
8 | }
9 | .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
10 | @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
11 | .col((@index + 1), ~"@{list}, @{item}");
12 | }
13 | .col(@index, @list) when (@index > @grid-columns) { // terminal
14 | @{list} {
15 | position: relative;
16 | // Prevent columns from collapsing when empty
17 | min-height: 1px;
18 | // Inner gutter via padding
19 | padding-left: (@grid-gutter-width / 2);
20 | padding-right: (@grid-gutter-width / 2);
21 | }
22 | }
23 | .col(1); // kickstart it
24 | }
25 |
26 |
27 | //## Define your custom responsive grid.
28 |
29 | //** Number of columns in the grid.
30 | @grid-columns: 2;
31 | //** Padding between columns. Gets divided in half for the left and right.
32 | @grid-gutter-width: 30px;
33 | // Navbar collapse
34 | //** Point at which the navbar becomes uncollapsed.
35 | @grid-float-breakpoint: @screen-sm-min;
36 | //** Point at which the navbar begins collapsing.
37 | @grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
38 |
39 | // Small screen / tablet
40 | // Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1
41 | @screen-sm: 768px;
42 | @screen-sm-min: @screen-sm;
43 | @screen-tablet: @screen-sm-min;
44 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/minus.css:
--------------------------------------------------------------------------------
1 | .text-primary {
2 | unicode-range: U+0???, U+0-7F, U+A5;
3 | listparms: inset 0 -1px 0;
4 | height: 5px;
5 | width: -7px;
6 | top: 7px;
7 | bottom: 9px;
8 | background-position: 0px -20px;
9 | padding-top: 36;
10 | padding-bottom1: -19;
11 | padding-bottom2: -19;
12 | padding-bottom3: -19;
13 | -moz-transition: -moz-transform "-abc";
14 | abc: 2 -1;
15 | def: 1;
16 | uvw: 1;
17 | xyz: 1;
18 | xxx: 1;
19 | yyy: 1;
20 | background-image: -webkit-linear-gradient(#123456, #654321);
21 | function1: -floor(-2.3);
22 | function2: - -3;
23 | function3: -floor(-2.3);
24 | function4: 3;
25 | calcWithSpace: calc(100% - 98px);
26 | calcCompact: calc(100%-98px);
27 | calcVariable: calc(90% -10px);
28 | calcNested: calc(100% - (2 * 2em));
29 | calcEscaped: calc(100% - (2 * 2em));
30 | margin: 0 -12;
31 | }
32 | :root {
33 | --main-bg-color: pink;
34 | }
35 | body {
36 | background-color: var(--main-bg-color);
37 | }
38 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/minus.less:
--------------------------------------------------------------------------------
1 | @line-height-computed: -36;
2 | .text-primary {
3 | unicode-range: U+0???, U+0-7F, U+A5;
4 | listparms: inset 0 -1px 0;
5 | height: 6px-1px;
6 | width: -6px-1px;
7 | top: -(-6px-1px);
8 | bottom: (10px / 2px+6px-1px*2);
9 | background-position: -0px -20px;
10 | padding-top: -@line-height-computed;
11 | padding-bottom1: ((@line-height-computed / 2) - 1);
12 | padding-bottom2: (@line-height-computed / 2) - 1;
13 | padding-bottom3: @line-height-computed / 2 - 1;
14 | -moz-transition: -moz-transform "-abc";
15 | abc: 2 -1;
16 | def: 2-1;
17 | uvw: (2 - 1);
18 | xyz: 2 - 1;
19 | xxx: 2 - 1;
20 | yyy: 2- 1;
21 | background-image: -webkit-linear-gradient( #123456, #654321); // Safari 5.1-6, Chrome 10+
22 | function1: -floor(-2.3);
23 | function2: - floor(-2.3);
24 | function3: (-floor(-2.3));
25 | function4: (0-floor(-2.3));
26 |
27 | calcWithSpace: calc(100% - 98px);
28 | calcCompact: calc(100%-98px);
29 | @a : 90%;
30 | @b : 10px;
31 | calcVariable: calc(@a -@b);
32 | calcNested: calc(100% - (2 * 2em));
33 | calcEscaped: calc(~"100% - (2 * 2em)");
34 | margin: 0 -((@line-height-computed / 2) + 30);
35 | }
36 | :root {
37 | --main-bg-color: pink;
38 | }
39 | body {
40 | background-color: var(--main-bg-color);
41 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/parent-selectors.css:
--------------------------------------------------------------------------------
1 | .foo .bar {
2 | color: blue;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/parent-selectors.less:
--------------------------------------------------------------------------------
1 | .foo {
2 | & {
3 | .bar {
4 | color: blue;
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/parenthesis.css:
--------------------------------------------------------------------------------
1 | .container-fixed {
2 | abc: 23;
3 | }
4 | @media only screen and (min-resolution: 192dpi) {
5 | .container-fixed {
6 | background-size: 123 456;
7 | }
8 | }
9 | @container sidebar (width > 400px) {
10 | .container-fixed {
11 | back-color: red;
12 | }
13 | }
14 | @media print {
15 | .visible-print {
16 | display: block !important;
17 | }
18 | table.visible-print {
19 | display: table;
20 | }
21 | tr.visible-print {
22 | display: table-row !important;
23 | }
24 | th.visible-print,
25 | td.visible-print {
26 | display: table-cell !important;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/parenthesis.less:
--------------------------------------------------------------------------------
1 | .container-fixed {
2 | abc: 23;
3 | &:extend(.clearfix all);
4 | @media
5 | only screen and ( min-resolution: 192dpi) {
6 | background-size: 123 456;
7 | }
8 | @container sidebar (width > 400px) {
9 | back-color: red;
10 | }
11 | }
12 |
13 | .responsive-visibility() {
14 | display: block !important;
15 | table& { display: table; }
16 | tr& { display: table-row !important; }
17 | th&,
18 | td& { display: table-cell !important; }
19 | }
20 |
21 | .visible-print {
22 | @media print {
23 | .responsive-visibility();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope1.css:
--------------------------------------------------------------------------------
1 | .input-lg {
2 | font-size: 26px;
3 | font-size2: 26px;
4 | font-size3: 13px;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope1.less:
--------------------------------------------------------------------------------
1 | .input-size( @font-size ) {
2 | font-size: @font-size;
3 | }
4 | .input-size2( @font-size) {
5 | font-size2: @font-size;
6 | }
7 |
8 | .input-lg {
9 | .input-size( @font-size-large );
10 | .input-size2( @font-size-large );
11 | font-size3: @font-size;
12 | }
13 |
14 | @font-size: 13px;
15 | @font-size-large: @font-size * 2;
16 |
17 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope2.css:
--------------------------------------------------------------------------------
1 | .input-lg {
2 | font-size: 26px;
3 | font-size2: 52px;
4 | font-size3: 26px;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope2.less:
--------------------------------------------------------------------------------
1 | .input-size( @font-size1 ) {
2 | @font-size: @font-size1;
3 | font-size: @font-size;
4 | }
5 | .input-size2( @font-size ) {
6 | font-size2: @font-size;
7 | }
8 |
9 | .input-lg {
10 | .input-size( @font-size-large );
11 | .input-size2( @font-size-large );
12 | font-size3: @font-size;
13 | }
14 |
15 | @font-size: 13px;
16 | @font-size-large: @font-size * 2;
17 |
18 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope3.css:
--------------------------------------------------------------------------------
1 | .testPollution {
2 | a: 'no-pollution';
3 | b: 'no-pollution';
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope3.less:
--------------------------------------------------------------------------------
1 | .polluteMixin() {
2 | @a: 'pollution';
3 | }
4 | .testPollution {
5 | @a: 'no-pollution';
6 | a: @a;
7 | .polluteMixin();
8 | b: @a;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope4.css:
--------------------------------------------------------------------------------
1 | .tiny-scope {
2 | color: #989;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope4.less:
--------------------------------------------------------------------------------
1 | @mix: none;
2 |
3 | .mixin {
4 | @mix: #989;
5 | }
6 | @mix: blue;
7 | .tiny-scope {
8 | .mixin;
9 | color: @mix; // #989
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope5.css:
--------------------------------------------------------------------------------
1 | .heightIsSet {
2 | height3: 2;
3 | height3: 1;
4 | height2: 2;
5 | height1: 2;
6 | }
7 | /*.abc {
8 | height2: @height2;
9 | height1: @height1;
10 | }*/
11 | .heightIsSet {
12 | height: 1024px;
13 | }
14 | .useHeightInMixinCall {
15 | mixin-height: 1024px;
16 | }
17 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope5.less:
--------------------------------------------------------------------------------
1 | .setHeight1(@h) {
2 | @height1: @h;
3 | }
4 |
5 | .setHeight2(@h) {
6 | @height2: @h;
7 | .setHeight1(@height2);
8 | height3: @height1;
9 | }
10 |
11 | //@height1: 0;
12 | //@height2: 0;
13 |
14 | .heightIsSet {
15 | .setHeight2(2);
16 | .setHeight2(1);
17 |
18 | height2: @height2;
19 | height1: @height1;
20 | }
21 |
22 | /*.abc {
23 | height2: @height2;
24 | height1: @height1;
25 | }*/
26 | .setHeight(@h) {
27 | @height: 1024px;
28 | }
29 | .useHeightInMixinCall(@h) {
30 | .useHeightInMixinCall {
31 | mixin-height: @h;
32 | }
33 | }
34 | @mainHeight: 50%;
35 | .setHeight(@mainHeight);
36 | .heightIsSet {
37 | height: @height;
38 | }
39 | .useHeightInMixinCall(@height);
40 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope6.css:
--------------------------------------------------------------------------------
1 | .close {
2 | opacity: 0.2;
3 | filter: alpha(opacity=20);
4 | }
5 | .close:focus {
6 | opacity: 0.5;
7 | filter: alpha(opacity=50);
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope6.less:
--------------------------------------------------------------------------------
1 | .close {
2 | .opacity(.2);
3 |
4 | &:focus {
5 | .opacity(.5);
6 | }
7 | }
8 | .opacity(@opacity) {
9 | opacity: @opacity;
10 | @opacity-ie: (@opacity * 100);
11 | filter: ~"alpha(opacity=@{opacity-ie})";
12 | }
13 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope7.css:
--------------------------------------------------------------------------------
1 | body {
2 | context-px-size: 10;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope7.less:
--------------------------------------------------------------------------------
1 | @context-px-size: 10;
2 |
3 | .font-size(@context-px-size: @context-px-size) {
4 | context-px-size: @context-px-size;
5 | }
6 |
7 | body {
8 | .font-size();
9 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope8.css:
--------------------------------------------------------------------------------
1 | .icon {
2 | display: block;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope8.less:
--------------------------------------------------------------------------------
1 | .fa() {
2 | display: block;
3 | }
4 | .non-existing {
5 | .fa() {
6 | display: inline;
7 | }
8 | }
9 | .icon {
10 | .fa;
11 | }
12 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope9.css:
--------------------------------------------------------------------------------
1 | .icon {
2 | a: 1;
3 | b: 2;
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/scope/scope9.less:
--------------------------------------------------------------------------------
1 | .fa() {
2 | a: 1;
3 | }
4 | .lazy {
5 | .fa() {
6 | b: 2;
7 | }
8 | }
9 | .icon {
10 | .fa;
11 | }
12 | .lazy();
13 |
14 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/selectorWithQuotes.css:
--------------------------------------------------------------------------------
1 | div[comment="/*foo*/"] {
2 | background: #ffff00;
3 | }
4 | div[data-test='foo,bar'] {
5 | cursor: default;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/selectorWithQuotes.less:
--------------------------------------------------------------------------------
1 | div[comment="/*foo*/"] {
2 | background: #ffff00;
3 | }
4 | div[data-test='foo,bar'] {
5 | cursor: default;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/slash.css:
--------------------------------------------------------------------------------
1 | .slash {
2 | font: 1.5/2;
3 | a: 1.5;
4 | b: 1.5;
5 | e: a/b;
6 | f: a/b;
7 | g: a/b;
8 | h: a/b;
9 | font: 3/2;
10 | }
11 | .slash2 {
12 | background: url("img.jpg") center/100px;
13 | background: url(abc/img.jpg);
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/slash.less:
--------------------------------------------------------------------------------
1 | // comment
2 | .slash {
3 | @a: 3 / 2;
4 | font:@a/2;
5 | a: @a;
6 | b: 3 / 2;
7 | e: a / b;
8 | f: a/ b;
9 | g: a /b;
10 | h: a/b;
11 | font:3/2;
12 | }
13 | .slash2 {
14 | background: url("img.jpg") center / 100px;
15 | background: url(abc/img.jpg);
16 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/svgGradient.css:
--------------------------------------------------------------------------------
1 | .svg {
2 | x: #c4c4c4;
3 | a: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxyYWRpYWxHcmFkaWVudCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjeD0iNTAlIiBjeT0iNTAlIiByPSI3NSUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L3JhZGlhbEdyYWRpZW50PjxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkaWVudCkiIC8+PC9zdmc+');
4 | b: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxyYWRpYWxHcmFkaWVudCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjeD0iNTAlIiBjeT0iNTAlIiByPSI3NSUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiLz48L3JhZGlhbEdyYWRpZW50PjxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkaWVudCkiIC8+PC9zdmc+');
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/general/svgGradient.less:
--------------------------------------------------------------------------------
1 | .svg {
2 | x: mix(black, white) + #444;
3 | a: svg-gradient(ellipse, black, white);
4 | b: svg-gradient(ellipse at center, black, white);
5 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/MultipleAnd1.css:
--------------------------------------------------------------------------------
1 | .link + .link {
2 | color: red;
3 | }
4 | .link .link {
5 | color: green;
6 | }
7 | .link.link {
8 | color: blue;
9 | }
10 | .link,
11 | .linkish {
12 | color: cyan;
13 | }
14 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/MultipleAnd1.less:
--------------------------------------------------------------------------------
1 | .link {
2 | & + & {
3 | color: red;
4 | }
5 |
6 | & & {
7 | color: green;
8 | }
9 |
10 | && {
11 | color: blue;
12 | }
13 |
14 | &, &ish {
15 | color: cyan;
16 | }
17 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/MultipleAnd2.css:
--------------------------------------------------------------------------------
1 | .link + .link,
2 | .link + a,
3 | a + .link,
4 | a + a {
5 | color: red;
6 | }
7 | .link .link,
8 | .link a,
9 | a .link,
10 | a a {
11 | color: green;
12 | }
13 | .link.link,
14 | .linka,
15 | a.link,
16 | aa {
17 | color: blue;
18 | }
19 | .link,
20 | a,
21 | .linkish,
22 | aish {
23 | color: cyan;
24 | }
25 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/MultipleAnd2.less:
--------------------------------------------------------------------------------
1 | .link, a {
2 | & + & {
3 | color: red;
4 | }
5 |
6 | & & {
7 | color: green;
8 | }
9 |
10 | && {
11 | color: blue;
12 | }
13 |
14 | &, &ish {
15 | color: cyan;
16 | }
17 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/base.css:
--------------------------------------------------------------------------------
1 | .button-ok {
2 | background-image: url("ok.png");
3 | }
4 | .button-cancel {
5 | background-image: url("cancel.png");
6 | }
7 | .button-custom {
8 | background-image: url("custom.png");
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/ParentSelectors/base.less:
--------------------------------------------------------------------------------
1 | .button {
2 | &-ok {
3 | background-image: url("ok.png");
4 | }
5 | &-cancel {
6 | background-image: url("cancel.png");
7 | }
8 |
9 | &-custom {
10 | background-image: url("custom.png");
11 | }
12 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/InsideMedia.css:
--------------------------------------------------------------------------------
1 | @media print {
2 | .selector,
3 | .screenClass {
4 | color: black;
5 | }
6 | }
7 | .selector {
8 | color: red;
9 | }
10 | @media screen {
11 | .selector {
12 | color: blue;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/InsideMedia.less:
--------------------------------------------------------------------------------
1 | @media print {
2 | .screenClass:extend(.selector) {} // extend inside media
3 | .selector { // this will be matched - it is in the same media
4 | color: black;
5 | }
6 | }
7 | .selector { // ruleset on top of style sheet - extend ignores it
8 | color: red;
9 | }
10 | @media screen {
11 | .selector { // ruleset inside another media - extend ignores it
12 | color: blue;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/all.css:
--------------------------------------------------------------------------------
1 | .a.b.test,
2 | .test.c,
3 | .a.b.replacement,
4 | .replacement.c {
5 | color: orange;
6 | }
7 | .test:hover,
8 | .replacement:hover {
9 | color: green;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/all.less:
--------------------------------------------------------------------------------
1 | @color: orange;
2 |
3 | .a.b.test,
4 | .test.c {
5 | color: @color;
6 | }
7 | .test {
8 | &:hover {
9 | color: green;
10 | }
11 | }
12 |
13 | .replacement:extend(.test all) {}
14 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/base.css:
--------------------------------------------------------------------------------
1 | nav ul {
2 | background: blue;
3 | }
4 | .inline,
5 | nav ul {
6 | color: red;
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/base.less:
--------------------------------------------------------------------------------
1 | nav ul {
2 | &:extend(.inline);
3 | background: blue;
4 | }
5 | .inline {
6 | color: red;
7 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/element.css:
--------------------------------------------------------------------------------
1 | h1,
2 | h2 {
3 | font-size: 20px;
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/extends/element.less:
--------------------------------------------------------------------------------
1 | h1 {
2 | font-size: 20px;
3 | }
4 | h2 {
5 | &:extend(h1);
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/conditional.css:
--------------------------------------------------------------------------------
1 | .class1 {
2 | background-color: black;
3 | color: #ddd;
4 | }
5 | .class2 {
6 | background-color: white;
7 | color: #555;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/conditional.less:
--------------------------------------------------------------------------------
1 | .mixin (@a) when (lightness(@a) >= 50%) {
2 | background-color: black;
3 | }
4 | .mixin (@a) when (lightness(@a) < 50%) {
5 | background-color: white;
6 | }
7 | .mixin (@a) {
8 | color: @a;
9 | }
10 | .class1 { .mixin(#ddd) }
11 | .class2 { .mixin(#555) }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/css_guards.css:
--------------------------------------------------------------------------------
1 | button {
2 | color: white;
3 | }
4 | span {
5 | color: white;
6 | }
7 | a {
8 | color: blue;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/css_guards.less:
--------------------------------------------------------------------------------
1 | @my-option: true;
2 | @width: 40;
3 |
4 | button when (@my-option = true) {
5 | color: white;
6 | }
7 |
8 | & when not (@width) {
9 | span {
10 | color: white;
11 | }
12 | a {
13 | color: blue;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/list.css:
--------------------------------------------------------------------------------
1 | .svy-sidenav-dropdown.sn-level-1:not(.svy-navitem-selected) {
2 | padding: 0px 1px;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/list.less:
--------------------------------------------------------------------------------
1 | @sidenav-selected-border-width: 0px 1px;
2 | .svy-sidenav-dropdown.sn-level-1:not(.svy-navitem-selected) when not(@sidenav-selected-border-width = 0) {
3 | padding: @sidenav-selected-border-width
4 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/logical_operators.css:
--------------------------------------------------------------------------------
1 | .class1 {
2 | largevalue: -15;
3 | }
4 | .class3 {
5 | value: 5;
6 | }
7 | .class4 {
8 | value: 15;
9 | largevalue: 15;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/guards/logical_operators.less:
--------------------------------------------------------------------------------
1 | .mixin (@a) when (isnumber(@a)) and (@a > 0) {
2 | value: @a;
3 | }
4 | .mixin (@a) when (@a > 10), (@a < -10) {
5 | largevalue: @a;
6 | }
7 |
8 | .class1 { .mixin(-15) }
9 | .class2 { .mixin(-5) }
10 | .class3 { .mixin(5) }
11 | .class4 { .mixin(15) }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/license.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Alexis Sellier, the LESS Core Team, Contributors.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/list/range.css:
--------------------------------------------------------------------------------
1 | simple {
2 | value: 1 2 3 4;
3 | length: 4;
4 | }
5 | full {
6 | value: 10px 20px 30px;
7 | length: 3;
8 | }
9 | empty {
10 | value: ;
11 | length: 0;
12 | }
13 | floating {
14 | value: 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2;
15 | length: 10;
16 | }
17 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/list/range.less:
--------------------------------------------------------------------------------
1 | simple {
2 | @list: range(4);
3 | value: @list;
4 | length: length( @list );
5 | }
6 | full {
7 | @list: range(10px, 30px, 10);
8 | value: @list;
9 | length: length( @list );
10 | }
11 | empty {
12 | @list: range(10, 5);
13 | value: @list;
14 | length: length( @list );
15 | }
16 | floating {
17 | @list: range(1.4, 3.4, 0.2);
18 | value: @list;
19 | length: length( @list );
20 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/logical/if1.css:
--------------------------------------------------------------------------------
1 | div {
2 | margin: 0;
3 | color: black;
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/logical/if1.less:
--------------------------------------------------------------------------------
1 | @some: foo;
2 |
3 | div {
4 | margin: if((2 > 1), 0, 3px);
5 | color: if((iscolor(@some)), darken(@some, 10%), black);
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/logical/if2.css:
--------------------------------------------------------------------------------
1 | .if {
2 | a: bar;
3 | b: foo;
4 | c: foo;
5 | d: blue;
6 | e: blue;
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/logical/if2.less:
--------------------------------------------------------------------------------
1 | .if {
2 | a: if(not (true), foo, bar);
3 | b: if((true) and (2 > 1), foo, bar);
4 | c: if((false) or (isstring("boo!")), foo, bar);
5 | d: if(2 > 1, blue, green);
6 | e: if((2 > 1), blue, green);
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/MultipleParameters.css:
--------------------------------------------------------------------------------
1 | .some .selector div {
2 | color-1: #008000;
3 | color-2: #008000;
4 | padding-2: 2;
5 | }
6 | .dummyParameter {
7 | color-1: 1, 2, 3;
8 | color-2: 1, 2, 3;
9 | padding-2: 2;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/MultipleParameters.less:
--------------------------------------------------------------------------------
1 | .mixin() {
2 | color-0: green;
3 | }
4 | .mixin(@color) {
5 | color-1: @color;
6 | }
7 | .mixin(@color; @padding:2) {
8 | color-2: @color;
9 | padding-2: @padding;
10 | }
11 | .mixin(@color; @padding; @margin: 2) {
12 | color-3: @color;
13 | padding-3: @padding;
14 | margin: @margin @margin @margin @margin;
15 | }
16 | .some .selector div {
17 | .mixin(#008000);
18 | }
19 | .dummyParameter {
20 | .mixin(1, 2, 3;)
21 | }
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/as_function.css:
--------------------------------------------------------------------------------
1 | .caller {
2 | width: 100%;
3 | height: 200px;
4 | }
5 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/as_function.less:
--------------------------------------------------------------------------------
1 | .mixin() {
2 | @width: 100%;
3 | @height: 200px;
4 | }
5 |
6 | .caller {
7 | .mixin();
8 | width: @width;
9 | height: @height;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/as_function2.css:
--------------------------------------------------------------------------------
1 | div {
2 | padding: 33px;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/as_function2.less:
--------------------------------------------------------------------------------
1 | .average(@x, @y) {
2 | @average: ((@x + @y) / 2);
3 | }
4 |
5 | div {
6 | .average(16px, 50px); // "call" the mixin
7 | padding: @average; // use its "return" value
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/base.css:
--------------------------------------------------------------------------------
1 | .a,
2 | #b {
3 | color: red;
4 | }
5 | .mixin-class {
6 | color: red;
7 | }
8 | .mixin-id {
9 | color: red;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/base.css_x:
--------------------------------------------------------------------------------
1 | .a,#b{color:#f00}.mixin-class{color:#f00}.mixin-id{color:#f00}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/base.less:
--------------------------------------------------------------------------------
1 | .a, #b {
2 | color: red;
3 | }
4 | .mixin-class {
5 | .a();
6 | }
7 | .mixin-id {
8 | #b();
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/colon.css:
--------------------------------------------------------------------------------
1 | a {
2 | color: hover;
3 | display: hover;
4 | }
5 | a color:hover {
6 | color: green;
7 | }
8 | a display :hover {
9 | color: red;
10 | }
11 | a display *:not(:last-child) {
12 | color: blue;
13 | }
14 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/colon.less:
--------------------------------------------------------------------------------
1 | a {
2 | color:hover;
3 | display :hover;
4 | color:hover {
5 | color: green;
6 | }
7 | display :hover {
8 | color: red;
9 | }
10 | display *:not(:last-child) {
11 | color: blue;
12 | }
13 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/important.css:
--------------------------------------------------------------------------------
1 | .unimportant {
2 | background: #f5f5f5;
3 | color: #900;
4 | }
5 | .important {
6 | background: #f5f5f5 !important;
7 | color: #900 !important;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/important.css_x:
--------------------------------------------------------------------------------
1 | .unimportant{background:#f5f5f5;color:#900}.important{background:#f5f5f5 !important;color:#900 !important}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/important.less:
--------------------------------------------------------------------------------
1 | .foo (@bg: #f5f5f5, @color: #900) {
2 | background: @bg;
3 | color: @color;
4 | }
5 | .unimportant {
6 | .foo();
7 | }
8 | .important {
9 | .foo() !important;
10 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/namespaces.css:
--------------------------------------------------------------------------------
1 | #outer .inner {
2 | color: red;
3 | }
4 | .c {
5 | color: red;
6 | }
7 | .d {
8 | color: red;
9 | }
10 | .e {
11 | color: red;
12 | }
13 | .f {
14 | color: red;
15 | }
16 | .g {
17 | color: red;
18 | }
19 | .h {
20 | color: red;
21 | }
22 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/namespaces.css_x:
--------------------------------------------------------------------------------
1 | #outer .inner{color:#f00}.c{color:#f00}.d{color:#f00}.e{color:#f00}.f{color:#f00}.g{color:#f00}.h{color:#f00}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/namespaces.less:
--------------------------------------------------------------------------------
1 | #outer {
2 | .inner {
3 | color: red;
4 | }
5 | }
6 |
7 | // all do the same thing
8 | .c{
9 | #outer > .inner;
10 | }
11 | .d{
12 | #outer > .inner();
13 | }
14 | .e{
15 | #outer .inner;
16 | }
17 | .f{
18 | #outer .inner();
19 | }
20 | .g{
21 | #outer.inner;
22 | }
23 | .h{
24 | #outer.inner();
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/outputting.css:
--------------------------------------------------------------------------------
1 | .my-mixin {
2 | color: black;
3 | }
4 | .class {
5 | color: black;
6 | background: white;
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/outputting.css_x:
--------------------------------------------------------------------------------
1 | .my-mixin{color:#000}.class{color:#000;background:#fff}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/outputting.less:
--------------------------------------------------------------------------------
1 | .my-mixin {
2 | color: black;
3 | }
4 | .my-other-mixin() {
5 | background: white;
6 | }
7 | .class {
8 | .my-mixin;
9 | .my-other-mixin;
10 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/parametric.css:
--------------------------------------------------------------------------------
1 | #header {
2 | -webkit-border-radius: 4px;
3 | -moz-border-radius: 4px;
4 | border-radius: 4px;
5 | }
6 | .button {
7 | -webkit-border-radius: 6px;
8 | -moz-border-radius: 6px;
9 | border-radius: 6px;
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/parametric.less:
--------------------------------------------------------------------------------
1 | .border-radius(@radius) {
2 | -webkit-border-radius: @radius;
3 | -moz-border-radius: @radius;
4 | border-radius: @radius;
5 | }
6 |
7 |
8 | #header {
9 | .border-radius(4px);
10 | }
11 | .button {
12 | .border-radius(6px);
13 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/root.css:
--------------------------------------------------------------------------------
1 | /* mixin1 */
2 | .abc {
3 | position: top;
4 | }
5 | /* mixin2 */
6 | .xyz .foo {
7 | position: bottom;
8 | }
9 | /* mixin3 */
10 | .foo {
11 | position: relative;
12 | }
13 | /* mixin4 */
14 | .foo {
15 | position: bottom;
16 | position: relative;
17 | }
18 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/root.less:
--------------------------------------------------------------------------------
1 | .mixin1() {
2 | .abc {
3 | position: top;
4 | }
5 | }
6 | /* mixin1 */
7 | .mixin1;
8 |
9 | .mixin2() {
10 | .xyz {
11 | .foo {
12 | position: bottom;
13 | }
14 | }
15 | }
16 | /* mixin2 */
17 | .mixin2;
18 |
19 | .mixin3() {
20 | .xyz() {
21 | .foo {
22 | position: relative;
23 | }
24 | }
25 | .xyz;
26 | }
27 | /* mixin3 */
28 | .mixin3;
29 |
30 | .mixin4() {
31 | .bar() {
32 | .bla {
33 | position: absolute;
34 | }
35 | }
36 | .xyz;
37 | }
38 | /* mixin4 */
39 | .mixin4;
40 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/selectors.css:
--------------------------------------------------------------------------------
1 | button:hover {
2 | border: 1px solid red;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/selectors.css_x:
--------------------------------------------------------------------------------
1 | button:hover{border:1px solid #f00}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/mixins/selectors.less:
--------------------------------------------------------------------------------
1 | .my-hover-mixin() {
2 | &:hover {
3 | border: 1px solid red;
4 | }
5 | }
6 | button {
7 | .my-hover-mixin();
8 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/bubbling_non_conditional.css:
--------------------------------------------------------------------------------
1 | #a {
2 | color: blue;
3 | padding: 2 2 2 2;
4 | }
5 | @font-face {
6 | src: made-up-url;
7 | }
8 | @keyframes foobar {
9 | from {
10 | opacity: 1;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/bubbling_non_conditional.css_x:
--------------------------------------------------------------------------------
1 | #a{color:#00f;padding:2 2 2 2}@font-face{src:made-up-url}@keyframes foobar{from{opacity:1}}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/bubbling_non_conditional.less:
--------------------------------------------------------------------------------
1 | #a {
2 | color: blue;
3 | @font-face {
4 | src: made-up-url;
5 | }
6 | padding: 2 2 2 2;
7 | @keyframes foobar {
8 | from { opacity: 1; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/comments.css:
--------------------------------------------------------------------------------
1 | /* One hell of a block
2 | style comment! */
3 | .class {
4 | color: white;
5 | /* in block */
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/comments.css_x:
--------------------------------------------------------------------------------
1 | .class{color:#fff}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/comments.less:
--------------------------------------------------------------------------------
1 | /* One hell of a block
2 | style comment! */
3 | @var: red;
4 |
5 | // Get in line!
6 | @var: white;
7 | .class /* in block */ {
8 | color: @var; // in line
9 | // in line
10 | /* in block */
11 | }
12 | // last line comment
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/functions.css:
--------------------------------------------------------------------------------
1 | .class {
2 | width: 50%;
3 | color: #f6430f;
4 | background-color: #f8b38d;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/functions.css_x:
--------------------------------------------------------------------------------
1 | .class{width:50%;color:#f6430f;background-color:#f8b38d}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/functions.less:
--------------------------------------------------------------------------------
1 | @base: #f04615;
2 | @width: 0.5;
3 |
4 | .class {
5 | width: percentage(@width); // returns `50%`
6 | color: saturate(@base, 5%);
7 | background-color: spin(lighten(@base, 25%), 8);
8 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/media.css:
--------------------------------------------------------------------------------
1 | @media screen {
2 | .screencolor {
3 | color: green;
4 | }
5 | }
6 | @media screen and (min-width:768px) {
7 | .screencolor {
8 | color: red;
9 | }
10 | }
11 | @media tv {
12 | .screencolor {
13 | color: black;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/media.css_x:
--------------------------------------------------------------------------------
1 | @media screen{.screencolor{color:#008000}}@media screen and (min-width:768px){.screencolor{color:#f00}}@media tv{.screencolor{color:#000}}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/media.less:
--------------------------------------------------------------------------------
1 | .screencolor{
2 | @media screen {
3 | color: green;
4 | @media (min-width:768px) {
5 | color: red;
6 | }
7 | }
8 | @media tv {
9 | color: black;
10 | }
11 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/mixins.css:
--------------------------------------------------------------------------------
1 | .bordered {
2 | border-top: dotted 1px black;
3 | border-bottom: solid 2px black;
4 | }
5 | #menu a {
6 | color: #111;
7 | border-top: dotted 1px black;
8 | border-bottom: solid 2px black;
9 | }
10 | .post a {
11 | color: red;
12 | border-top: dotted 1px black;
13 | border-bottom: solid 2px black;
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/mixins.css_x:
--------------------------------------------------------------------------------
1 | .bordered{border-top:dotted 1px #000;border-bottom:solid 2px #000}#menu a{color:#111;border-top:dotted 1px #000;border-bottom:solid 2px #000}.post a{color:#f00;border-top:dotted 1px #000;border-bottom:solid 2px #000}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/mixins.less:
--------------------------------------------------------------------------------
1 | .bordered {
2 | border-top: dotted 1px black;
3 | border-bottom: solid 2px black;
4 | }
5 |
6 | #menu a {
7 | color: #111;
8 | .bordered;
9 | }
10 |
11 | .post a {
12 | color: red;
13 | .bordered;
14 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/namespace.css:
--------------------------------------------------------------------------------
1 | #bundle .button {
2 | display: block;
3 | border: 1px solid black;
4 | background-color: grey;
5 | }
6 | #bundle .button:hover {
7 | background-color: white;
8 | }
9 | #header a {
10 | color: orange;
11 | display: block;
12 | border: 1px solid black;
13 | background-color: grey;
14 | }
15 | #header a:hover {
16 | background-color: white;
17 | }
18 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/namespace.css_x:
--------------------------------------------------------------------------------
1 | #bundle .button{display:block;border:1px solid #000;background-color:#808080}#bundle .button:hover{background-color:#fff}#header a{color:#ffa500;display:block;border:1px solid #000;background-color:#808080}#header a:hover{background-color:#fff}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/namespace.less:
--------------------------------------------------------------------------------
1 | #bundle {
2 | .button {
3 | display: block;
4 | border: 1px solid black;
5 | background-color: grey;
6 | &:hover {
7 | background-color: white
8 | }
9 | }
10 | }
11 | #header a {
12 | color: orange;
13 | #bundle > .button;
14 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/nested_rules.css:
--------------------------------------------------------------------------------
1 | #header {
2 | color: black;
3 | }
4 | #header .navigation {
5 | font-size: 12px;
6 | }
7 | #header .logo {
8 | width: 300px;
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/nested_rules.css_x:
--------------------------------------------------------------------------------
1 | #header{color:#000}#header .navigation{font-size:12px}#header .logo{width:300px}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/nested_rules.less:
--------------------------------------------------------------------------------
1 | #header {
2 | color: black;
3 | .navigation {
4 | font-size: 12px;
5 | }
6 | .logo {
7 | width: 300px;
8 | }
9 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/operations.css:
--------------------------------------------------------------------------------
1 | #abc {
2 | color: #222222;
3 | background-color: #234567;
4 | height: 65%;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/operations.css_x:
--------------------------------------------------------------------------------
1 | #abc{color:#222;background-color:#234567;height:65%}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/operations.less:
--------------------------------------------------------------------------------
1 | @base: 5%;
2 | @filler: @base * 2;
3 | @other: @base + @filler;
4 | @base-color: #123456;
5 |
6 | #abc {
7 | color: #888 / 4;
8 | background-color: @base-color + #111;
9 | height: 100% / 2 + @other;
10 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/pseudo_selector.css:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | display: block;
3 | zoom: 1;
4 | }
5 | .clearfix:after {
6 | content: " ";
7 | display: block;
8 | font-size: 0;
9 | height: 0;
10 | clear: both;
11 | visibility: hidden;
12 | }
13 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/pseudo_selector.css_x:
--------------------------------------------------------------------------------
1 | .clearfix{display:block;zoom:1}.clearfix:after{content:" ";display:block;font-size:0;height:0;clear:both;visibility:hidden}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/pseudo_selector.less:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | display: block;
3 | zoom: 1;
4 |
5 | &:after {
6 | content: " ";
7 | display: block;
8 | font-size: 0;
9 | height: 0;
10 | clear: both;
11 | visibility: hidden;
12 | }
13 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/scope.css:
--------------------------------------------------------------------------------
1 | #page #header {
2 | color: white;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/scope.css_x:
--------------------------------------------------------------------------------
1 | #page #header{color:#fff}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/scope.less:
--------------------------------------------------------------------------------
1 | @var: red;
2 |
3 | #page {
4 | #header {
5 | color: @var; // white
6 | }
7 | @var: white;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/variables.css:
--------------------------------------------------------------------------------
1 | #header {
2 | color: #6c94be;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/variables.css_x:
--------------------------------------------------------------------------------
1 | #header{color:#6c94be}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_doc/overview/variables.less:
--------------------------------------------------------------------------------
1 | @nice-blue: #5B83AD;;
2 | @light-blue: @nice-blue + #111;
3 |
4 | #header {
5 | color: @light-blue;
6 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/data/data-uri-fail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/less_org_tests/data/data-uri-fail.png
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/data/image.jpg:
--------------------------------------------------------------------------------
1 | not actually a jpeg file
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/data/page.html:
--------------------------------------------------------------------------------
1 | This page is 100% Awesome.
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/charsets.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/charsets.less:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import "import/import-charset-test";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/colors.css:
--------------------------------------------------------------------------------
1 | #yelow #short {
2 | color: #fea;
3 | }
4 | #yelow #long {
5 | color: #ffeeaa;
6 | }
7 | #yelow #rgba {
8 | color: rgba(255, 238, 170, 0.1);
9 | }
10 | #yelow #argb {
11 | color: #1affeeaa;
12 | }
13 | #blue #short {
14 | color: #00f;
15 | }
16 | #blue #long {
17 | color: #0000ff;
18 | }
19 | #blue #rgba {
20 | color: rgba(0, 0, 255, 0.1);
21 | }
22 | #blue #argb {
23 | color: #1a0000ff;
24 | }
25 | #alpha #hsla {
26 | color: rgba(61, 45, 41, 0.6);
27 | }
28 | #overflow .a {
29 | color: #000000;
30 | }
31 | #overflow .b {
32 | color: #ffffff;
33 | }
34 | #overflow .c {
35 | color: #ffffff;
36 | }
37 | #overflow .d {
38 | color: #00ff00;
39 | }
40 | #overflow .e {
41 | color: rgba(0, 31, 255, 0.42);
42 | }
43 | #grey {
44 | color: #c8c8c8;
45 | }
46 | #333333 {
47 | color: #333333;
48 | }
49 | #808080 {
50 | color: #808080;
51 | }
52 | #00ff00 {
53 | color: #00ff00;
54 | }
55 | .lightenblue {
56 | color: #3333ff;
57 | }
58 | .darkenblue {
59 | color: #0000cc;
60 | }
61 | .unknowncolors {
62 | color: blue2;
63 | border: 2px solid superred;
64 | }
65 | .transparent {
66 | color: transparent;
67 | background-color: transparent;
68 | }
69 | #alpha #fromvar {
70 | opacity: 0.7;
71 | }
72 | #alpha #short {
73 | opacity: 1;
74 | }
75 | #alpha #long {
76 | opacity: 1;
77 | }
78 | #alpha #rgba {
79 | opacity: 0.2;
80 | }
81 | #alpha #hsl {
82 | opacity: 1;
83 | }
84 | #percentage {
85 | color: 255;
86 | border-color: rgba(255, 0, 0, 0.5);
87 | }
88 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/colors.less:
--------------------------------------------------------------------------------
1 | #yelow {
2 | #short {
3 | color: #fea;
4 | }
5 | #long {
6 | color: #ffeeaa;
7 | }
8 | #rgba {
9 | color: rgba(255, 238, 170, 0.1);
10 | }
11 | #argb {
12 | color: argb(rgba(255, 238, 170, 0.1));
13 | }
14 | }
15 |
16 | #blue {
17 | #short {
18 | color: #00f;
19 | }
20 | #long {
21 | color: #0000ff;
22 | }
23 | #rgba {
24 | color: rgba(0, 0, 255, 0.1);
25 | }
26 | #argb {
27 | color: argb(rgba(0, 0, 255, 0.1));
28 | }
29 | }
30 |
31 | #alpha #hsla {
32 | color: hsla(11, 20%, 20%, 0.6);
33 | }
34 |
35 | #overflow {
36 | .a { color: (#111111 - #444444); } // #000000
37 | .b { color: (#eee + #fff); } // #ffffff
38 | .c { color: (#aaa * 3); } // #ffffff
39 | .d { color: (#00ee00 + #009900); } // #00ff00
40 | .e { color: rgba(-99.9, 31.4159, 321, 0.42); }
41 | }
42 |
43 | #grey {
44 | color: rgb(200, 200, 200);
45 | }
46 |
47 | #333333 {
48 | color: rgb(20%, 20%, 20%);
49 | }
50 |
51 | #808080 {
52 | color: hsl(50, 0%, 50%);
53 | }
54 |
55 | #00ff00 {
56 | color: hsl(120, 100%, 50%);
57 | }
58 |
59 | .lightenblue {
60 | color: lighten(blue, 10%);
61 | }
62 |
63 | .darkenblue {
64 | color: darken(blue, 10%);
65 | }
66 |
67 | .unknowncolors {
68 | color: blue2;
69 | border: 2px solid superred;
70 | }
71 |
72 | .transparent {
73 | color: transparent;
74 | background-color: rgba(0, 0, 0, 0);
75 | }
76 | #alpha {
77 | @colorvar: rgba(150, 200, 150, 0.7);
78 | #fromvar {
79 | opacity: alpha(@colorvar);
80 | }
81 | #short {
82 | opacity: alpha(#aaa);
83 | }
84 | #long {
85 | opacity: alpha(#bababa);
86 | }
87 | #rgba {
88 | opacity: alpha(rgba(50, 120, 95, 0.2));
89 | }
90 | #hsl {
91 | opacity: alpha(hsl(120, 100%, 50%));
92 | }
93 | }
94 |
95 | #percentage {
96 | color: red(rgb(100%, 0, 0));
97 | border-color: rgba(100%, 0, 0, 50%);
98 | }
99 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/comments.css:
--------------------------------------------------------------------------------
1 | /******************\
2 | * *
3 | * Comment Header *
4 | * *
5 | \******************/
6 | /*
7 |
8 | Comment
9 |
10 | */
11 | /*
12 | * Comment Test
13 | *
14 | * - cloudhead (http://cloudhead.net)
15 | *
16 | */
17 | /* Colors
18 | * ------
19 | * #EDF8FC (background blue)
20 | * #166C89 (darkest blue)
21 | *
22 | * Text:
23 | * #333 (standard text) // A comment within a comment!
24 | * #1F9EC9 (standard link)
25 | *
26 | */
27 | /* @group Variables
28 | ------------------- */
29 | #comments,
30 | .comments {
31 | /**/
32 | color: red;
33 | /* A C-style comment */
34 | /* A C-style comment */
35 | background-color: orange;
36 | font-size: 12px;
37 | /* lost comment */
38 | content: "content";
39 | border: 1px solid black;
40 | padding: 0;
41 | margin: 2em;
42 | }
43 | /* commented out
44 | #more-comments {
45 | color: grey;
46 | }
47 | */
48 | .selector,
49 | .lots,
50 | .comments {
51 | color: grey, orange;
52 | -webkit-border-radius: 2px;
53 | -moz-border-radius: 8px;
54 | }
55 | .test {
56 | color: 1px;
57 | }
58 | #last {
59 | color: blue;
60 | }
61 | /* */
62 | /* { */
63 | /* */
64 | /* */
65 | /* */
66 | #div {
67 | color: #A33;
68 | }
69 | /* } */
70 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/comments.less:
--------------------------------------------------------------------------------
1 | /******************\
2 | * *
3 | * Comment Header *
4 | * *
5 | \******************/
6 |
7 | /*
8 |
9 | Comment
10 |
11 | */
12 |
13 | /*
14 | * Comment Test
15 | *
16 | * - cloudhead (http://cloudhead.net)
17 | *
18 | */
19 |
20 | ////////////////
21 | @var: "content";
22 | ////////////////
23 |
24 | /* Colors
25 | * ------
26 | * #EDF8FC (background blue)
27 | * #166C89 (darkest blue)
28 | *
29 | * Text:
30 | * #333 (standard text) // A comment within a comment!
31 | * #1F9EC9 (standard link)
32 | *
33 | */
34 |
35 | /* @group Variables
36 | ------------------- */
37 | #comments /* boo *//* boo again*/,
38 | //.commented_out1
39 | //.commented_out2
40 | //.commented_out3
41 | .comments //end of comments1
42 | //end of comments2
43 | {
44 | /**/ // An empty comment
45 | color: red; /* A C-style comment */ /* A C-style comment */
46 | background-color: orange; // A little comment
47 | font-size: 12px;
48 |
49 | /* lost comment */ content: @var;
50 |
51 | border: 1px solid black;
52 |
53 | // padding & margin //
54 | padding: 0; // }{ '"
55 | margin: 2em;
56 | } //
57 |
58 | /* commented out
59 | #more-comments {
60 | color: grey;
61 | }
62 | */
63 |
64 | .selector /* .with */, .lots, /* of */ .comments {
65 | color: grey, /* blue */ orange;
66 | -webkit-border-radius: 2px /* webkit only */;
67 | -moz-border-radius: (2px * 4) /* moz only with operation */;
68 | }
69 |
70 | .mixin_def_with_colors(@a: white, // in
71 | @b: 1px //put in @b - causes problems! --->
72 | ) // the
73 | when (@a = white) {
74 | .test {
75 | color: @b;
76 | }
77 | }
78 | .mixin_def_with_colors();
79 |
80 | #last { color: blue }
81 | //
82 |
83 | /* *//* { *//* *//* *//* */#div { color:#A33; }/* } */
84 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/compression/compression.css:
--------------------------------------------------------------------------------
1 | #colours{color1:#fea;color2:#fea;color3:rgba(255,238,170,.1);string:"#ffeeaa";/*! but not this type
2 | Note preserved whitespace
3 | */}dimensions{val:.1px;val:0;val:4cm;val:.2;val:5;angles-must-have-unit:0deg;durations-must-have-unit:0s;length-doesnt-have-unit:0;width:auto\9}@page{marks:none;@top-left-corner{vertical-align:top}@top-left{vertical-align:top}}.shadow ^ .dom,body ^^ .shadow{display:done}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/compression/compression.less:
--------------------------------------------------------------------------------
1 | #colours {
2 | color1: #fea;
3 | color2: #ffeeaa;
4 | color3: rgba(255, 238, 170, 0.1);
5 | @color1: #fea;
6 | string: "@{color1}";
7 | /* comments are stripped */
8 | // both types!
9 | /*! but not this type
10 | Note preserved whitespace
11 | */
12 | }
13 | dimensions {
14 | val: 0.1px;
15 | val: 0em;
16 | val: 4cm;
17 | val: 0.2;
18 | val: 5;
19 | angles-must-have-unit: 0deg;
20 | durations-must-have-unit: 0s;
21 | length-doesnt-have-unit: 0px;
22 | width: auto\9;
23 | }
24 | @page {
25 | marks: none;
26 | @top-left-corner {
27 | vertical-align: top;
28 | }
29 | @top-left {
30 | vertical-align: top;
31 | }
32 | }
33 | .shadow ^ .dom,
34 | body ^^ .shadow {
35 | display: done;
36 | }
37 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/css-escapes.css:
--------------------------------------------------------------------------------
1 | .escape\|random\|char {
2 | color: red;
3 | }
4 | .mixin\!tUp {
5 | font-weight: bold;
6 | }
7 | .\34 04 {
8 | background: red;
9 | }
10 | .\34 04 strong {
11 | color: fuchsia;
12 | font-weight: bold;
13 | }
14 | .trailingTest\+ {
15 | color: red;
16 | }
17 | /* This hideous test of hideousness checks for the selector "blockquote" with various permutations of hex escapes */
18 | \62\6c\6f \63 \6B \0071 \000075o\74 e {
19 | color: silver;
20 | }
21 | [ng\:cloak],
22 | ng\:form {
23 | display: none;
24 | }
25 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/css-escapes.less:
--------------------------------------------------------------------------------
1 | @ugly: fuchsia;
2 |
3 | .escape\|random\|char {
4 | color: red;
5 | }
6 |
7 | .mixin\!tUp {
8 | font-weight: bold;
9 | }
10 |
11 | // class="404"
12 | .\34 04 {
13 | background: red;
14 |
15 | strong {
16 | color: @ugly;
17 | .mixin\!tUp;
18 | }
19 | }
20 |
21 | .trailingTest\+ {
22 | color: red;
23 | }
24 |
25 | /* This hideous test of hideousness checks for the selector "blockquote" with various permutations of hex escapes */
26 | \62\6c\6f \63 \6B \0071 \000075o\74 e {
27 | color: silver;
28 | }
29 |
30 | [ng\:cloak],
31 | ng\:form {
32 | display: none;
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/css.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | div {
3 | color: black;
4 | width: 99%;
5 | }
6 | * {
7 | min-width: 45em;
8 | }
9 | h1,
10 | h2 > a > p,
11 | h3 {
12 | color: none;
13 | }
14 | div.class {
15 | color: blue;
16 | }
17 | div#id {
18 | color: green;
19 | }
20 | .class#id {
21 | color: purple;
22 | }
23 | .one.two.three {
24 | color: grey;
25 | }
26 | @media print {
27 | * {
28 | font-size: 3em;
29 | }
30 | }
31 | @media screen {
32 | * {
33 | font-size: 10px;
34 | }
35 | }
36 | @font-face {
37 | font-family: 'Garamond Pro';
38 | }
39 | a:hover,
40 | a:link {
41 | color: #999;
42 | }
43 | p,
44 | p:first-child {
45 | text-transform: none;
46 | }
47 | q:lang(no) {
48 | quotes: none;
49 | }
50 | p + h1 {
51 | font-size: 2.2em;
52 | }
53 | #shorthands {
54 | border: 1px solid #000;
55 | font: 12px/16px Arial;
56 | font: 100%/16px Arial;
57 | margin: 1px 0;
58 | padding: 0 auto;
59 | }
60 | #more-shorthands {
61 | margin: 0;
62 | padding: 1px 0 2px 0;
63 | font: normal small/20px 'Trebuchet MS', Verdana, sans-serif;
64 | font: 0/0 a;
65 | border-radius: 0.5px;
66 | }
67 | .misc {
68 | -moz-border-radius: 2px;
69 | display: -moz-inline-stack;
70 | width: 0.1em;
71 | background-color: #009998;
72 | background: -webkit-gradient(linear, left top, left bottom, from(red), to(blue));
73 | margin: ;
74 | filter: alpha(opacity=100);
75 | width: auto\9;
76 | }
77 | .misc .nested-multiple {
78 | multiple-semi-colons: yes;
79 | }
80 | #important {
81 | color: red !important;
82 | width: 100% !important;
83 | height: 20px !important;
84 | }
85 | @font-face {
86 | font-family: font-a;
87 | }
88 | @font-face {
89 | font-family: font-b;
90 | }
91 | .æøå {
92 | margin: 0;
93 | }
94 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/css.less:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | div { color: black; }
3 | div { width: 99%; }
4 |
5 | * {
6 | min-width: 45em;
7 | }
8 |
9 | h1, h2 > a > p, h3 {
10 | color: none;
11 | }
12 |
13 | div.class {
14 | color: blue;
15 | }
16 |
17 | div#id {
18 | color: green;
19 | }
20 |
21 | .class#id {
22 | color: purple;
23 | }
24 |
25 | .one.two.three {
26 | color: grey;
27 | }
28 |
29 | @media print {
30 | * {
31 | font-size: 3em;
32 | }
33 | }
34 |
35 | @media screen {
36 | * {
37 | font-size: 10px;
38 | }
39 | }
40 |
41 | @font-face {
42 | font-family: 'Garamond Pro';
43 | }
44 |
45 | a:hover, a:link {
46 | color: #999;
47 | }
48 |
49 | p, p:first-child {
50 | text-transform: none;
51 | }
52 |
53 | q:lang(no) {
54 | quotes: none;
55 | }
56 |
57 | p + h1 {
58 | font-size: +2.2em;
59 | }
60 |
61 | #shorthands {
62 | border: 1px solid #000;
63 | font: 12px/16px Arial;
64 | font: 100%/16px Arial;
65 | margin: 1px 0;
66 | padding: 0 auto;
67 | }
68 |
69 | #more-shorthands {
70 | margin: 0;
71 | padding: 1px 0 2px 0;
72 | font: normal small/20px 'Trebuchet MS', Verdana, sans-serif;
73 | font: 0/0 a;
74 | border-radius: 5px / 10px;
75 | }
76 |
77 | .misc {
78 | -moz-border-radius: 2px;
79 | display: -moz-inline-stack;
80 | width: .1em;
81 | background-color: #009998;
82 | background: -webkit-gradient(linear, left top, left bottom, from(red), to(blue));
83 | margin: ;
84 | .nested-multiple {
85 | multiple-semi-colons: yes;;;;;;
86 | };
87 | filter: alpha(opacity=100);
88 | width: auto\9;
89 | }
90 |
91 | #important {
92 | color: red !important;
93 | width: 100%!important;
94 | height: 20px ! important;
95 | }
96 |
97 | .def-font(@name) {
98 | @font-face {
99 | font-family: @name
100 | }
101 | }
102 |
103 | .def-font(font-a);
104 | .def-font(font-b);
105 |
106 | .æøå {
107 | margin: 0;
108 | }
109 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/empty.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/less_org_tests/less/empty.css
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/empty.less:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/less_org_tests/less/empty.less
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-chaining.css:
--------------------------------------------------------------------------------
1 | .a,
2 | .b,
3 | .c {
4 | color: black;
5 | }
6 | .f,
7 | .e,
8 | .d {
9 | color: black;
10 | }
11 | .g.h,
12 | .i.j.h,
13 | .k.j.h {
14 | color: black;
15 | }
16 | .i.j,
17 | .k.j {
18 | color: white;
19 | }
20 | .l,
21 | .m,
22 | .n,
23 | .o,
24 | .p,
25 | .q,
26 | .r,
27 | .s,
28 | .t {
29 | color: black;
30 | }
31 | .u,
32 | .v.u.v {
33 | color: black;
34 | }
35 | .w,
36 | .v.w.v {
37 | color: black;
38 | }
39 | .x,
40 | .y,
41 | .z {
42 | color: x;
43 | }
44 | .y,
45 | .z,
46 | .x {
47 | color: y;
48 | }
49 | .z,
50 | .x,
51 | .y {
52 | color: z;
53 | }
54 | .va,
55 | .vb,
56 | .vc {
57 | color: black;
58 | }
59 | .vb,
60 | .vc {
61 | color: white;
62 | }
63 | @media tv {
64 | .ma,
65 | .mb,
66 | .mc {
67 | color: black;
68 | }
69 | .md,
70 | .ma,
71 | .mb,
72 | .mc {
73 | color: white;
74 | }
75 | }
76 | @media tv and plasma {
77 | .me,
78 | .mf {
79 | background: red;
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-chaining.less:
--------------------------------------------------------------------------------
1 | //very simple chaining
2 | .a {
3 | color: black;
4 | }
5 | .b:extend(.a) {}
6 | .c:extend(.b) {}
7 |
8 | //very simple chaining, ordering not important
9 |
10 | .d:extend(.e) {}
11 | .e:extend(.f) {}
12 | .f {
13 | color: black;
14 | }
15 |
16 | //extend with all
17 |
18 | .g.h {
19 | color: black;
20 | }
21 | .i.j:extend(.g all) {
22 | color: white;
23 | }
24 | .k:extend(.i all) {}
25 |
26 | //extend multi-chaining
27 |
28 | .l {
29 | color: black;
30 | }
31 | .m:extend(.l){}
32 | .n:extend(.m){}
33 | .o:extend(.n){}
34 | .p:extend(.o){}
35 | .q:extend(.p){}
36 | .r:extend(.q){}
37 | .s:extend(.r){}
38 | .t:extend(.s){}
39 |
40 | // self referencing is ignored
41 |
42 | .u {color: black;}
43 | .v.u.v:extend(.u all){}
44 |
45 | // circular reference because the new extend product will match the existing extend
46 |
47 | .w:extend(.w) {color: black;}
48 | .v.w.v:extend(.w all){}
49 |
50 | // classic circular references
51 |
52 | .x:extend(.z) {
53 | color: x;
54 | }
55 | .y:extend(.x) {
56 | color: y;
57 | }
58 | .z:extend(.y) {
59 | color: z;
60 | }
61 |
62 | //very simple chaining, but with the extend inside the ruleset
63 | .va {
64 | color: black;
65 | }
66 | .vb {
67 | &:extend(.va);
68 | color: white;
69 | }
70 | .vc {
71 | &:extend(.vb);
72 | }
73 |
74 | // media queries - dont extend outside, do extend inside
75 |
76 | @media tv {
77 | .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v,.w,.x,.y,.z,.md) {
78 | color: black;
79 | }
80 | .md {
81 | color: white;
82 | }
83 | @media plasma {
84 | .me, .mf {
85 | &:extend(.mb,.md);
86 | background: red;
87 | }
88 | }
89 | }
90 | .mb:extend(.ma) {};
91 | .mc:extend(.mb) {};
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-clearfix.css:
--------------------------------------------------------------------------------
1 | .clearfix,
2 | .foo,
3 | .bar {
4 | *zoom: 1;
5 | }
6 | .clearfix:after,
7 | .foo:after,
8 | .bar:after {
9 | content: '';
10 | display: block;
11 | clear: both;
12 | height: 0;
13 | }
14 | .foo {
15 | color: red;
16 | }
17 | .bar {
18 | color: blue;
19 | }
20 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-clearfix.less:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | *zoom: 1;
3 | &:after {
4 | content: '';
5 | display: block;
6 | clear: both;
7 | height: 0;
8 | }
9 | }
10 |
11 | .foo {
12 | &:extend(.clearfix all);
13 | color: red;
14 | }
15 |
16 | .bar {
17 | &:extend(.clearfix all);
18 | color: blue;
19 | }
20 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-exact.css:
--------------------------------------------------------------------------------
1 | .replace.replace .replace,
2 | .c.replace + .replace .replace,
3 | .replace.replace .c,
4 | .c.replace + .replace .c,
5 | .rep_ace {
6 | prop: copy-paste-replace;
7 | }
8 | .a .b .c {
9 | prop: not_effected;
10 | }
11 | .a,
12 | .effected {
13 | prop: is_effected;
14 | }
15 | .a .b {
16 | prop: not_effected;
17 | }
18 | .a .b.c {
19 | prop: not_effected;
20 | }
21 | .c .b .a,
22 | .a .b .a,
23 | .c .a .a,
24 | .a .a .a,
25 | .c .b .c,
26 | .a .b .c,
27 | .c .a .c,
28 | .a .a .c {
29 | prop: not_effected;
30 | }
31 | .e.e,
32 | .dbl {
33 | prop: extend-double;
34 | }
35 | .e.e:hover {
36 | hover: not-extended;
37 | }
38 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-exact.less:
--------------------------------------------------------------------------------
1 | .replace.replace,
2 | .c.replace + .replace {
3 | .replace,
4 | .c {
5 | prop: copy-paste-replace;
6 | }
7 | }
8 | .rep_ace:extend(.replace.replace .replace) {}
9 |
10 | .a .b .c {
11 | prop: not_effected;
12 | }
13 |
14 | .a {
15 | prop: is_effected;
16 | .b {
17 | prop: not_effected;
18 | }
19 | .b.c {
20 | prop: not_effected;
21 | }
22 | }
23 |
24 | .c, .a {
25 | .b, .a {
26 | .a, .c {
27 | prop: not_effected;
28 | }
29 | }
30 | }
31 |
32 | .effected {
33 | &:extend(.a);
34 | &:extend(.b);
35 | &:extend(.c);
36 | }
37 |
38 | .e {
39 | && {
40 | prop: extend-double;
41 | &:hover {
42 | hover: not-extended;
43 | }
44 | }
45 | }
46 | .dbl:extend(.e.e) {}
47 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-media.css:
--------------------------------------------------------------------------------
1 | .ext1 .ext2,
2 | .all .ext2 {
3 | background: black;
4 | }
5 | @media tv {
6 | .ext1 .ext3,
7 | .tv-lowres .ext3,
8 | .all .ext3 {
9 | color: white;
10 | }
11 | .tv-lowres {
12 | background: blue;
13 | }
14 | }
15 | @media tv and hires {
16 | .ext1 .ext4,
17 | .tv-hires .ext4,
18 | .all .ext4 {
19 | color: green;
20 | }
21 | .tv-hires {
22 | background: red;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-media.less:
--------------------------------------------------------------------------------
1 | .ext1 .ext2 {
2 | background: black;
3 | }
4 |
5 | @media tv {
6 | .ext1 .ext3 {
7 | color: white;
8 | }
9 | .tv-lowres :extend(.ext1 all) {
10 | background: blue;
11 | }
12 | @media hires {
13 | .ext1 .ext4 {
14 | color: green;
15 | }
16 | .tv-hires :extend(.ext1 all) {
17 | background: red;
18 | }
19 | }
20 | }
21 |
22 | .all:extend(.ext1 all) {
23 |
24 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-nest.less:
--------------------------------------------------------------------------------
1 | .sidebar {
2 | width: 300px;
3 | background: red;
4 |
5 | .box {
6 | background: #FFF;
7 | border: 1px solid #000;
8 | margin: 10px 0;
9 | }
10 | }
11 |
12 | .sidebar2 {
13 | &:extend(.sidebar all);
14 | background: blue;
15 | }
16 |
17 | .type1 {
18 | .sidebar3 {
19 | &:extend(.sidebar all);
20 | background: green;
21 | }
22 | }
23 |
24 | .type2 {
25 | &.sidebar4 {
26 | &:extend(.sidebar all);
27 | background: red;
28 | }
29 | }
30 |
31 | .button {
32 | color: black;
33 | &:hover {
34 | color: white;
35 | }
36 | }
37 | .submit {
38 | &:extend(.button);
39 | &:hover:extend(.button:hover) {}
40 | }
41 |
42 | .nomatch {
43 | &:hover:extend(.button :hover) {}
44 | }
45 |
46 | .button2 {
47 | :hover {
48 | nested: white;
49 | }
50 | }
51 | .button2 :hover {
52 | notnested: black;
53 | }
54 |
55 | .nomatch :extend(.button2:hover) {}
56 |
57 | .amp-test-a,
58 | .amp-test-b {
59 | .amp-test-c &.amp-test-d&.amp-test-e {
60 | .amp-test-f&+&.amp-test-g:extend(.amp-test-h) {}
61 | }
62 | }
63 | .amp-test-h {
64 | test: extended by masses of selectors;
65 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-selector.css:
--------------------------------------------------------------------------------
1 | .error,
2 | .badError {
3 | border: 1px #f00;
4 | background: #fdd;
5 | }
6 | .error.intrusion,
7 | .badError.intrusion {
8 | font-size: 1.3em;
9 | font-weight: bold;
10 | }
11 | .intrusion .error,
12 | .intrusion .badError {
13 | display: none;
14 | }
15 | .badError {
16 | border-width: 3px;
17 | }
18 | .foo .bar,
19 | .foo .baz,
20 | .ext1 .ext2 .bar,
21 | .ext3 .bar,
22 | .ext4 .bar,
23 | .ext1 .ext2 .baz,
24 | .ext3 .baz,
25 | .ext4 .baz {
26 | display: none;
27 | }
28 | div.ext5,
29 | .ext6 > .ext5,
30 | div.ext7,
31 | .ext6 > .ext7 {
32 | width: 100px;
33 | }
34 | .ext,
35 | .a .c,
36 | .b .c {
37 | test: 1;
38 | }
39 | .a,
40 | .b {
41 | test: 2;
42 | }
43 | .a .c,
44 | .b .c {
45 | test: 3;
46 | }
47 | .a .c .d,
48 | .b .c .d {
49 | test: 4;
50 | }
51 | .replace.replace .replace,
52 | .c.replace + .replace .replace,
53 | .replace.replace .c,
54 | .c.replace + .replace .c,
55 | .rep_ace.rep_ace .rep_ace,
56 | .c.rep_ace + .rep_ace .rep_ace,
57 | .rep_ace.rep_ace .c,
58 | .c.rep_ace + .rep_ace .c {
59 | prop: copy-paste-replace;
60 | }
61 | .attributes [data="test"],
62 | .attributes .attributes .attribute-test {
63 | extend: attributes;
64 | }
65 | .attributes [data],
66 | .attributes .attributes .attribute-test2 {
67 | extend: attributes2;
68 | }
69 | .attributes [data="test3"],
70 | .attributes .attributes .attribute-test {
71 | extend: attributes2;
72 | }
73 | .header .header-nav,
74 | .footer .footer-nav {
75 | background: red;
76 | }
77 | .header .header-nav:before,
78 | .footer .footer-nav:before {
79 | background: blue;
80 | }
81 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend-selector.less:
--------------------------------------------------------------------------------
1 | .error {
2 | border: 1px #f00;
3 | background: #fdd;
4 | }
5 | .error.intrusion {
6 | font-size: 1.3em;
7 | font-weight: bold;
8 | }
9 | .intrusion .error {
10 | display: none;
11 | }
12 | .badError:extend(.error all) {
13 | border-width: 3px;
14 | }
15 |
16 | .foo .bar, .foo .baz {
17 | display: none;
18 | }
19 |
20 | .ext1 .ext2
21 | :extend(.foo all) {
22 | }
23 |
24 | .ext3:extend(.foo all),
25 | .ext4:extend(.foo all) {
26 | }
27 |
28 | div.ext5,
29 | .ext6 > .ext5 {
30 | width: 100px;
31 | }
32 |
33 | .should-not-exist-in-output,
34 | .ext7:extend(.ext5 all) {
35 | }
36 |
37 | .ext {
38 | test: 1;
39 | }
40 | // same as
41 | // .a .c:extend(.ext all)
42 | // .b .c:extend(.ext all)
43 | // .a .c .d
44 | // .b .c .d
45 | .a, .b {
46 | test: 2;
47 | .c:extend(.ext all) {
48 | test: 3;
49 | .d {
50 | test: 4;
51 | }
52 | }
53 | }
54 |
55 | .replace.replace,
56 | .c.replace + .replace {
57 | .replace,
58 | .c {
59 | prop: copy-paste-replace;
60 | }
61 | }
62 | .rep_ace:extend(.replace all) {}
63 |
64 | .attributes {
65 | [data="test"] {
66 | extend: attributes;
67 | }
68 | .attribute-test {
69 | &:extend([data="test"] all);
70 | }
71 | [data] {
72 | extend: attributes2;
73 | }
74 | .attribute-test2 {
75 | &:extend([data] all); //you could argue it should match [data="test"]... not for now though...
76 | }
77 | @attr-data: "test3";
78 | [data=@{attr-data}] {
79 | extend: attributes2;
80 | }
81 | .attribute-test {
82 | &:extend([data="test3"] all);
83 | }
84 | }
85 |
86 | .header {
87 | .header-nav {
88 | background: red;
89 | &:before {
90 | background: blue;
91 | }
92 | }
93 | }
94 |
95 | .footer {
96 | .footer-nav {
97 | &:extend( .header .header-nav all );
98 | }
99 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend.css:
--------------------------------------------------------------------------------
1 | .error,
2 | .badError {
3 | border: 1px #f00;
4 | background: #fdd;
5 | }
6 | .error.intrusion,
7 | .badError.intrusion {
8 | font-size: 1.3em;
9 | font-weight: bold;
10 | }
11 | .intrusion .error,
12 | .intrusion .badError {
13 | display: none;
14 | }
15 | .badError {
16 | border-width: 3px;
17 | }
18 | .foo .bar,
19 | .foo .baz,
20 | .ext1 .ext2 .bar,
21 | .ext3 .bar,
22 | .ext4 .bar,
23 | .foo .ext3,
24 | .foo .ext4,
25 | .ext1 .ext2 .baz,
26 | .ext3 .baz,
27 | .ext4 .baz {
28 | display: none;
29 | }
30 | div.ext5,
31 | .ext6 > .ext5,
32 | div.ext7,
33 | .ext6 > .ext7 {
34 | width: 100px;
35 | }
36 | .ext8.ext9,
37 | .fuu {
38 | result: add-foo;
39 | }
40 | .ext8 .ext9,
41 | .ext8 + .ext9,
42 | .ext8 > .ext9,
43 | .buu,
44 | .zap,
45 | .zoo {
46 | result: bar-matched;
47 | }
48 | .ext8.nomatch {
49 | result: none;
50 | }
51 | .ext8 .ext9,
52 | .buu {
53 | result: match-nested-bar;
54 | }
55 | .ext8.ext9,
56 | .fuu {
57 | result: match-nested-foo;
58 | }
59 | .aa,
60 | .cc {
61 | color: black;
62 | }
63 | .aa .dd,
64 | .aa .ee {
65 | background: red;
66 | }
67 | .bb,
68 | .cc,
69 | .ee,
70 | .ff {
71 | background: red;
72 | }
73 | .bb .bb,
74 | .ff .ff {
75 | color: black;
76 | }
77 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/extend.less:
--------------------------------------------------------------------------------
1 | .error {
2 | border: 1px #f00;
3 | background: #fdd;
4 | }
5 | .error.intrusion {
6 | font-size: 1.3em;
7 | font-weight: bold;
8 | }
9 | .intrusion .error {
10 | display: none;
11 | }
12 | .badError {
13 | &:extend(.error all);
14 | border-width: 3px;
15 | }
16 |
17 | .foo .bar, .foo .baz {
18 | display: none;
19 | }
20 |
21 | .ext1 .ext2 {
22 | &:extend(.foo all);
23 | }
24 |
25 | .ext3,
26 | .ext4 {
27 | &:extend(.foo all);
28 | &:extend(.bar all);
29 | }
30 |
31 | div.ext5,
32 | .ext6 > .ext5 {
33 | width: 100px;
34 | }
35 |
36 | .ext7 {
37 | &:extend(.ext5 all);
38 | }
39 |
40 | .ext8.ext9 {
41 | result: add-foo;
42 | }
43 | .ext8 .ext9,
44 | .ext8 + .ext9,
45 | .ext8 > .ext9 {
46 | result: bar-matched;
47 | }
48 | .ext8.nomatch {
49 | result: none;
50 | }
51 | .ext8 {
52 | .ext9 {
53 | result: match-nested-bar;
54 | }
55 | }
56 | .ext8 {
57 | &.ext9 {
58 | result: match-nested-foo;
59 | }
60 | }
61 |
62 | .fuu:extend(.ext8.ext9 all) {}
63 | .buu:extend(.ext8 .ext9 all) {}
64 | .zap:extend(.ext8 + .ext9 all) {}
65 | .zoo:extend(.ext8 > .ext9 all) {}
66 |
67 | .aa {
68 | color: black;
69 | .dd {
70 | background: red;
71 | }
72 | }
73 | .bb {
74 | background: red;
75 | .bb {
76 | color: black;
77 | }
78 | }
79 | .cc:extend(.aa,.bb) {}
80 | .ee:extend(.dd all,.bb) {}
81 | .ff:extend(.dd,.bb all) {}
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/ie-filters.css:
--------------------------------------------------------------------------------
1 | .nav {
2 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
3 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
4 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr="#000000", GradientType=0);
5 | }
6 | .evalTest1 {
7 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
8 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=5);
9 | }
10 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/ie-filters.less:
--------------------------------------------------------------------------------
1 | @fat: 0;
2 | @cloudhead: "#000000";
3 |
4 | .nav {
5 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 20);
6 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@fat);
7 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr=@cloudhead, GradientType=@fat);
8 | }
9 | .evalTest(@arg) {
10 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@arg);
11 | }
12 | .evalTest1 {
13 | .evalTest(30);
14 | .evalTest(5);
15 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-inline.css:
--------------------------------------------------------------------------------
1 | @media (min-width:600px) {
2 | #css { color: yellow; }
3 |
4 | }
5 | @media (pointer: coarse) {
6 | .ql-snow.ql-toolbar button:hover:not(.ql-active),
7 | }
8 | this isn't very valid CSS.
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-inline.less:
--------------------------------------------------------------------------------
1 | @import (inline) url("import/import-test-d.css") (min-width:600px);
2 | @import (inline, css) url("import/invalid-css.less");
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-interpolation.css:
--------------------------------------------------------------------------------
1 | body {
2 | width: 100%;
3 | }
4 | .a {
5 | var: test;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-interpolation.less:
--------------------------------------------------------------------------------
1 | @my_theme: "test";
2 |
3 | @import "import/import-@{my_theme}-e.less";
4 |
5 | @import "import/import-@{in}@{terpolation}.less";
6 |
7 | @in: "in";
8 | @terpolation: "terpolation";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-once.css:
--------------------------------------------------------------------------------
1 | #import {
2 | color: red;
3 | }
4 | body {
5 | width: 100%;
6 | }
7 | .test-f {
8 | height: 10px;
9 | }
10 | body {
11 | width: 100%;
12 | }
13 | .test-f {
14 | height: 10px;
15 | }
16 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import-once.less:
--------------------------------------------------------------------------------
1 | @import "import/import-once-test-c";
2 | @import "import/import-once-test-c";
3 | @import "import/import-once-test-c.less";
4 | @import "import/deeper/import-once-test-a";
5 | @import (multiple) "import/import-test-f.less";
6 | @import (multiple) "import/import-test-f.less";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import.css:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Open+Sans);
2 | @import url(/absolute/something.css) screen and (color) and (max-width: 600px);
3 | @import url("//ha.com/file.css") (min-width:100px);
4 | #import-test {
5 | height: 10px;
6 | color: red;
7 | width: 10px;
8 | height: 30%;
9 | }
10 | @media screen and (max-width: 600px) {
11 | body {
12 | width: 100%;
13 | }
14 | }
15 | #import {
16 | color: red;
17 | }
18 | .mixin {
19 | height: 10px;
20 | color: red;
21 | }
22 | @media screen and (max-width: 601px) {
23 | #css {
24 | color: yellow;
25 | }
26 | }
27 | @media screen and (max-width: 602px) {
28 | body {
29 | width: 100%;
30 | }
31 | }
32 | @media screen and (max-width: 603px) {
33 | #css {
34 | color: yellow;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import.less:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Open+Sans);
2 |
3 | @import url(/absolute/something.css) screen and (color) and (max-width: 600px);
4 |
5 | @var: 100px;
6 | @import url("//ha.com/file.css") (min-width:@var);
7 |
8 | #import-test {
9 | .mixin;
10 | width: 10px;
11 | height: (@a + 10%);
12 | }
13 | @import "import/import-test-e" screen and (max-width: 600px);
14 |
15 | @import url("import/import-test-a.less");
16 |
17 | @import (less, multiple) "import/import-test-d.css" screen and (max-width: 601px);
18 |
19 | @import (multiple) "import/import-test-e" screen and (max-width: 602px);
20 |
21 | @import (less, multiple) url("import/import-test-d.css") screen and (max-width: 603px);
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/deeper/import-once-test-a.less:
--------------------------------------------------------------------------------
1 | @import "../import-once-test-c";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-and-relative-paths-test.less:
--------------------------------------------------------------------------------
1 | @import "../css/background.css";
2 | @import "import-test-d.css";
3 |
4 | @import "imports/logo";
5 | @import "imports/font";
6 |
7 | .unquoted-relative-path-bg() {
8 | background-image: url(../../data/image.jpg);
9 | }
10 | .quoted-relative-path-border-image() {
11 | border-image: url('../../data/image.jpg');
12 | }
13 |
14 | #imported-relative-path {
15 | .unquoted-relative-path-bg;
16 | .quoted-relative-path-border-image;
17 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-charset-test.less:
--------------------------------------------------------------------------------
1 | @charset "ISO-8859-1";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-interpolation.less:
--------------------------------------------------------------------------------
1 | @import "import-@{in}@{terpolation}2.less";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-interpolation2.less:
--------------------------------------------------------------------------------
1 | .a {
2 | var: test;
3 | }
4 |
5 | @in: "redefined-does-nothing";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-once-test-c.less:
--------------------------------------------------------------------------------
1 |
2 | @c: red;
3 |
4 | #import {
5 | color: @c;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-reference.less:
--------------------------------------------------------------------------------
1 | .z {
2 | color: red;
3 | .c {
4 | color: green;
5 | }
6 | }
7 | .only-with-visible,
8 | .z {
9 | color: green;
10 | &:hover {
11 | color: green;
12 | }
13 | & {
14 | color: green;
15 | }
16 | & + & {
17 | color: green;
18 | .sub {
19 | color: green;
20 | }
21 | }
22 | }
23 |
24 | & {
25 | .hidden {
26 | hidden: true;
27 | }
28 | }
29 |
30 | @media tv {
31 | .hidden {
32 | hidden: true;
33 | }
34 | }
35 |
36 | /* comment is not output */
37 |
38 | .zz {
39 | .y {
40 | pulled-in: yes;
41 | }
42 | /* comment pulled in */
43 | }
44 | @max-size: 450px;
45 | .mixin-with-mediaq(@num) {
46 | color: green;
47 | test: @num;
48 | @media (max-size: @max-size) {
49 | color: red;
50 | }
51 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-a.less:
--------------------------------------------------------------------------------
1 | @import "import-test-b.less";
2 | @a: 20%;
3 | @import "urls.less";
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-b.less:
--------------------------------------------------------------------------------
1 | @import "import-test-c";
2 |
3 | @b: 100%;
4 |
5 | .mixin {
6 | height: 10px;
7 | color: @c;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-c.less:
--------------------------------------------------------------------------------
1 |
2 | @c: red;
3 |
4 | #import {
5 | color: @c;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-d.css:
--------------------------------------------------------------------------------
1 | #css { color: yellow; }
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-e.less:
--------------------------------------------------------------------------------
1 |
2 | body { width: 100% }
3 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/import-test-f.less:
--------------------------------------------------------------------------------
1 | @import "import-test-e";
2 |
3 | .test-f {
4 | height: 10px;
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/imports/font.less:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: xecret;
3 | src: url('../assets/xecret.ttf');
4 | }
5 |
6 | #secret {
7 | font-family: xecret, sans-serif;
8 | }
9 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/imports/logo.less:
--------------------------------------------------------------------------------
1 | #logo {
2 | width: 100px;
3 | height: 100px;
4 | background: url('../assets/logo.png');
5 | }
6 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/invalid-css.less:
--------------------------------------------------------------------------------
1 | @media (pointer: coarse) {
2 | .ql-snow.ql-toolbar button:hover:not(.ql-active),
3 | }
4 | this isn't very valid CSS.
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/import/urls.less:
--------------------------------------------------------------------------------
1 | // empty file showing that it loads from the relative path first
2 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/javascript.css:
--------------------------------------------------------------------------------
1 | .eval {
2 | js: 42;
3 | js: 2;
4 | js: "hello world";
5 | js: 1, 2, 3;
6 | title: "string";
7 | ternary: true;
8 | multiline: 2;
9 | }
10 | .scope {
11 | var: 42;
12 | escaped: 7px;
13 | }
14 | .vars {
15 | width: 8;
16 | }
17 | .escape-interpol {
18 | width: hello world;
19 | }
20 | .arrays {
21 | ary: "1, 2, 3";
22 | ary1: "1, 2, 3";
23 | }
24 | .test-tran {
25 | 1: opacity 0.3s ease-in 0.3s, max-height 0.6s linear, margin-bottom 0.4s linear;
26 | 2: [opacity 0.3s ease-in 0.3s, max-height 0.6s linear, margin-bottom 0.4s linear];
27 | 3: opacity 0.3s ease-in 0.3s, max-height 0.6s linear, margin-bottom 0.4s linear;
28 | }
29 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/javascript.less:
--------------------------------------------------------------------------------
1 | .eval {
2 | js: `42`;
3 | js: `1 + 1`;
4 | js: `"hello world"`;
5 | js: `[1, 2, 3]`;
6 | title: `typeof "process.title"`;
7 | ternary: `(1 + 1 == 2 ? true : false)`;
8 | multiline: `(function(){var x = 1 + 1;
9 | return x})()`;
10 | }
11 | .scope {
12 | @foo: 42;
13 | var: `parseInt(this.foo.toJS())`;
14 | escaped: ~`2 + 5 + 'px'`;
15 | }
16 | .vars {
17 | @var: `4 + 4`;
18 | width: @var;
19 | }
20 | .escape-interpol {
21 | @world: "world";
22 | width: ~`"hello" + " " + @{world}`;
23 | }
24 | .arrays {
25 | @ary: 1, 2, 3;
26 | @ary2: 1 2 3;
27 | ary: `@{ary}.join(', ')`;
28 | ary1: `@{ary2}.join(', ')`;
29 | }
30 | .transitions(...) {
31 | @arg: ~`"@{arguments}".replace(/[\[\]]*/g, '')`;
32 | 1: @arg; // rounded to integers
33 | 2: ~`"@{arguments}"`; // rounded to integers
34 | 3: @arguments; // OK
35 | }
36 | .test-tran {
37 | .transitions(opacity 0.3s ease-in 0.3s, max-height 0.6s linear, margin-bottom 0.4s linear;);
38 | }
39 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/lazy-eval.css:
--------------------------------------------------------------------------------
1 | .lazy-eval {
2 | width: 100%;
3 | }
4 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/lazy-eval.less:
--------------------------------------------------------------------------------
1 | @var: @a;
2 | @a: 100%;
3 |
4 | .lazy-eval {
5 | width: @var;
6 | }
7 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/legacy/legacy.css:
--------------------------------------------------------------------------------
1 | @media (-o-min-device-pixel-ratio: 2/1) {
2 | .test-math-and-units {
3 | font: ignores 0/0 rules;
4 | test-division: 7em;
5 | simple: 2px;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/legacy/legacy.less:
--------------------------------------------------------------------------------
1 | @media (-o-min-device-pixel-ratio: 2/1) {
2 | .test-math-and-units {
3 | font: ignores 0/0 rules;
4 | test-division: 4 / 2 + 5em;
5 | simple: 1px + 1px;
6 | }
7 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-important.css:
--------------------------------------------------------------------------------
1 | .class {
2 | border: 1;
3 | boxer: 1;
4 | border-width: 1;
5 | border: 2 !important;
6 | boxer: 2 !important;
7 | border-width: 2 !important;
8 | border: 3;
9 | boxer: 3;
10 | border-width: 3;
11 | border: 4 !important;
12 | boxer: 4 !important;
13 | border-width: 4 !important;
14 | border: 5;
15 | boxer: 5;
16 | border-width: 5;
17 | border: 0 !important;
18 | boxer: 0 !important;
19 | border-width: 0 !important;
20 | border: 9 !important;
21 | border: 9;
22 | boxer: 9;
23 | border-width: 9;
24 | }
25 | .class .inner {
26 | test: 1;
27 | test: 2 !important;
28 | test: 3;
29 | test: 4 !important;
30 | test: 5;
31 | test: 0 !important;
32 | test: 9;
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-important.less:
--------------------------------------------------------------------------------
1 | .submixin(@a) {
2 | border-width: @a;
3 | }
4 | .mixin (9) {
5 | border: 9 !important;
6 | }
7 | .mixin (@a: 0) {
8 | border: @a;
9 | boxer: @a;
10 | .inner {
11 | test: @a;
12 | }
13 | // comment
14 | .submixin(@a);
15 | }
16 |
17 | .class {
18 | .mixin(1);
19 | .mixin(2) !important;
20 | .mixin(3);
21 | .mixin(4) !important;
22 | .mixin(5);
23 | .mixin !important;
24 | .mixin(9);
25 | }
26 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-named-args.css:
--------------------------------------------------------------------------------
1 | .named-arg {
2 | color: blue;
3 | width: 5px;
4 | height: 99%;
5 | args: 1px 100%;
6 | text-align: center;
7 | }
8 | .class {
9 | width: 5px;
10 | height: 19%;
11 | args: 1px 20%;
12 | }
13 | .all-args-wrong-args {
14 | width: 10px;
15 | height: 9%;
16 | args: 2px 10%;
17 | }
18 | .named-args2 {
19 | width: 15px;
20 | height: 49%;
21 | color: #646464;
22 | }
23 | .named-args3 {
24 | width: 5px;
25 | height: 29%;
26 | color: #123456;
27 | }
28 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-named-args.less:
--------------------------------------------------------------------------------
1 | .mixin (@a: 1px, @b: 50%) {
2 | width: (@a * 5);
3 | height: (@b - 1%);
4 | args: @arguments;
5 | }
6 | .mixin (@a: 1px, @b: 50%) when (@b > 75%){
7 | text-align: center;
8 | }
9 |
10 | .named-arg {
11 | color: blue;
12 | .mixin(@b: 100%);
13 | }
14 |
15 | .class {
16 | @var: 20%;
17 | .mixin(@b: @var);
18 | }
19 |
20 | .all-args-wrong-args {
21 | .mixin(@b: 10%, @a: 2px);
22 | }
23 |
24 | .mixin2 (@a: 1px, @b: 50%, @c: 50) {
25 | width: (@a * 5);
26 | height: (@b - 1%);
27 | color: (#000000 + @c);
28 | }
29 |
30 | .named-args2 {
31 | .mixin2(3px, @c: 100);
32 | }
33 |
34 | .named-args3 {
35 | .mixin2(@b: 30%, @c: #123456);
36 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-nested.css:
--------------------------------------------------------------------------------
1 | .class .inner {
2 | height: 300;
3 | }
4 | .class .inner .innest {
5 | width: 30;
6 | border-width: 60;
7 | }
8 | .class2 .inner {
9 | height: 600;
10 | }
11 | .class2 .inner .innest {
12 | width: 60;
13 | border-width: 120;
14 | }
15 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-nested.less:
--------------------------------------------------------------------------------
1 | .mix-inner (@var) {
2 | border-width: @var;
3 | }
4 |
5 | .mix (@a: 10) {
6 | .inner {
7 | height: (@a * 10);
8 |
9 | .innest {
10 | width: @a;
11 | .mix-inner((@a * 2));
12 | }
13 | }
14 | }
15 |
16 | .class {
17 | .mix(30);
18 | }
19 |
20 | .class2 {
21 | .mix(60);
22 | }
23 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-pattern.css:
--------------------------------------------------------------------------------
1 | .zero {
2 | variadic: true;
3 | named-variadic: true;
4 | zero: 0;
5 | one: 1;
6 | two: 2;
7 | three: 3;
8 | }
9 | .one {
10 | variadic: true;
11 | named-variadic: true;
12 | one: 1;
13 | one-req: 1;
14 | two: 2;
15 | three: 3;
16 | }
17 | .two {
18 | variadic: true;
19 | named-variadic: true;
20 | two: 2;
21 | three: 3;
22 | }
23 | .three {
24 | variadic: true;
25 | named-variadic: true;
26 | three-req: 3;
27 | three: 3;
28 | }
29 | .left {
30 | left: 1;
31 | }
32 | .right {
33 | right: 1;
34 | }
35 | .border-right {
36 | color: black;
37 | border-right: 4px;
38 | }
39 | .border-left {
40 | color: black;
41 | border-left: 4px;
42 | }
43 | .only-right {
44 | right: 33;
45 | }
46 | .only-left {
47 | left: 33;
48 | }
49 | .left-right {
50 | both: 330;
51 | }
52 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/mixins-pattern.less:
--------------------------------------------------------------------------------
1 | .mixin (...) {
2 | variadic: true;
3 | }
4 | .mixin (@a...) {
5 | named-variadic: true;
6 | }
7 | .mixin () {
8 | zero: 0;
9 | }
10 | .mixin (@a: 1px) {
11 | one: 1;
12 | }
13 | .mixin (@a) {
14 | one-req: 1;
15 | }
16 | .mixin (@a: 1px, @b: 2px) {
17 | two: 2;
18 | }
19 |
20 | .mixin (@a, @b, @c) {
21 | three-req: 3;
22 | }
23 |
24 | .mixin (@a: 1px, @b: 2px, @c: 3px) {
25 | three: 3;
26 | }
27 |
28 | .zero {
29 | .mixin();
30 | }
31 |
32 | .one {
33 | .mixin(1);
34 | }
35 |
36 | .two {
37 | .mixin(1, 2);
38 | }
39 |
40 | .three {
41 | .mixin(1, 2, 3);
42 | }
43 |
44 | //
45 |
46 | .mixout ('left') {
47 | left: 1;
48 | }
49 |
50 | .mixout ('right') {
51 | right: 1;
52 | }
53 |
54 | .left {
55 | .mixout('left');
56 | }
57 | .right {
58 | .mixout('right');
59 | }
60 |
61 | //
62 |
63 | .border (@side, @width) {
64 | color: black;
65 | .border-side(@side, @width);
66 | }
67 | .border-side (left, @w) {
68 | border-left: @w;
69 | }
70 | .border-side (right, @w) {
71 | border-right: @w;
72 | }
73 |
74 | .border-right {
75 | .border(right, 4px);
76 | }
77 | .border-left {
78 | .border(left, 4px);
79 | }
80 |
81 | //
82 |
83 |
84 | .border-radius (@r) {
85 | both: (@r * 10);
86 | }
87 | .border-radius (@r, left) {
88 | left: @r;
89 | }
90 | .border-radius (@r, right) {
91 | right: @r;
92 | }
93 |
94 | .only-right {
95 | .border-radius(33, right);
96 | }
97 | .only-left {
98 | .border-radius(33, left);
99 | }
100 | .left-right {
101 | .border-radius(33);
102 | }
103 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/no-output.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/i-net-software/jlessc/78cbb93bec45d7992b34565f8ff6a5265b7fc49e/test/com/inet/lib/less/samples/less_org_tests/less/no-output.css
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/no-output.less:
--------------------------------------------------------------------------------
1 | .mixin() {
2 | }
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/operations.css:
--------------------------------------------------------------------------------
1 | #operations {
2 | color: #111111;
3 | height: 9px;
4 | width: 3em;
5 | substraction: 0;
6 | division: 1;
7 | }
8 | #operations .spacing {
9 | height: 9px;
10 | width: 3em;
11 | }
12 | .with-variables {
13 | height: 16em;
14 | width: 24em;
15 | size: 1cm;
16 | }
17 | .with-functions {
18 | color: #646464;
19 | color: #ff8080;
20 | color: #c94a4a;
21 | }
22 | .negative {
23 | height: 0px;
24 | width: 4px;
25 | }
26 | .shorthands {
27 | padding: -1px 2px 0 -4px;
28 | }
29 | .rem-dimensions {
30 | font-size: 5.5rem;
31 | }
32 | .colors {
33 | color: #123;
34 | border-color: #334455;
35 | background-color: #000000;
36 | }
37 | .colors .other {
38 | color: #222222;
39 | border-color: #222222;
40 | }
41 | .negations {
42 | variable: -4px;
43 | variable1: 0px;
44 | variable2: 0px;
45 | variable3: 8px;
46 | variable4: 0px;
47 | paren: -4px;
48 | paren2: 16px;
49 | }
50 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/operations.less:
--------------------------------------------------------------------------------
1 | #operations {
2 | color: (#110000 + #000011 + #001100); // #111111
3 | height: (10px / 2px + 6px - 1px * 2); // 9px
4 | width: (2 * 4 - 5em); // 3em
5 | .spacing {
6 | height: (10px / 2px+6px-1px*2);
7 | width: (2 * 4-5em);
8 | }
9 | substraction: (20 - 10 - 5 - 5); // 0
10 | division: (20 / 5 / 4); // 1
11 | }
12 |
13 | @x: 4;
14 | @y: 12em;
15 |
16 | .with-variables {
17 | height: (@x + @y); // 16em
18 | width: (12 + @y); // 24em
19 | size: (5cm - @x); // 1cm
20 | }
21 |
22 | .with-functions {
23 | color: (rgb(200, 200, 200) / 2);
24 | color: (2 * hsl(0, 50%, 50%));
25 | color: (rgb(10, 10, 10) + hsl(0, 50%, 50%));
26 | }
27 |
28 | @z: -2;
29 |
30 | .negative {
31 | height: (2px + @z); // 0px
32 | width: (2px - @z); // 4px
33 | }
34 |
35 | .shorthands {
36 | padding: -1px 2px 0 -4px; //
37 | }
38 |
39 | .rem-dimensions {
40 | font-size: (20rem / 5 + 1.5rem); // 5.5rem
41 | }
42 |
43 | .colors {
44 | color: #123; // #112233
45 | border-color: (#234 + #111111); // #334455
46 | background-color: (#222222 - #fff); // #000000
47 | .other {
48 | color: (2 * #111); // #222222
49 | border-color: (#333333 / 3 + #111); // #222222
50 | }
51 | }
52 |
53 | .negations {
54 | @var: 4px;
55 | variable: (-@var); // 4
56 | variable1: (-@var + @var); // 0
57 | variable2: (@var + -@var); // 0
58 | variable3: (@var - -@var); // 8
59 | variable4: (-@var - -@var); // 0
60 | paren: (-(@var)); // -4px
61 | paren2: (-(2 + 2) * -@var); // 16
62 | }
63 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/parens.css:
--------------------------------------------------------------------------------
1 | .parens {
2 | border: 2px solid black;
3 | margin: 1px 3px 16 3;
4 | width: 36;
5 | padding: 2px 36px;
6 | }
7 | .more-parens {
8 | padding: 8 4 4 4px;
9 | width-all: 96;
10 | width-first: 96;
11 | width-keep: 96;
12 | height-keep: 113;
13 | height-all: 113;
14 | height-parts: 113;
15 | margin-keep: 12;
16 | margin-parts: 12;
17 | margin-all: 12;
18 | border-radius-keep: 5px;
19 | border-radius-parts: 1.14285714px;
20 | border-radius-all: 5px;
21 | }
22 | .negative {
23 | neg-var: -1;
24 | neg-var-paren: -1;
25 | }
26 | .nested-parens {
27 | width: 71;
28 | height: 6;
29 | }
30 | .mixed-units {
31 | margin: 2px 4em 1 5pc;
32 | padding: 6px 1em 2px 2;
33 | }
34 | .test-false-negatives {
35 | a: (;
36 | }
37 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/parens.less:
--------------------------------------------------------------------------------
1 | .parens {
2 | @var: 1px;
3 | border: (@var * 2) solid black;
4 | margin: (@var * 1) (@var + 2) (4 * 4) 3;
5 | width: (6 * 6);
6 | padding: 2px (6 * 6px);
7 | }
8 |
9 | .more-parens {
10 | @var: (2 * 2);
11 | padding: (2 * @var) 4 4 (@var * 1px);
12 | width-all: ((@var * @var) * 6);
13 | width-first: ((@var * @var)) * 6;
14 | width-keep: (@var * @var) * 6;
15 | height-keep: (7 * 7) + (8 * 8);
16 | height-all: ((7 * 7) + (8 * 8));
17 | height-parts: ((7 * 7)) + ((8 * 8));
18 | margin-keep: (4 * (5 + 5) / 2) - (@var * 2);
19 | margin-parts: ((4 * (5 + 5) / 2)) - ((@var * 2));
20 | margin-all: ((4 * (5 + 5) / 2) + (-(@var * 2)));
21 | border-radius-keep: 4px * (1 + 1) / @var + 3px;
22 | border-radius-parts: ((4px * (1 + 1))) / ((@var + 3px));
23 | border-radius-all: (4px * (1 + 1) / @var + 3px);
24 | //margin: (6 * 6)px;
25 | }
26 |
27 | .negative {
28 | @var: 1;
29 | neg-var: -@var; // -1 ?
30 | neg-var-paren: -(@var); // -(1) ?
31 | }
32 |
33 | .nested-parens {
34 | width: 2 * (4 * (2 + (1 + 6))) - 1;
35 | height: ((2 + 3) * (2 + 3) / (9 - 4)) + 1;
36 | }
37 |
38 | .mixed-units {
39 | margin: 2px 4em 1 5pc;
40 | padding: (2px + 4px) 1em 2px 2;
41 | }
42 |
43 | .test-false-negatives {
44 | a: ~"(";
45 | }
46 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/rulesets.css:
--------------------------------------------------------------------------------
1 | #first > .one {
2 | font-size: 2em;
3 | }
4 | #first > .one > #second .two > #deux {
5 | width: 50%;
6 | }
7 | #first > .one > #second .two > #deux #third {
8 | height: 100%;
9 | }
10 | #first > .one > #second .two > #deux #third:focus {
11 | color: black;
12 | }
13 | #first > .one > #second .two > #deux #third:focus #fifth > #sixth .seventh #eighth + #ninth {
14 | color: purple;
15 | }
16 | #first > .one > #second .two > #deux #fourth,
17 | #first > .one > #second .two > #deux #five,
18 | #first > .one > #second .two > #deux #six {
19 | color: #110000;
20 | }
21 | #first > .one > #second .two > #deux #fourth .seven,
22 | #first > .one > #second .two > #deux #five .seven,
23 | #first > .one > #second .two > #deux #six .seven,
24 | #first > .one > #second .two > #deux #fourth .eight > #nine,
25 | #first > .one > #second .two > #deux #five .eight > #nine,
26 | #first > .one > #second .two > #deux #six .eight > #nine {
27 | border: 1px solid black;
28 | }
29 | #first > .one > #second .two > #deux #fourth #ten,
30 | #first > .one > #second .two > #deux #five #ten,
31 | #first > .one > #second .two > #deux #six #ten {
32 | color: red;
33 | }
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/rulesets.less:
--------------------------------------------------------------------------------
1 | #first > .one {
2 | > #second .two > #deux {
3 | width: 50%;
4 | #third {
5 | &:focus {
6 | color: black;
7 | #fifth {
8 | > #sixth {
9 | .seventh #eighth {
10 | + #ninth {
11 | color: purple;
12 | }
13 | }
14 | }
15 | }
16 | }
17 | height: 100%;
18 | }
19 | #fourth, #five, #six {
20 | color: #110000;
21 | .seven, .eight > #nine {
22 | border: 1px solid black;
23 | }
24 | #ten {
25 | color: red;
26 | }
27 | }
28 | }
29 | font-size: 2em;
30 | }
31 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/static-urls/urls.css:
--------------------------------------------------------------------------------
1 | @import "../css/background.css";
2 | @import "import-test-d.css";
3 | @font-face {
4 | src: url("/fonts/garamond-pro.ttf");
5 | src: local(Futura-Medium), url(fonts.svg#MyGeometricModern) format("svg");
6 | }
7 | #shorthands {
8 | background: url("http://www.lesscss.org/spec.html") no-repeat 0 4px;
9 | }
10 | #misc {
11 | background-image: url(images/image.jpg);
12 | }
13 | #data-uri {
14 | background: url(data:image/png;charset=utf-8;base64,
15 | kiVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
16 | k//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
17 | kg9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC);
18 | background-image: url(data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==);
19 | background-image: url(http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700);
20 | }
21 | #svg-data-uri {
22 | background: transparent url('data:image/svg+xml, ');
23 | }
24 | .comma-delimited {
25 | background: url(bg.jpg) no-repeat, url(bg.png) repeat-x top left, url(bg);
26 | }
27 | .values {
28 | url: url('Trebuchet');
29 | }
30 | #logo {
31 | width: 100px;
32 | height: 100px;
33 | background: url('../assets/logo.png');
34 | }
35 | @font-face {
36 | font-family: xecret;
37 | src: url('../assets/xecret.ttf');
38 | }
39 | #secret {
40 | font-family: xecret, sans-serif;
41 | }
42 | #imported-relative-path {
43 | background-image: url(../../data/image.jpg);
44 | border-image: url('../../data/image.jpg');
45 | }
46 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/static-urls/urls.less:
--------------------------------------------------------------------------------
1 | @font-face {
2 | src: url("/fonts/garamond-pro.ttf");
3 | src: local(Futura-Medium),
4 | url(fonts.svg#MyGeometricModern) format("svg");
5 | }
6 | #shorthands {
7 | background: url("http://www.lesscss.org/spec.html") no-repeat 0 4px;
8 | }
9 | #misc {
10 | background-image: url(images/image.jpg);
11 | }
12 | #data-uri {
13 | background: url(data:image/png;charset=utf-8;base64,
14 | kiVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
15 | k//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
16 | kg9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC);
17 | background-image: url(data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==);
18 | background-image: url(http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700);
19 | }
20 |
21 | #svg-data-uri {
22 | background: transparent url('data:image/svg+xml, ');
23 | }
24 |
25 | .comma-delimited {
26 | background: url(bg.jpg) no-repeat, url(bg.png) repeat-x top left, url(bg);
27 | }
28 | .values {
29 | @a: 'Trebuchet';
30 | url: url(@a);
31 | }
32 |
33 | @import "../import/import-and-relative-paths-test";
34 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/strings.css:
--------------------------------------------------------------------------------
1 | #strings {
2 | doubleEscape: "\\";
3 | doubleEscapeVar: "\\";
4 | background-image: url("http://son-of-a-banana.com");
5 | quotes: "~" "~";
6 | content: "#*%:&^,)!.(~*})";
7 | empty: "";
8 | brackets: "{" "}";
9 | escapes: "\"hello\" \\world";
10 | escapes2: "\"llo";
11 | }
12 | #comments {
13 | content: "/* hello */ // not-so-secret";
14 | }
15 | #single-quote {
16 | quotes: "'" "'";
17 | content: '""#!&""';
18 | empty: '';
19 | semi-colon: ';';
20 | }
21 | #escaped {
22 | filter: DX.Transform.MS.BS.filter(opacity=50);
23 | }
24 | #one-line {
25 | image: url(http://tooks.com);
26 | }
27 | #crazy {
28 | image: url(http://), "}", url("http://}");
29 | }
30 | #interpolation {
31 | url: "http://lesscss.org/dev/image.jpg";
32 | url2: "http://lesscss.org/image-256.jpg";
33 | url3: "http://lesscss.org#445566";
34 | url4: "http://lesscss.org/hello";
35 | url5: "http://lesscss.org/54.4px";
36 | }
37 | .mix-mul-class {
38 | color: #0000ff;
39 | color: #ff0000;
40 | color: #000000;
41 | color: #ffa500;
42 | }
43 | .watermark {
44 | family: Univers, Arial, Verdana, San-Serif;
45 | }
46 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/strings.less:
--------------------------------------------------------------------------------
1 | @doubleEscape: "\\";
2 | #strings {
3 | doubleEscape: "\\";
4 | doubleEscapeVar: @doubleEscape;
5 | background-image: url("http://son-of-a-banana.com");
6 | quotes: "~" "~";
7 | content: "#*%:&^,)!.(~*})";
8 | empty: "";
9 | brackets: "{" "}";
10 | escapes: "\"hello\" \\world";
11 | escapes2: "\"llo";
12 | }
13 | #comments {
14 | content: "/* hello */ // not-so-secret";
15 | }
16 | #single-quote {
17 | quotes: "'" "'";
18 | content: '""#!&""';
19 | empty: '';
20 | semi-colon: ';';
21 | }
22 | #escaped {
23 | filter: ~"DX.Transform.MS.BS.filter(opacity=50)";
24 | }
25 | #one-line { image: url(http://tooks.com) }
26 | #crazy { image: url(http://), "}", url("http://}") }
27 | #interpolation {
28 | @var: '/dev';
29 | url: "http://lesscss.org@{var}/image.jpg";
30 |
31 | @var2: 256;
32 | url2: "http://lesscss.org/image-@{var2}.jpg";
33 |
34 | @var3: #456;
35 | url3: "http://lesscss.org@{var3}";
36 |
37 | @var4: hello;
38 | url4: "http://lesscss.org/@{var4}";
39 |
40 | @var5: 54.4px;
41 | url5: "http://lesscss.org/@{var5}";
42 | }
43 |
44 | // multiple calls with string interpolation
45 |
46 | .mix-mul (@a: green) {
47 | color: ~"@{a}";
48 | }
49 | .mix-mul-class {
50 | .mix-mul(blue);
51 | .mix-mul(red);
52 | .mix-mul(black);
53 | .mix-mul(orange);
54 | }
55 |
56 | @test: Arial, Verdana, San-Serif;
57 | .watermark {
58 | @family: ~"Univers, @{test}";
59 | family: @family;
60 | }
61 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/url-args/urls.less:
--------------------------------------------------------------------------------
1 | @font-face {
2 | src: url("/fonts/garamond-pro.ttf");
3 | src: local(Futura-Medium),
4 | url(fonts.svg#MyGeometricModern) format("svg");
5 | }
6 | #shorthands {
7 | background: url("http://www.lesscss.org/spec.html") no-repeat 0 4px;
8 | background: url("img.jpg") center / 100px;
9 | background: #fff url(image.png) center / 1px 100px repeat-x scroll content-box padding-box;
10 | }
11 | #misc {
12 | background-image: url(images/image.jpg);
13 | }
14 | #data-uri {
15 | background: url(data:image/png;charset=utf-8;base64,
16 | kiVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
17 | k//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
18 | kg9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC);
19 | background-image: url(data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==);
20 | background-image: url(http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700);
21 | background-image: url("http://fonts.googleapis.com/css?family=\"Rokkitt\":\(400\),700");
22 | }
23 |
24 | #svg-data-uri {
25 | background: transparent url('data:image/svg+xml, ');
26 | }
27 |
28 | .comma-delimited {
29 | background: url(bg.jpg) no-repeat, url(bg.png) repeat-x top left, url(bg);
30 | }
31 | .values {
32 | @a: 'Trebuchet';
33 | url: url(@a);
34 | }
35 |
36 | @import "../import/imports/font";
37 |
38 | #data-uri {
39 | uri: data-uri('image/jpeg;base64', '../../data/image.jpg');
40 | }
41 |
42 | #data-uri-guess {
43 | uri: data-uri('../../data/image.jpg');
44 | }
45 |
46 | #data-uri-ascii {
47 | uri-1: data-uri('text/html', '../../data/page.html');
48 | uri-2: data-uri('../../data/page.html');
49 | }
50 |
51 | #svg-functions {
52 | background-image: svg-gradient(to bottom, black, white);
53 | background-image: svg-gradient(to bottom, black, orange 3%, white);
54 | @green_5: green 5%;
55 | @orange_percentage: 3%;
56 | @orange_color: orange;
57 | background-image: svg-gradient(to bottom, (mix(black, white) + #444) 1%, @orange_color @orange_percentage, ((@green_5)), white 95%);
58 | }
59 |
60 | #data-uri-with-spaces {
61 | background-image: url( data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==);
62 | background-image: url( ' data:image/x-png,f9difSSFIIGFIFJD1f982FSDKAA9==');
63 | }
64 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/variables-in-at-rules.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @namespace less "http://lesscss.org";
3 | @keyframes enlarger {
4 | from {
5 | font-size: 12px;
6 | }
7 | to {
8 | font-size: 15px;
9 | }
10 | }
11 | @-webkit-keyframes reducer {
12 | from {
13 | font-size: 13px;
14 | }
15 | to {
16 | font-size: 10px;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/variables-in-at-rules.less:
--------------------------------------------------------------------------------
1 |
2 | @Eight: 8;
3 | @charset "UTF-@{Eight}";
4 |
5 | @ns: less;
6 | @namespace @ns "http://lesscss.org";
7 |
8 | @name: enlarger;
9 | @keyframes @name {
10 | from {font-size: 12px;}
11 | to {font-size: 15px;}
12 | }
13 |
14 | .m(reducer);
15 | .m(@name) {
16 | @-webkit-keyframes @name {
17 | from {font-size: 13px;}
18 | to {font-size: 10px;}
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/variables.css:
--------------------------------------------------------------------------------
1 | .variables {
2 | width: 14cm;
3 | height: 24px;
4 | color: #888;
5 | font-family: "Trebuchet MS", Verdana, sans-serif;
6 | quotes: "~" "~";
7 | }
8 | .redef {
9 | zero: 0;
10 | }
11 | .redef .inition {
12 | three: 3;
13 | }
14 | .values {
15 | minus-one: -1;
16 | font-family: 'Trebuchet', 'Trebuchet', 'Trebuchet';
17 | color: #888 !important;
18 | multi: something 'A', B, C, 'Trebuchet';
19 | }
20 | .variable-names {
21 | name: 'hello';
22 | }
23 | .alpha {
24 | filter: alpha(opacity=42);
25 | }
26 | .testPollution {
27 | a: 'no-pollution';
28 | a: 'no-pollution';
29 | }
30 | .units {
31 | width: 1px;
32 | same-unit-as-previously: 1px;
33 | square-pixel-divided: 1px;
34 | odd-unit: 2;
35 | percentage: 500%;
36 | pixels: 500px;
37 | conversion-metric-a: 30mm;
38 | conversion-metric-b: 3cm;
39 | conversion-imperial: 3in;
40 | custom-unit: 420octocats;
41 | custom-unit-cancelling: 18dogs;
42 | mix-units: 2px;
43 | invalid-units: 1px;
44 | }
45 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/variables.less:
--------------------------------------------------------------------------------
1 | @a: 2;
2 | @x: (@a * @a);
3 | @y: (@x + 1);
4 | @z: (@x * 2 + @y);
5 | @var: -1;
6 |
7 | .variables {
8 | width: (@z + 1cm); // 14cm
9 | }
10 |
11 | @b: @a * 10;
12 | @c: #888;
13 |
14 | @fonts: "Trebuchet MS", Verdana, sans-serif;
15 | @f: @fonts;
16 |
17 | @quotes: "~" "~";
18 | @q: @quotes;
19 | @onePixel: 1px;
20 |
21 | .variables {
22 | height: (@b + @x + 0px); // 24px
23 | color: @c;
24 | font-family: @f;
25 | quotes: @q;
26 | }
27 |
28 | .redef {
29 | @var: 0;
30 | .inition {
31 | @var: 4;
32 | @var: 2;
33 | three: @var;
34 | @var: 3;
35 | }
36 | zero: @var;
37 | }
38 |
39 | .values {
40 | minus-one: @var;
41 | @a: 'Trebuchet';
42 | @multi: 'A', B, C;
43 | font-family: @a, @a, @a;
44 | color: @c !important;
45 | multi: something @multi, @a;
46 | }
47 |
48 | .variable-names {
49 | @var: 'hello';
50 | @name: 'var';
51 | name: @@name;
52 | }
53 |
54 | .alpha {
55 | @var: 42;
56 | filter: alpha(opacity=@var);
57 | }
58 |
59 | .polluteMixin() {
60 | @a: 'pollution';
61 | }
62 | .testPollution {
63 | @a: 'no-pollution';
64 | a: @a;
65 | .polluteMixin();
66 | a: @a;
67 | }
68 |
69 | .units {
70 | width: @onePixel;
71 | same-unit-as-previously: (@onePixel / @onePixel);
72 | square-pixel-divided: (@onePixel * @onePixel / @onePixel);
73 | odd-unit: unit((@onePixel * 4em / 2cm));
74 | percentage: (10 * 50%);
75 | pixels: (50px * 10);
76 | conversion-metric-a: (20mm + 1cm);
77 | conversion-metric-b: (1cm + 20mm);
78 | conversion-imperial: (1in + 72pt + 6pc);
79 | custom-unit: (42octocats * 10);
80 | custom-unit-cancelling: (8cats * 9dogs / 4cats);
81 | mix-units: (1px + 1em);
82 | invalid-units: (1px * 1px);
83 | }
84 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/whitespace.css:
--------------------------------------------------------------------------------
1 | .whitespace {
2 | color: white;
3 | color: white;
4 | color: white;
5 | color: white;
6 | color: white;
7 | }
8 | .white,
9 | .space,
10 | .mania {
11 | color: white;
12 | }
13 | .no-semi-column {
14 | color: white;
15 | color: white;
16 | white-space: pre;
17 | border: 2px solid white;
18 | }
19 | .newlines {
20 | background: the, great, wall;
21 | border: 2px solid black;
22 | }
23 | .sel .newline_ws .tab_ws {
24 | color: white;
25 | background-position: 45 -23;
26 | }
27 |
--------------------------------------------------------------------------------
/test/com/inet/lib/less/samples/less_org_tests/less/whitespace.less:
--------------------------------------------------------------------------------
1 |
2 |
3 | .whitespace
4 | { color: white; }
5 |
6 | .whitespace
7 | {
8 | color: white;
9 | }
10 | .whitespace
11 | { color: white; }
12 |
13 | .whitespace{color:white;}
14 | .whitespace { color : white ; }
15 |
16 | .white,
17 | .space,
18 | .mania
19 | { color: white; }
20 |
21 | .no-semi-column { color: white }
22 | .no-semi-column {
23 | color: white;
24 | white-space: pre
25 | }
26 | .no-semi-column {border: 2px solid white}
27 | .newlines {
28 | background: the,
29 | great,
30 | wall;
31 | border: 2px
32 | solid
33 | black;
34 | }
35 | .empty {
36 |
37 | }
38 | .sel
39 | .newline_ws .tab_ws {
40 | color:
41 | white;
42 | background-position: 45
43 | -23;
44 | }
45 |
--------------------------------------------------------------------------------