mirror of
https://github.com/shoelace-style/webawesome.git
synced 2026-01-12 12:09:26 +00:00
* Basic scaffolding * Generate theme & palette data.js that other JS can import * Make it possible to include page-card without links * WIP * Add `appearance` to details, closes #569 Except `accent` as that's a) far less useful and b) trickier due to the icon color * Fix broken link * WIP * WIP * Icons icon * Unify styles for interactive cards * Prevent focusing inside theme icons * Fixes * Action page cards * Panel scrollables * scrollable * Scroll shadows * Add renaming UI * UI * Move styling of heading icons to `ui.css` * Support permalinks & CRUD * Make clickable cards more accessible * Style cards a little better * Default to styles panel if theme is selected * Update theme-icons.css * Custom themes should be saved under Custom * Get theme code * Bigger title * Fixes * Use theme Vue app for remixing too * Fix preview jank and make preview script more flexible * Make radio groups scrollable * Add affordance to button cards * Sticky * `<color-select>` * Fix theme remixing * Improve previewing logic * Fix preview * Move `domChange()` to separate module `theme-picker.js` includes side-effects, which may not always be desirable everywhere we may want to import `domChange()` * Update preview.js * Panel animation * Hide Save button if no changes and not saved * Do not show blank code when no selection has been made * Use theme slug in filename * Remove unused component * Better UI for editing title (and any other text) * Tweak UI of renaming * Better indicate default selection * Fix preview reverting bug * Fill out app preview with more examples * Remove `zoom` from theme showcase (yields unexpected/painful results Safari), improve display in wider viewports * Pending delete * Make styles panel cards scrollable * Fix some of the Safari issues * Update search.css * Update panel.css * Select preview UI * Fix typo * Frame colors setting as color contrast * Show dark mode in color mappings * Brand color * Swatch styling * Fix caret icon * Move Starting theme to the same level as other controls * Rename typography to Fonts * Fix bug: Swatch select should show swatches from the selected palette * Move capitalize to shared utils * Add utils for handling nested objects * Icons panel * Update code.js * Move utils around * Add fit and finish to sidebar panels * Theme card: Move icons to separate data structure * Move data to dedicated folder since we now have a lot more of it * Add default icon families and variants to themes * Data * Add `deepEntries()` * Add Duotone * Spruce up icons preview * Use theme's icon family in showcase * Font cards * Font cards * Add `max-inline-size` to preview container * Remove alternate preview options * Remove theme subtitle * Support FA kit codes * Remove Pro badges from theme cards * Use panagram preview for Fonts * Consistent heading and label capitalization * Classes for different icons-card types * Update data.js.njk * Variable style on icon family cards * Fix Sharp Duotone * Clean up FA kit code hint * Hide non-functional Icon Library field * Fix theme icon heights * icon variant -> style in theme metadata * Fix bug with icons defaults not being shown * More convenient theme defaults * Fix bug with non updating URL * Fix bug * Fix multiplying badges * Custom docs pages * Add Duotone icons to Mellow theme * Fix 404 * Remove "Create" from sidebar * Fix bug * Move vue components to `/assets/`, move their CSS with them * Safari/FF compatibility * Make panels scrollable again * Fix extra spacing --------- Co-authored-by: lindsaym-fa <dev@lindsaym.design>
146 lines
2.9 KiB
CSS
146 lines
2.9 KiB
CSS
/* App UI, for themer, palette tweaking etc */
|
|
|
|
:root {
|
|
--fa-sliders-simple: '\f1de';
|
|
}
|
|
|
|
.title {
|
|
wa-icon-button {
|
|
font-size: var(--wa-font-size-l);
|
|
color: var(--wa-color-text-quiet);
|
|
|
|
&:not(:hover, :focus) {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
}
|
|
|
|
.popup {
|
|
background: var(--wa-color-surface-default);
|
|
border: 1px solid var(--wa-color-surface-border);
|
|
padding: var(--wa-space-xl);
|
|
border-radius: var(--wa-border-radius-m);
|
|
max-height: 90dvh;
|
|
overflow: auto;
|
|
|
|
code {
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.color-select {
|
|
&.default::part(display-input) {
|
|
opacity: 0.6;
|
|
font-style: italic;
|
|
}
|
|
|
|
> small {
|
|
margin-inline-start: var(--wa-space-xs);
|
|
padding-block: 0 var(--wa-space-xs);
|
|
}
|
|
|
|
&::part(combobox)::before,
|
|
wa-option::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 1.2em;
|
|
aspect-ratio: 1;
|
|
margin-inline-end: var(--wa-space-xs);
|
|
flex: none;
|
|
border-radius: var(--wa-border-radius-m);
|
|
background: var(--color);
|
|
border: 1px solid var(--wa-color-surface-default);
|
|
}
|
|
|
|
wa-option {
|
|
white-space: nowrap;
|
|
|
|
&::before {
|
|
width: 1em;
|
|
margin-inline: var(--wa-space-xs);
|
|
}
|
|
|
|
&::part(checked-icon) {
|
|
order: 2;
|
|
}
|
|
}
|
|
|
|
.default-badge {
|
|
opacity: 0.6;
|
|
margin-inline-start: var(--wa-space-xs);
|
|
}
|
|
}
|
|
|
|
.swatch-select {
|
|
padding: 2px;
|
|
|
|
wa-radio-button {
|
|
--swatch-border-color: color-mix(in oklab, canvastext, transparent 80%);
|
|
|
|
&::part(base) {
|
|
/* a <button> */
|
|
width: 2em;
|
|
height: 2em;
|
|
padding: 0;
|
|
border-radius: var(--border-radius, var(--wa-border-radius-m));
|
|
background: var(--color);
|
|
background-clip: border-box;
|
|
border-color: var(--swatch-border-color);
|
|
}
|
|
}
|
|
|
|
&.swatch-shape-circle {
|
|
--border-radius: var(--wa-border-radius-circle);
|
|
}
|
|
|
|
wa-radio-button:is([checked], :state(checked)) {
|
|
--swatch-border-color: var(--wa-color-surface-default);
|
|
&::part(base) {
|
|
box-shadow:
|
|
inset 0 0 0 var(--indicator-width) var(--wa-color-surface-default),
|
|
0 0 0 calc(var(--indicator-width) + 1px) var(--indicator-color);
|
|
}
|
|
}
|
|
|
|
&::part(form-control-input) {
|
|
flex-wrap: wrap;
|
|
gap: var(--wa-space-xs);
|
|
}
|
|
}
|
|
|
|
/* Repeated to increase specificity */
|
|
.editable-text.editable-text {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--wa-space-xs);
|
|
--edit-hint-color: oklab(from var(--wa-color-warning-fill-quiet) l a b / 50%);
|
|
|
|
> .text {
|
|
&:hover,
|
|
&:focus {
|
|
background-color: var(--edit-hint-color);
|
|
box-shadow: 0 0 0 var(--wa-space-2xs) var(--edit-hint-color);
|
|
color: inherit;
|
|
border-radius: calc(var(--wa-border-radius-m) - var(--wa-space-2xs));
|
|
}
|
|
}
|
|
|
|
> input {
|
|
font: inherit;
|
|
margin-block: calc(-1 * var(--wa-space-smaller));
|
|
field-sizing: content;
|
|
}
|
|
|
|
wa-icon-button {
|
|
font-size: 90%;
|
|
}
|
|
}
|
|
|
|
.info-tip-default-trigger {
|
|
color: var(--wa-color-text-quiet);
|
|
|
|
&:not(:hover, :focus) {
|
|
opacity: 65%;
|
|
}
|
|
}
|