Compare commits

..

17 Commits

Author SHA1 Message Date
8e3cca4890 Fixed fs-strike & fs-underline on same element
All checks were successful
Publish Library / Build NPM Project (push) Successful in 47s
Publish Library / Tag Version (push) Successful in 13s
Publish Library / Publish CDN & Docs (push) Successful in 32s
2025-03-11 22:05:04 -04:00
035faa69d4 Fixed border style
All checks were successful
Publish Library / Build NPM Project (push) Successful in 42s
Publish Library / Tag Version (push) Successful in 12s
Publish Library / Publish CDN & Docs (push) Successful in 29s
2025-03-09 10:39:18 -04:00
3e48cd5ba2 Changed default border color & renamed bg-clear to bg-container
All checks were successful
Publish Library / Build NPM Project (push) Successful in 17s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Publish CDN & Docs (push) Successful in 20s
2025-03-06 16:23:33 -05:00
0363593568 foreground now affects text-decoration
All checks were successful
Publish Library / Build NPM Project (push) Successful in 12s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Publish CDN & Docs (push) Successful in 18s
2025-02-05 22:09:46 -05:00
07cf090976 Renamed line-through to strike
All checks were successful
Publish Library / Build NPM Project (push) Successful in 16s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Publish CDN & Docs (push) Successful in 20s
2025-02-05 22:04:07 -05:00
049d3f8a49 fixed scss warning
All checks were successful
Publish Library / Build NPM Project (push) Successful in 1m6s
Publish Library / Tag Version (push) Successful in 15s
Publish Library / Publish CDN & Docs (push) Successful in 49s
2024-12-12 23:33:54 -05:00
ed8fb032e5 Underline anchors on focus
All checks were successful
Publish Library / Build NPM Project (push) Successful in 17s
Publish Library / Tag Version (push) Successful in 9s
Publish Library / Publish CDN & Docs (push) Successful in 28s
2024-12-06 19:16:09 -05:00
150bfd7278 Remove highlight with fix-focus
All checks were successful
Publish Library / Build NPM Project (push) Successful in 18s
Publish Library / Tag Version (push) Successful in 8s
Publish Library / Publish CDN & Docs (push) Successful in 29s
2024-12-06 18:56:34 -05:00
715d686171 updated anchor fix to include pointer cursor
All checks were successful
Publish Library / Build NPM Project (push) Successful in 12s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Publish CDN & Docs (push) Successful in 19s
2024-11-29 20:44:22 -05:00
e98ed586f5 Fixed font-family inheritance
Some checks failed
Publish Library / Build NPM Project (push) Successful in 11s
Publish Library / Tag Version (push) Successful in 5s
Publish Library / Publish CDN & Docs (push) Failing after 14s
2024-11-23 21:59:09 -05:00
c046b16b69 Opt out of fix syntax
All checks were successful
Publish Library / Build NPM Project (push) Successful in 11s
Publish Library / Tag Version (push) Successful in 5s
Publish Library / Publish CDN & Docs (push) Successful in 17s
2024-11-23 21:43:26 -05:00
344585e6dc Fixed some of the fixes
All checks were successful
Publish Library / Publish CDN & Docs (push) Successful in 20s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Build NPM Project (push) Successful in 17s
2024-11-23 21:39:26 -05:00
0ec350aae7 Fixed colors
All checks were successful
Publish Library / Build NPM Project (push) Successful in 11s
Publish Library / Tag Version (push) Successful in 5s
Publish Library / Publish CDN & Docs (push) Successful in 19s
2024-11-19 20:36:06 -05:00
00f290c861 Updated styles & docs
All checks were successful
Publish Library / Tag Version (push) Successful in 12s
Publish Library / Build NPM Project (push) Successful in 20s
Publish Library / Publish CDN & Docs (push) Successful in 32s
2024-11-19 19:32:46 -05:00
c305577fec Added favicon
All checks were successful
Publish Library / Publish CDN & Docs (push) Successful in 24s
Publish Library / Build NPM Project (push) Successful in 10s
Publish Library / Tag Version (push) Successful in 6s
2024-11-17 23:59:25 -05:00
103be5f0d8 Bump 1.0.3
All checks were successful
Publish Library / Build NPM Project (push) Successful in 11s
Publish Library / Publish CDN & Docs (push) Successful in 17s
Publish Library / Tag Version (push) Successful in 5s
2024-11-17 23:55:01 -05:00
ccdb97d321 Fixed docs
All checks were successful
Publish Library / Build NPM Project (push) Successful in 18s
Publish Library / Tag Version (push) Successful in 6s
Publish Library / Publish CDN & Docs (push) Successful in 21s
2024-11-17 23:53:24 -05:00
10 changed files with 1697 additions and 609 deletions

View File

@ -42,3 +42,12 @@ jobs:
uses: ztimson/actions/tag@develop
with:
tag: ${{env.VERSION}}
docs:
name: Publish CDN & Docs
needs: build
uses: ztimson/actions/.github/workflows/docker.yaml@develop
with:
name: ztimson/css-utils
repository: ${{github.server_url}}/${{github.repository}}.git
pass: ${{secrets.DEPLOY_TOKEN}}

View File

@ -4,4 +4,3 @@ node_modules
.editorconfig
.gitignore
CODEOWNERS
index.html

17
Dockerfile Normal file
View File

@ -0,0 +1,17 @@
# Build application
FROM node:alpine as build
RUN mkdir /app
WORKDIR /app
COPY . .
RUN if [ ! -d "node_modules" ]; then npm i; fi && \
if [ ! -d "dist/css-utils.css" ]; then npm run build; fi
# Use Nginx to serve
FROM nginx:1.23-alpine
COPY --from=build /app/dist /usr/share/nginx/html/dist
COPY src /usr/share/nginx/html/src
COPY index.html /usr/share/nginx/html
COPY wave.webp /usr/share/nginx/html
COPY favicon.webp /usr/share/nginx/html

View File

@ -20,7 +20,7 @@
---
<div>
<a href="https://git.zakscode.com/ztimson/css-utils/wiki" target="_blank">Documentation</a>
<a href="https://css.zakscode.com" target="_blank">Documentation</a>
<a href="https://git.zakscode.com/ztimson/css-utils/releases" target="_blank">Release Notes</a>
<a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fbug.md" target="_blank">Report a Bug</a>
<a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fenhancement.md" target="_blank">Request a Feature</a>
@ -36,7 +36,7 @@
- [Setup](#setup)
- [Production](#production)
- [Development](#development)
- [Documentation](#documentation)
- [Documentation](https://css.zakscode.com)
- [License](#license)
## About
@ -83,6 +83,9 @@ Some extra classes have been added and a few class name changed to match convent
</details>
## Documentation
https://css.zaskscode.com
## License
Copyright © 2023 Zakary Timson | Available under MIT Licensing

BIN
favicon.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

1015
index.html

File diff suppressed because it is too large Load Diff

37
package-lock.json generated
View File

@ -1,14 +1,14 @@
{
"name": "@ztimson/css-utils",
"version": "1.0.0",
"version": "1.2.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@ztimson/css-utils",
"version": "1.0.0",
"version": "1.2.1",
"license": "MIT",
"dependencies": {
"devDependencies": {
"sass": "^1.80.6"
}
},
@ -16,6 +16,7 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
"integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"dependencies": {
@ -54,6 +55,7 @@
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
@ -73,6 +75,7 @@
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
@ -92,6 +95,7 @@
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
@ -111,6 +115,7 @@
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
@ -130,6 +135,7 @@
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -149,6 +155,7 @@
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -168,6 +175,7 @@
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -187,6 +195,7 @@
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -206,6 +215,7 @@
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -225,6 +235,7 @@
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
@ -244,6 +255,7 @@
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
@ -263,6 +275,7 @@
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"win32"
@ -282,6 +295,7 @@
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
@ -298,6 +312,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"optional": true,
"dependencies": {
"fill-range": "^7.1.1"
@ -310,6 +325,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
"integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
"dev": true,
"dependencies": {
"readdirp": "^4.0.1"
},
@ -324,6 +340,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"dev": true,
"optional": true,
"bin": {
"detect-libc": "bin/detect-libc.js"
@ -336,6 +353,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"optional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
@ -347,12 +365,14 @@
"node_modules/immutable": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw=="
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
"dev": true
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.10.0"
@ -362,6 +382,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"optional": true,
"dependencies": {
"is-extglob": "^2.1.1"
@ -374,6 +395,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.12.0"
@ -383,6 +405,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
"optional": true,
"dependencies": {
"braces": "^3.0.3",
@ -396,12 +419,14 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"dev": true,
"optional": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"optional": true,
"engines": {
"node": ">=8.6"
@ -414,6 +439,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
"integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
"dev": true,
"engines": {
"node": ">= 14.16.0"
},
@ -426,6 +452,7 @@
"version": "1.80.6",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz",
"integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==",
"dev": true,
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^4.0.0",
@ -445,6 +472,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
@ -453,6 +481,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"optional": true,
"dependencies": {
"is-number": "^7.0.0"

View File

@ -1,6 +1,6 @@
{
"name": "@ztimson/css-utils",
"version": "1.0.1",
"version": "1.3.2",
"description": "CSS Utility Classes",
"readme": "README.md",
"scripts": {

View File

@ -4,7 +4,7 @@
// Colors
:root {
// Theme colors, what ever you like
// Theme colors -- what ever you like
--theme-backdrop: #dddddd;
--theme-primary: #ff0000;
--theme-accent: #0000ff;
@ -15,7 +15,8 @@
--theme-black: black;
--theme-white: white;
// Mic
// Misc
--theme-border: black;
--theme-animation: 0.2s linear; // Animation style
--theme-content-width: 1100px; // Max width of clamped content
--theme-font: Arial, sans-serif;
@ -33,46 +34,36 @@
--theme-text: #ffffff; // Text color (Should contrast bg-primary)
--theme-muted: #cccccc; // Muted text color (Should have less contrast against bg-primary)
}
}
$breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px); // Device size
$sizes: (0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5rem); // Padding/Margin, etc...
// Don't edit past this point ===============================================================================
$breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px);
$direction: ('s': 'left', 't': 'top', 'e': 'right', 'b': 'bottom');
$divisible: (0, 10, 20, 25, 30, 33, 40, 50, 60, 66, 70, 75, 80, 90, 100);
$sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5rem);
$divisible: (0, 10, 20, 25, 30, 33, 34, 40, 50, 60, 66, 70, 75, 80, 90, 100);
// "Fixes" ==================================================================================================
// Optional opinionated styling to clean up CSS defaults
.fix-anchor, .fix {
.fix-anchor, .fix:not(.no-anchor-fix) {
a, a:not([href]) {
cursor: pointer;
color: var(--theme-primary);
&:not(:hover) { text-decoration: none; }
&:hover { text-decoration: underline; }
&:not(:hover):not(:focus) { text-decoration: none; }
&:hover, &:focus { text-decoration: underline; }
}
}
.fix-button, .fix {
button {
.fix-button, .fix:not(.no-button-fix) {
button:not(:disabled) {
cursor: pointer;
}
}
.fix-code, .fix {
code {
display: block;
white-space: pre;
font-family: monospace;
background: rgb(30, 30, 30);
color: #00cb00;
overflow: auto;
}
}
.fix-dom, .fix {
.fix-dom, .fix:not(.no-dom-fix) {
&, html, body {
height: 100%;
width: 100%;
@ -83,25 +74,22 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
background-color: var(--theme-backdrop);
}
hr { opacity: 50%; }
* { box-sizing: border-box; }
}
.fix-focus, .fix {
.fix-focus, .fix:not(.no-focus-fix) {
* {
outline: none !important;
box-shadow: none !important;
outline: inherit;
-webkit-tap-highlight-color: transparent;
}
}
.fix-font, .fix {
* { font-family: var(--theme-font), sans-serif; }
.fix-font, .fix:not(.no-font-fix) {
color: var(--theme-text);
font-family: var(--theme-font), sans-serif;
p, input, select, textarea, button { font-size: 1rem; }
span { font-size: inherit; }
h1, h2, h3, h4, h5, h6, p {
margin-top: 0;
margin-bottom: 0.5rem;
}
h1, h2, h3, h4, h5, h6, p { margin: 0 0 0.5rem 0; }
h1 { font-weight: 500; font-size: 2.5rem; }
h2 { font-weight: 500; font-size: 2rem; }
h3 { font-weight: 500; font-size: 1.75rem; }
@ -110,10 +98,26 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
h6 { font-weight: 500; font-size: 1rem; }
}
option { color: black !important; }
// Misc =====================================================================================================
// Center
.center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
// Clamp (Restrict page width for large screens)
.clamp { width: min(var(--theme-content-width), calc(100% - map.get($sizes, 3))); }
// Utilities ================================================================================================
// Anchor
.anchor-c { transform: translate(-50%, -50%); }
.anchor-e { transform: translate(-100%, -50%); }
.anchor-s { transform: translate(0, -50%); }
// Animate
.animate { transition: var(--theme-animation); }
.animate-none { transition: none !important; }
@ -121,14 +125,17 @@ option { color: black !important; }
transition: var(--theme-animation);
transition-property: color, background-color;
}
.animate-opacity {
transition: var(--theme-animation);
transition-property: opacity;
}
.animate-pos {
transition: var(--theme-animation);
transition-property: height, width, left, right, top, bottom;
}
// Border - Colors
@each $color in ('black', 'white', 'primary', 'secondary', 'info', 'success', 'warn', 'danger', 'muted') {
.b-#{$color} { border-color: var(--theme-#{$color}) !important; }
.animate-trans {
transition: var(--theme-animation);
transition-property: transform;
}
// Border - Radius
@ -143,17 +150,17 @@ option { color: black !important; }
// Colors - Background
.bg-backdrop { background-color: var(--theme-backdrop) !important; }
.bg-black { background-color: var(--theme-white) !important; }
.bg-clear {
.bg-black { background-color: var(--theme-black) !important; }
.bg-white { background-color: var(--theme-white) !important; }
.bg-transparent { background-color: transparent !important; }
.bg-container {
background-color: var(--theme-clear) !important;
color: var(--theme-text) !important;
}
.bg-transparent { background-color: transparent !important; }
.bg-white { background-color: var(--theme-white) !important; }
@each $color in ('primary', 'secondary', 'text', 'info', 'success', 'warn', 'danger', 'muted') {
@each $color in ('primary', 'accent', 'text', 'info', 'success', 'warn', 'danger', 'muted') {
.bg-#{$color} {
position: relative;
color: white;
z-index: 1;
}
.bg-#{$color}::before {
content: '';
@ -163,42 +170,36 @@ option { color: black !important; }
right: 0;
bottom: 0;
background-color: var(--theme-#{$color});
opacity: 0.2;
filter: saturate(.5) brightness(150%);
border-radius: inherit;
z-index: -1;
}
}
// Center
.center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
// Clamp (Restrict page width for large screens)
.clamp { width: min(var(--theme-content-width), calc(100% - map.get($sizes, 3))); }
// Colors - Foreground
@each $color in ('black', 'white', 'text', 'primary', 'secondary', 'info', 'success', 'warn', 'danger', 'muted') {
.fg-#{$color} { color: var(--theme-#{$color}) !important; }
@each $color in ('black', 'clear', 'white', 'text', 'primary', 'accent', 'info', 'success', 'warn', 'danger', 'muted') {
.fg-#{$color} {
color: var(--theme-#{$color}) !important;
text-decoration-color: var(--theme-#{$color}) !important;
}
}
// Cursors
@each $name in ('auto', 'default', 'none', 'context-menu', 'help', 'pointer', 'progress', 'wait', 'cell', 'crosshair', 'text', 'vertical-text', 'alias', 'copy', 'move', 'no-drop', 'not-allowed', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'zoom-in', 'zoom-out') {
@each $name in ('alias','auto','cell','col-resize','copy','crosshair','default','grab','grabbing','help','move','not-allowed','pointer','progress','row-resize','text','none','wait','vertical-text','zoom-in','zoom-out') {
.curs-#{$name} { cursor: #{$name} !important; }
}
// Font
.fs-bolder { font-weight: bolder !important; }
.fs-bold { font-weight: bold !important; }
.fs-clear { font-style: normal !important; }
.fs-italic { font-style: italic !important; }
.fs-lighter { font-weight: lighter !important; }
.fs-line-through { text-decoration: line-through !important; }
.fs-none { text-decoration: none !important; }
.fs-bold { font-weight: 500 !important; }
.fs-normal { font-weight: normal !important; }
.fs-italic { font-style: italic !important; }
.fs-none { font-style: normal !important; }
.fs-lighter { font-weight: lighter !important; }
.fs-no-dec { text-decoration: none !important; }
.fs-strike { text-decoration: line-through !important; }
.fs-underline { text-decoration: underline !important; }
.fs-strike.fs-underline { text-decoration: line-through underline !important; }
.fs-7 { font-size: 2.5rem !important; }
.fs-6 { font-size: 2.25rem !important; }
.fs-5 { font-size: 2rem !important; }
@ -206,6 +207,26 @@ option { color: black !important; }
.fs-3 { font-size: 1.5rem !important; }
.fs-2 { font-size: 1.25rem !important; }
.fs-1 { font-size: 1rem !important; }
.fs-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
.fs-truncate {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
.fs-nowrap {
white-space: nowrap !important;
text-wrap: nowrap !important;
}
.fs-wrap {
white-space: normal !important;
text-wrap: pretty !important;
}
.fs-lowercase { text-transform: lowercase !important; }
.fs-uppercase { text-transform: uppercase !important; }
.fs-capitalize { text-transform: capitalize !important; }
// Height
.h-auto { height: auto !important; }
@ -214,44 +235,46 @@ option { color: black !important; }
}
// Hover
.hover:hover { filter: brightness(125%) !important; }
.curs-hover:hover, .hover:hover { filter: brightness(125%) !important; }
.curs-hover:hover {
cursor: pointer;
user-select: none;
}
// Opacity
@each $div in $divisible {
.o-#{$div} { opacity: #{$div}#{'%'} !important; }
}
// Z-index
// Overflow
@each $opt in ('auto', 'hidden', 'scroll', 'visible') {
.overflow-#{$opt} { overflow: #{$opt} !important; }
.overflow-x-#{$opt} { overflow-x: #{$opt} !important; }
.overflow-y-#{$opt} { overflow-y: #{$opt} !important; }
}
// Position
@each $p, $pos in ('abs': 'absolute', 'fix': 'fixed', 'rel': 'relative', 'static': 'static', 'stick': 'sticky') {
.pos-#{$p} { position: #{$pos} !important; }
}
@each $div in $divisible {
.z-#{$div} { z-index: #{$div} !important; }
.bottom-#{$div} { bottom: #{$div}#{'%'} !important; }
.end-#{$div} { right: #{$div}#{'%'} !important; }
.start-#{$div} { left: #{$div}#{'%'} !important; }
.top-#{$div} { top: #{$div}#{'%'} !important; }
}
// Shadows
.shadow { box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 !important; }
.shadow-drop { filter: drop-shadow(0px 1px 2.5px black) !important; }
.shadow-white { filter: drop-shadow(0px 1px 2.5px white) !important; }
.shadow-none { box-shadow: none !important; }
// Text
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
// User Select
@each $s in ('all', 'auto', 'none', 'text') {
.select-#{$s} { user-select: #{$s} !important; }
}
.text-truncate {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
.text-nowrap {
white-space: nowrap !important;
text-wrap: nowrap !important;
}
.text-wrap {
white-space: normal !important;
text-wrap: pretty !important;
}
.text-lowercase { text-transform: lowercase !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-capitalize { text-transform: capitalize !important; }
// Width
.w-auto { width: auto !important; }
@ -259,15 +282,11 @@ option { color: black !important; }
.w-#{$div} { width: #{$div}#{'%'} !important; }
}
// User Select
@each $s in ('all', 'auto', 'none', 'text') {
.select-#{$s} { user-select: #{$s} !important; }
// Z-index
@each $s, $ignore in $sizes {
.z-#{$s} { z-index: #{$s} !important; }
}
// Visibility
.visible { visibility: visible !important; }
.hidden { visibility: hidden !important; }
// Breakpoint rules
@mixin utilities($bp) {
@if $bp != null { $bp: '-#{$bp}'; }
@ -280,26 +299,17 @@ option { color: black !important; }
.align-y#{$bp}-start { vertical-align: top !important; }
.align-y#{$bp}-end { vertical-align: bottom !important; }
// Border - Style
.b#{$bp}-dash { border-style: dashed !important; }
.b#{$bp}-dot-dash { border-style: dot-dash !important; }
.b#{$bp}-dot-dot-dash { border-style: dot-dot-dash !important; }
.b#{$bp}-dot { border-style: dotted !important; }
.b#{$bp}-double { border-style: double !important; }
.b#{$bp}-none { border-style: none !important; }
.b#{$bp}-solid { border-style: solid !important; }
// Display
@each $display in (block, inline, inline-block, grid, inline-grid, table, table-row, table-cell, none) {
@each $display in (block, inline, inline-block, 'flex', 'inline-flex' grid, inline-grid, table, table-row, table-cell, none) {
.d#{$bp}-#{$display} { display: #{$display} !important; }
}
// Flex
.align#{$bp}-start { align-content: start !important; }
.align#{$bp}-end { align-content: end !important; }
.align#{$bp}-center { align-content: center !important; }
.align#{$bp}-baseline { align-content: baseline !important; }
.align#{$bp}-stretch { align-content: stretch !important; }
.align-content#{$bp}-start { align-content: start !important; }
.align-content#{$bp}-end { align-content: end !important; }
.align-content#{$bp}-center { align-content: center !important; }
.align-content#{$bp}-baseline { align-content: baseline !important; }
.align-content#{$bp}-stretch { align-content: stretch !important; }
.align-items#{$bp}-start { align-items: start !important; }
.align-items#{$bp}-end { align-items: end !important; }
.align-items#{$bp}-center { align-items: center !important; }
@ -343,14 +353,18 @@ option { color: black !important; }
flex-direction: row-reverse !important;
}
.flex#{$bp}-fill { flex: 1 1 auto; }
.flex#{$bp}-expand {
.flex#{$bp}-fill-even {
flex-basis: 0 !important;
flex-grow: 1 !important;
}
.flex#{$bp}-grow-1 { flex-grow: 1 !important; }
.flex#{$bp}-shrink-1 { flex-shrink: 1 !important; }
.flex#{$bp}-grow-0 { flex-grow: 0 !important; }
.flex#{$bp}-shrink-0 { flex-shrink: 0 !important; }
.flex#{$bp}-grow-1 { flex-grow: 1 !important; }
.flex#{$bp}-shrink-1 { flex-shrink: 1 !important; }
.flex#{$bp}-grow-2 { flex-grow: 2 !important; }
.flex#{$bp}-shrink-2 { flex-shrink: 2 !important; }
.flex#{$bp}-grow-3 { flex-grow: 3 !important; }
.flex#{$bp}-shrink-3 { flex-shrink: 3 !important; }
.flex#{$bp}-nowrap { flex-wrap: nowrap !important; }
.flex#{$bp}-wrap { flex-wrap: wrap !important; }
.justify#{$bp}-start { justify-content: start !important; }
@ -372,26 +386,24 @@ option { color: black !important; }
.fit#{$bp}-scale { object-fit: scale-down !important; }
.fit#{$bp}-none { object-fit: none !important; }
// Overflow
@each $opt in ('auto', 'hidden', 'scroll', 'visible') {
.overflow#{$bp}-#{$opt} { overflow: #{$opt} !important; }
.overflow-x#{$bp}-#{$opt} { overflow-x: #{$opt} !important; }
.overflow-y#{$bp}-#{$opt} { overflow-y: #{$opt} !important; }
.m#{$bp}-auto { margin: auto !important; } // Margin
.mx#{$bp}-auto { // Margin
margin-left: auto !important;
margin-right: auto !important;
}
.my#{$bp}-auto { // Margin
margin-top: auto !important;
margin-bottom: auto !important;
}
// Position
@each $pos in ('absolute', 'fixed', 'relative', 'static', 'sticky') {
.pos#{$bp}-#{$pos} { position: #{$pos} !important; }
}
// Visibility
.visible#{$bp} { visibility: visible !important; }
.hidden#{$bp} { visibility: hidden !important; }
@each $s, $size in $sizes {
.b#{$bp}-#{$s} { border: #{$s}px solid !important; } // Border
.b#{$bp}-#{$s} { border: #{$s}px solid var(--theme-border) !important; } // Border
.m#{$bp}-#{$s} { margin: $size !important; } // Margin
.p#{$bp}-#{$s} { padding: $size !important; } // Padding
.bx#{$bp}-#{$s} { // Border
border-left: #{$s}px solid !important;
border-right: #{$s}px solid !important;
}
.mx#{$bp}-#{$s} { // Margin
margin-left: $size !important;
margin-right: $size !important;
@ -400,10 +412,6 @@ option { color: black !important; }
padding-left: $size !important;
padding-right: $size !important;
}
.by#{$bp}-#{$s} { // Border
border-top: #{$s}px solid !important;
border-bottom: #{$s}px solid !important;
}
.my#{$bp}-#{$s} { // Margin
margin-top: $size !important;
margin-bottom: $size !important;
@ -414,9 +422,13 @@ option { color: black !important; }
}
.order#{$bp}-#{$s} { order: $s !important; } // Flex order
}
@each $d, $dir in $direction {
.b#{$d}#{$bp}-#{$s} { border-#{$dir}: #{$s}px solid !important; } // Border
.m#{$d}#{$bp}-auto { margin-#{$dir}: auto !important; } // Margin
@each $s, $size in $sizes {
.b#{$d}#{$bp}-#{$s} { border-#{$dir}: #{$s}px solid var(--theme-border) !important; } // Border
.m#{$d}#{$bp}-#{$s} { margin-#{$dir}: $size !important; } // Margin
.p#{$d}#{$bp}-#{$s} { padding-#{$dir}: $size !important; } // Padding
}
@ -424,11 +436,23 @@ option { color: black !important; }
}
@include utilities(null);
@media print {
@include utilities('print');
}
@media print { @include utilities('print'); }
@each $breakpoint, $min-width in $breakpoints {
@media (min-width: #{$min-width}) {
@include utilities($breakpoint);
}
}
// Border - Colors
@each $color in ('black', 'white', 'primary', 'accent', 'info', 'success', 'text', 'warn', 'danger', 'muted') {
.b-#{$color} { border-color: var(--theme-#{$color}) !important; }
}
// Border - Style
.b-dash { border-style: dashed !important; }
.b-dot-dash { border-style: dot-dash !important; }
.b-dot-dot-dash { border-style: dot-dot-dash !important; }
.b-dot { border-style: dotted !important; }
.b-double { border-style: double !important; }
.b-none { border-style: none !important; }
.b-solid { border-style: solid !important; }

BIN
wave.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB