Skip to content

Commit

Permalink
Input Group utilities added, docs updated, Combobox updated
Browse files Browse the repository at this point in the history
  • Loading branch information
endigo9740 committed Feb 13, 2025
1 parent 2f62bed commit 4d75bab
Show file tree
Hide file tree
Showing 10 changed files with 102 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
labelClasses = '',
// Input
inputGroupBase = 'input-group grid-cols-[1fr_auto]',
inputGroupInput = '',
inputGroupButton = 'input-group-cell',
inputGroupInput = 'ig-input',
inputGroupButton = 'ig-btn hover:preset-tonal',
inputGroupArrow = '',
inputGroupClasses = '',
// Positioner
Expand Down
52 changes: 45 additions & 7 deletions packages/skeleton/src/utilities/form-groups.css
Original file line number Diff line number Diff line change
@@ -1,13 +1,51 @@
/* Components: Forms > Input Group */

/*
@utilityinput-group {}
@utility input-group {
display: grid;
align-items: stretch;
border-radius: var(--radius-base);
border-width: var(--default-border-width);
border-color: var(--color-surface-200-800);
overflow: hidden;

@utilityig-cell {}
& > * + * {
border-left-width: 1px !important;
border-color: var(--color-surface-200-800);
}
}

@utilityig-input {}
/* Child Elements -- */

@utilityig-select {}
@utility ig-cell {
font-size: var(--text-sm);
display: flex;
justify-contents: center;
align-items: center;
padding-inline: --spacing(4);
}

@utilityig-button {}
*/
@utility ig-input {
--tw-ring-inset: inset;
background-color: transparent;
border-width: 0;
}

@utility ig-select {
--tw-ring-inset: inset;
background-color: transparent;
border-width: 0;
}

@utility ig-btn {
--tw-ring-inset: inset;
cursor: pointer;
font-size: var(--text-base);
font-weight: var(--font-weight-medium);
text-decoration-line: none;
display: flex;
justify-contents: center;
align-items: center;
gap: --spacing(2);
padding-inline: --spacing(4);
white-space: nowrap;
}
7 changes: 3 additions & 4 deletions packages/skeleton/src/utilities/form-inputs.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,15 @@
padding: --spacing(2);

outline-color: transparent;
--tw-ring-color: transparent;

@variant active {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus-within {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}

/* File Date/Time --- */
Expand Down
7 changes: 3 additions & 4 deletions packages/skeleton/src/utilities/form-selects.css
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@
padding-block: 0px;

outline-color: transparent;
--tw-ring-color: transparent;

@variant active {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus-within {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}

& > * + * {
Expand Down
7 changes: 3 additions & 4 deletions packages/skeleton/src/utilities/form-textareas.css
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@
padding: --spacing(2);

outline-color: transparent;
--tw-ring-color: transparent;

@variant active {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
@variant focus-within {
border-color: var(--color-primary-500);
--tw-ring-color: var(--color-primary-500);
}
}
2 changes: 1 addition & 1 deletion packages/skeleton/src/utilities/typography.css
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
}

@utility code {
&:not(pre, .ec-line) > & {
&:not(pre &, .ec-line &) {
background-color: var(--color-primary-100-900);
border-radius: var(--radius-base);
color: var(--color-primary-contrast-50-950);
Expand Down
18 changes: 9 additions & 9 deletions playgrounds/skeleton-core/src/pages/components/forms.astro
Original file line number Diff line number Diff line change
Expand Up @@ -205,15 +205,15 @@ import Layout from '@layouts/Layout.astro';
<!-- Groups -->
<section class="space-y-4">
<h2 class="h2">Groups</h2>
<form class="w-full max-w-md space-y-8">
<form class="w-full space-y-4">
<!-- Website -->
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="ig-cell preset-tonal-surface">https://</div>
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">https://</div>
<input class="ig-input" type="text" placeholder="www.example.com" />
</div>
<!-- Amount -->
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="ig-cell preset-tonal-surface">$</div>
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">$</div>
<input class="ig-input" type="text" placeholder="Amount" />
<select class="ig-select">
<option>USD</option>
Expand All @@ -222,13 +222,13 @@ import Layout from '@layouts/Layout.astro';
</select>
</div>
<!-- Username -->
<div class="input-group divide-surface-200-800 grid-cols-[1fr_auto] divide-x">
<input type="text" placeholder="Enter Username..." />
<div class="input-group grid-cols-[1fr_auto]">
<input class="ig-input" type="text" placeholder="Enter Username..." />
<button class="ig-btn preset-filled" title="Username already in use.">&check;</button>
</div>
<!-- Search -->
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="input-group-cell">🔍</div>
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">🔍</div>
<input class="ig-input" type="search" placeholder="Search..." />
<button class="ig-btn preset-filled">Submit</button>
</div>
Expand Down
10 changes: 10 additions & 0 deletions sites/next.skeleton.dev/src/content/docs/tailwind/forms.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,13 @@ export default {
<Code code={ExampleGroupsRaw} lang="astro" />
</Fragment>
</Preview>

| Class | Usage |
| --- | --- |
| `input-group` | Defines the parent input group set. |
| `ig-cell` | Defines a child cell for text or icons. |
| `ig-input` | Defines a child input of `type="text"`. |
| `ig-select` | Defines a child select element. |
| `ig-btn` | Defines a child button. |

Note that cells and buttons support Preset utility classes.
Original file line number Diff line number Diff line change
@@ -1,42 +1,38 @@
---
// import { CircleDollarSign, Check, Search } from 'lucide-react';
import { CircleDollarSign, Check, Search } from 'lucide-react';
---

<div class="card p-4 bg-red-500 text-center">
<p>Input Groups needs to be updated or removed.</p>
</div>

<!-- <form class="mx-auto w-full max-w-md space-y-8">
// Website
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="input-group-cell preset-tonal-surface">https://</div>
<input type="text" placeholder="www.example.com" />
<form class="w-full space-y-8">
<!-- Website -->
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">https://</div>
<input class="ig-input" type="text" placeholder="www.example.com" />
</div>
// Amount
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="input-group-cell preset-tonal-surface">
<!-- Amount -->
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">
<CircleDollarSign size={16} />
</div>
<input type="text" placeholder="Amount" />
<select>
<input class="ig-input" type="text" placeholder="Amount" />
<select class="ig-select">
<option>USD</option>
<option>CAD</option>
<option>EUR</option>
</select>
</div>
// Username
<div class="input-group divide-surface-200-800 grid-cols-[1fr_auto] divide-x">
<input type="text" placeholder="Enter Username..." />
<button class="btn preset-filled" title="Username already in use.">
<!-- Username -->
<div class="input-group grid-cols-[1fr_auto]">
<input class="ig-input" type="text" placeholder="Enter Username..." />
<button class="ig-btn preset-filled" title="Username already in use.">
<Check size={16} />
</button>
</div>
// Search
<div class="input-group divide-surface-200-800 grid-cols-[auto_1fr_auto] divide-x">
<div class="input-group-cell">
<!-- Search -->
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="ig-cell preset-tonal">
<Search size={16} />
</div>
<input type="search" placeholder="Search..." />
<button class="btn preset-filled">Submit</button>
<input class="ig-input" type="search" placeholder="Search..." />
<button class="ig-btn preset-filled">Submit</button>
</div>
</form> -->
</form>
8 changes: 5 additions & 3 deletions sites/next.skeleton.dev/src/styles/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,13 @@ html {
[data-theme='seafoam'],
[data-theme='vintage'],
[data-theme='wintry'] {
background-attachment: fixed;
/* prettier-ignore */
background-image:
& body {
background-attachment: fixed;
/* prettier-ignore */
background-image:
radial-gradient(at 0% 25%, color-mix(in oklab, var(--color-primary-500) 10%, transparent) 0px, transparent 30%),
radial-gradient(at 15% 06%, color-mix(in oklab, var(--color-success-500) 5%, transparent) 0px, transparent 30%);
}
}

/* Filled Cards */
Expand Down

0 comments on commit 4d75bab

Please sign in to comment.