Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions form.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "style-forge.form",
"version": "2025.1.8",
"version": "2025.1.10",
"description": "Style-Forge.Form: versatile library for easy form creation, validation, styling, and submission in web apps.",
"type": "module",
"main": "form.css",
Expand Down
12 changes: 6 additions & 6 deletions src/button.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--sf-form-fz: 0.9375rem;
--sf-disabled: 0.4;
--sf-form-radius: 3px;
Expand All @@ -17,9 +17,9 @@
font-weight: 400;
line-height: 1;

color: hsl(var(--sf-form-c-txt));
background: hsl(var(--sf-form-c-bg) / 20%);
border: 1px solid hsl(var(--sf-form-c-bd) / 20%);
color: hsl(var(--sf-c-form-txt));
background: hsl(var(--sf-c-form-bg) / 20%);
border: 1px solid hsl(var(--sf-c-form-bd) / 20%);

text-align: center;
text-decoration: none;
Expand All @@ -45,7 +45,7 @@ a.sf-button:not([href]),

.sf-button:focus-visible
{
outline: 1px solid hsl(var(--sf-form-c-info));
outline: 1px solid hsl(var(--sf-c-form-info));
outline-offset: -1px;
}

Expand All @@ -54,7 +54,7 @@ a.sf-button:not([href]),
html.var .sf-button
{
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

color: hsl(0, 0%, 10%);
background: hsla(0, 0%, 100%, 0.2);
Expand Down
10 changes: 5 additions & 5 deletions src/checkbox-radio.css
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ label.sf-checkbox input::before
height: 16px;
content: '';

background-color: hsl(var(--sf-form-c-bg) / 20%);
border: 1px solid hsl(var(--sf-form-c-bd) / 20%);
background-color: hsl(var(--sf-c-form-bg) / 20%);
border: 1px solid hsl(var(--sf-c-form-bd) / 20%);
}
label.sf-radio input::after,
label.sf-checkbox input::after
Expand All @@ -70,11 +70,11 @@ label.sf-checkbox input::after

label.sf-radio input:checked::before,
label.sf-checkbox input:checked::before
{ border-color: hsl(var(--sf-form-c-info)) }
{ border-color: hsl(var(--sf-c-form-info)) }

label.sf-radio input:checked::after,
label.sf-checkbox input:checked::after
{ background-color: hsl(var(--sf-form-c-info)) }
{ background-color: hsl(var(--sf-c-form-info)) }

label.sf-radio input::before,
label.sf-radio input::after
Expand All @@ -84,7 +84,7 @@ label.sf-radio input::after
.sf-checkbox input:focus-visible
{
border-color: transparent;
outline: 2px solid hsl(var(--sf-form-c-info));
outline: 2px solid hsl(var(--sf-c-form-info));
outline-offset: 2px;
}
.sf-radio input:focus-visible { border-radius: 50% }
Expand Down
4 changes: 2 additions & 2 deletions src/color.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@

.sf-input[type='color']::-webkit-color-swatch-wrapper { padding: 3px }
.sf-input[type='color']::-webkit-color-swatch {
border: 2px solid hsl(var(--sf-form-c-white));
border: 2px solid hsl(var(--sf-c-form-white));
border-radius: 50%;
}
.sf-input[type='color']::-moz-color-swatch {
border: 2px solid hsl(var(--sf-form-c-white));
border: 2px solid hsl(var(--sf-c-form-white));
border-radius: 50%;
}

Expand Down
14 changes: 7 additions & 7 deletions src/file.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--sf-form-fz: 0.9375rem;
--sf-disabled: 0.4;
--sf-form-radius: 3px;
Expand Down Expand Up @@ -36,17 +36,17 @@
text-transform: none;
text-decoration: none;

color: hsl(var(--sf-form-c-txt));
background: hsl(var(--sf-form-c-bg) / 20%);
border: 1px solid hsl(var(--sf-form-c-bd) / 20%);
color: hsl(var(--sf-c-form-txt));
background: hsl(var(--sf-c-form-bg) / 20%);
border: 1px solid hsl(var(--sf-c-form-bd) / 20%);

height: 32px;

border-radius: var(--sf-form-radius);
}
.sf-input[type='file']:focus-visible { outline: none }
.sf-input[type='file']:focus-visible::file-selector-button {
outline: 1px solid hsl(var(--sf-form-c-info));
outline: 1px solid hsl(var(--sf-c-form-info));
outline-offset: -1px;
}

Expand All @@ -62,12 +62,12 @@

html.var .sf-input[type='file'] {
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
padding: 0; /* required */
}
html.var .sf-input[type='file']::file-selector-button {
font-size: 15px;
font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
color: hsl(0, 0%, 10%);
background: hsla(0, 0%, 100%, 0.2);
border: 1px solid hsla(0, 0%, 10%, 0.2);
Expand Down
16 changes: 8 additions & 8 deletions src/input.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

--sf-form-fz: 0.9375rem;

Expand Down Expand Up @@ -28,11 +28,11 @@

text-transform: none;

color: hsl(var(--sf-form-c-txt));
background: hsl(var(--sf-form-c-bg) / 20%);
color: hsl(var(--sf-c-form-txt));
background: hsl(var(--sf-c-form-bg) / 20%);

border-style: solid;
border-color: hsl(var(--sf-form-c-bd) / 20%);
border-color: hsl(var(--sf-c-form-bd) / 20%);
border-width: 0 0 1px;
border-radius: 0;

Expand Down Expand Up @@ -68,17 +68,17 @@
}
.sf-input:hover::-webkit-calendar-picker-indicator { opacity: 1 }

.sf-input::placeholder { color: hsl(var(--sf-form-c-txt) / 40%) }
.sf-input::placeholder { color: hsl(var(--sf-c-form-txt) / 40%) }

.sf-input:focus {
border-color: transparent transparent hsl(var(--sf-form-c-info));
border-color: transparent transparent hsl(var(--sf-c-form-info));
outline: none;
}

.sf-input[type='color']:focus-visible,
.sf-input[type='image']:focus-visible,
.sf-input[type='range']:focus-visible {
outline: 2px solid hsl(var(--sf-form-c-info));
outline: 2px solid hsl(var(--sf-c-form-info));
outline-offset: 2px;
}

Expand All @@ -91,7 +91,7 @@

html.var .sf-input {
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

color: hsl(0, 0%, 10%);
background: hsla(0, 0%, 90%, 0.2);
Expand Down
2 changes: 1 addition & 1 deletion src/loading.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ a.sf-loading.sf-button:not([href]),
.sf-loading.sf-input:not([type='color']):disabled
{
--c1: transparent;
--c2: hsl(var(--sf-form-c-loading) / 5%);
--c2: hsl(var(--sf-c-form-loading) / 5%);

cursor: progress;
background: repeating-linear-gradient(45deg, var(--c1), var(--c1) 10px, var(--c2) 10px, var(--c2) 20px);
Expand Down
10 changes: 5 additions & 5 deletions src/select.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--sf-form-fz: 0.9375rem;
--sf-lh-normal: 1.1875;
--sf-disabled: 0.4;
Expand All @@ -25,11 +25,11 @@
.sf-select {
cursor: pointer;

background: hsl(var(--sf-form-c-bg) / 20%);
background: hsl(var(--sf-c-form-bg) / 20%);

border-width: 1px;
border-style: solid;
border-color: hsl(var(--sf-form-c-bd) / 20%);
border-color: hsl(var(--sf-c-form-bd) / 20%);
border-radius: 0;

width: 100%;
Expand All @@ -50,7 +50,7 @@
}

.sf-select:focus-visible {
outline: 1px solid hsl(var(--sf-form-c-info));
outline: 1px solid hsl(var(--sf-c-form-info));
outline-offset: -1px;
}

Expand All @@ -65,7 +65,7 @@ html.var .sf-select,
html.var .sf-select option
{
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}
html.var .sf-select:not([multiple]) { padding: 0 0 0 8px }
html.var .sf-select { padding: 8px 0 8px 8px }
Expand Down
24 changes: 12 additions & 12 deletions src/switch.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--sf-form-fz: 0.9375rem;
--sf-form-fz-small: 0.75rem;
--sf-disabled: 0.4;
Expand Down Expand Up @@ -51,7 +51,7 @@ label.sf-switch input[type='checkbox']::before {
height: var(--sf-form-switch-size);
content: '';

background: hsl(var(--sf-form-c-bd) / 20%);
background: hsl(var(--sf-c-form-bd) / 20%);
border-radius: calc(var(--sf-form-switch-size) / 2);
}
label.sf-switch input[type='checkbox']::after {
Expand All @@ -66,13 +66,13 @@ label.sf-switch input[type='checkbox']::after {

content: '';

background: hsl(var(--sf-form-c-white));
background: hsl(var(--sf-c-form-white));
border-radius: calc(var(--sf-form-switch-size) / 2);
box-shadow: 0 0 0 1px hsl(var(--sf-form-c-white));
box-shadow: 0 0 0 1px hsl(var(--sf-c-form-white));

transition: transform 0.05s ease-in;
}
label.sf-switch input[type='checkbox']:checked::before { background: hsl(var(--sf-form-c-info)) }
label.sf-switch input[type='checkbox']:checked::before { background: hsl(var(--sf-c-form-info)) }
label.sf-switch input[type='checkbox']:checked::after { transform: translate3d(var(--sf-form-switch-size), 0, 0) }

label.sf-switch input[type='radio'] ~ *,
Expand All @@ -82,8 +82,8 @@ label.sf-switch input[type='checkbox'] ~ *
.sf-switch.multiple .sf-switch-toggle {
display: inline-block;

background: hsl(var(--sf-form-c-bg) / 20%);
box-shadow: 1px 2px 8px 0 hsl(var(--sf-form-c-bd) / 15%);
background: hsl(var(--sf-c-form-bg) / 20%);
box-shadow: 1px 2px 8px 0 hsl(var(--sf-c-form-bd) / 15%);
}
.sf-switch.multiple .sf-switch-toggle * { display: inline-block }
.sf-switch.multiple .sf-switch-toggle label { position: relative }
Expand All @@ -95,7 +95,7 @@ label.sf-switch input[type='checkbox'] ~ *

padding: var(--sf-form-p-input-block) var(--sf-form-p-input-inline);

background: hsl(var(--sf-form-c-bd) / 5%);
background: hsl(var(--sf-c-form-bd) / 5%);
}

.sf-switch.multiple input[type='checkbox'],
Expand Down Expand Up @@ -130,8 +130,8 @@ label.sf-switch input[type='checkbox'] ~ *
.sf-switch.multiple input[type='checkbox']:checked ~ span,
.sf-switch.multiple input[type='radio']:checked ~ span
{
color: hsl(var(--sf-form-c-white));
background: hsl(var(--sf-form-c-info));
color: hsl(var(--sf-c-form-white));
background: hsl(var(--sf-c-form-info));
}

.sf-switch.multiple.vert .sf-switch-toggle { flex-flow: column }
Expand Down Expand Up @@ -164,7 +164,7 @@ label.sf-switch input[type='checkbox'] ~ *
.sf-switch input[type='radio']:focus-visible
{
border-color: transparent;
outline: 2px solid hsl(var(--sf-form-c-info));
outline: 2px solid hsl(var(--sf-c-form-info));
}
.sf-switch:not(.multiple) input[type='checkbox']:focus-visible,
.sf-switch:not(.multiple) input[type='radio']:focus-visible
Expand All @@ -176,7 +176,7 @@ label.sf-switch input[type='checkbox'] ~ *

html.var .sf-switch {
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}

html.var label.sf-switch input[type='checkbox'] {
Expand Down
14 changes: 7 additions & 7 deletions src/textarea.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:root {
--sf-form-ff: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--sf-form-ff: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--sf-form-fz: 0.9375rem;
--sf-disabled: 0.4;
--sf-form-radius: 3px;
Expand All @@ -13,9 +13,9 @@
font-weight: 400;
line-height: 1.499535;

color: hsl(var(--sf-form-c-txt));
background: hsl(var(--sf-form-c-bg) / 20%);
border: 1px solid hsl(var(--sf-form-c-bd) / 20%);
color: hsl(var(--sf-c-form-txt));
background: hsl(var(--sf-c-form-bg) / 20%);
border: 1px solid hsl(var(--sf-c-form-bd) / 20%);

width: 100%;
max-width: 100%;
Expand All @@ -32,7 +32,7 @@
box-sizing: border-box;
}

.sf-textarea::placeholder { color: hsl(var(--sf-form-c-txt) / 40%) }
.sf-textarea::placeholder { color: hsl(var(--sf-c-form-txt) / 40%) }

.sf-textarea:disabled {
cursor: not-allowed;
Expand All @@ -43,15 +43,15 @@
}

.sf-textarea:focus-visible {
outline: 1px solid hsl(var(--sf-form-c-info));
outline: 1px solid hsl(var(--sf-c-form-info));
outline-offset: -1px;
}

/* /// */

html.var .sf-textarea {
font-size: 15px;
font-family: Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-family: 'Inter', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

color: hsl(0, 0%, 10%);
background: hsla(0, 0%, 90%, 0.2);
Expand Down
Loading
Loading