Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
4225a81
Merge pull request #18138 from craftcms/bugfix/17318-search-deadlock-v4
brandonkelly Dec 8, 2025
fce9d08
Run view transitions in a queue
brandonkelly Dec 16, 2025
edc6267
Merge branch '5.x' into 5.9
brandonkelly Dec 16, 2025
266b6aa
Routes admin cleanup + fixes
brandonkelly Dec 16, 2025
d53281c
Only save posted settings to PC
brandonkelly Dec 17, 2025
0c6f359
Merge branch '4.x' of https://github.com/craftcms/cms into 5.x
brandonkelly Dec 17, 2025
8d87fcb
Add section to CONTRIBUTING.md about the control panel
brianjhanson Dec 17, 2025
8250445
Proofread
brianjhanson Dec 17, 2025
e9ca7be
Fixed a couple docs bugs with EVENT_DEFINE_EDIT_SCREENS
brandonkelly Dec 17, 2025
69998c8
ensure return element
i-just Dec 18, 2025
6e57319
remove the window resize listener when hiding custom select
i-just Dec 18, 2025
0e86435
Initial pass at Sites page
brianjhanson Dec 18, 2025
089d4df
Some updates to CONTRIBUTING.md
gcamacho079 Dec 19, 2025
7c7c21e
Merge branch '5.x' into bugfix/18175-matrix-copy-and-paste
brandonkelly Dec 19, 2025
8b9e26f
Only redirect for non-ajax requests
brandonkelly Dec 19, 2025
7954b38
Release note
brandonkelly Dec 19, 2025
380138e
Merge pull request #18185 from craftcms/bugfix/18175-matrix-copy-and-…
brandonkelly Dec 19, 2025
856bc2d
Always return active, non-pending users first
brandonkelly Dec 19, 2025
ca5ef34
Fix `@property-read` doc
brandonkelly Dec 20, 2025
2935990
LinkData::getAttributes()
brandonkelly Dec 20, 2025
756d4a4
Release note
brandonkelly Dec 20, 2025
98af957
Merge pull request #18187 from craftcms/bugfix/18179-element-index-ac…
brandonkelly Dec 20, 2025
0c917a6
Merge branch '4.x' of https://github.com/craftcms/cms into 5.x
brandonkelly Dec 20, 2025
6da1c36
Merge pull request #18182 from craftcms/feature/control-panel-contrib…
brandonkelly Dec 20, 2025
0f42675
ensure there's no field layouts with the same uid too
i-just Dec 22, 2025
ab0094e
Move HandleInertiaRequests to RouteServiceProvider
brianjhanson Dec 22, 2025
59943c0
Fix action item variant styles
brianjhanson Dec 22, 2025
88d4f5d
Update `@craftcms/cp` aliases
brianjhanson Dec 22, 2025
1cbb3bc
Keep action menus at specific size
brianjhanson Dec 22, 2025
dd2baa2
Implement majority of Sites page
brianjhanson Dec 22, 2025
10a74b2
Better small button sizing
brianjhanson Dec 22, 2025
122bb5b
Cleanup `SiteController`
brianjhanson Dec 22, 2025
62731bd
Update scripts
brianjhanson Dec 22, 2025
7a37d45
More alias drama
brianjhanson Dec 22, 2025
2d5675d
Increase size of small controls
brianjhanson Dec 22, 2025
64c5197
Properly update env values
brianjhanson Dec 22, 2025
bcd1be4
Release note
brandonkelly Dec 23, 2025
0b8e225
Merge pull request #18193 from craftcms/bugfix/fix-field-layout-uids-…
brandonkelly Dec 23, 2025
92d6a15
Merge branch '4.x' of https://github.com/craftcms/cms into 5.x
brandonkelly Dec 23, 2025
0a93aed
Better Twig exception handling
riasvdv Dec 23, 2025
c974049
Improve performance of IconServiceProvider
riasvdv Dec 23, 2025
82d1e1a
Fix case where handler can be a console exception handler
riasvdv Dec 23, 2025
3f5ba50
Element-based editability conditions
brandonkelly Dec 24, 2025
2375682
Check for well-known hostnames/IPs
brandonkelly Dec 24, 2025
7e0eb0d
Include `href` in LinkData::getAttributes()
brandonkelly Dec 24, 2025
425fdc4
Refactor FieldLayout::getCardBodyElements()
brandonkelly Dec 28, 2025
8539230
Release notes
brandonkelly Dec 29, 2025
3f43996
Merge pull request #18203 from craftcms/chore/refactor-getCardBodyEle…
brandonkelly Dec 29, 2025
cfd6ba0
escape entry type label
i-just Dec 29, 2025
fcef3d0
More getCardBodyElements() refactoring
brandonkelly Dec 29, 2025
e97d8ac
Deprecate getCardBodyFields() too
brandonkelly Dec 29, 2025
07e86e2
Drop the previewable indicator
brandonkelly Dec 29, 2025
e002aa3
Remove custom fields’ card view checkboxes when removed from field la…
brandonkelly Dec 30, 2025
aa66911
Merge branch '5.x' into 5.9
brandonkelly Dec 30, 2025
28fabc6
Support including nested content block fields in cards
brandonkelly Dec 30, 2025
2457d25
Call updateThumbnailDropdown() before removeCheckbox()
brandonkelly Dec 30, 2025
5c7b81b
Cleanup
brandonkelly Dec 30, 2025
419bcd0
Merge branch '5.9' into brandon/cms-1740-allow-nested-content-block-f…
brandonkelly Dec 30, 2025
2a9b7cc
`/` → `.`
brandonkelly Dec 30, 2025
76ad184
Release note
brandonkelly Dec 30, 2025
e838a22
Merge commit from fork
brandonkelly Dec 30, 2025
9d9b46a
Merge branch '4.x' of https://github.com/craftcms/cms into 5.x
brandonkelly Dec 30, 2025
0638c25
Merge branch '5.x' into 5.9
brandonkelly Dec 30, 2025
75dde3e
Merge branch '5.9' into brandon/cms-1740-allow-nested-content-block-f…
brandonkelly Dec 30, 2025
636cfb5
Field layout refactoring
brandonkelly Dec 31, 2025
84cc8bc
completely move away from setting includeInCards/providesThumbs
brandonkelly Dec 31, 2025
90e2ac4
Fix PHP error
brandonkelly Dec 31, 2025
0078d5f
Drop unnecessary input names
brandonkelly Dec 31, 2025
dbd87fe
Release notes
brandonkelly Dec 31, 2025
e37c9aa
Merge pull request #18206 from craftcms/brandon/cms-1740-allow-nested…
brandonkelly Dec 31, 2025
4a86923
Merge branch '4.x' into 4.17
brandonkelly Jan 2, 2026
ad737cb
Disallow non-Closure arrow functions
brandonkelly Jan 2, 2026
acd8307
enableTwigSandbox config setting
brandonkelly Jan 2, 2026
a846cc8
false by default
brandonkelly Jan 2, 2026
4ab0179
Merge pull request #18208 from craftcms/feature/disallow-string-arrows
brandonkelly Jan 2, 2026
90c79ce
Release note
brandonkelly Jan 2, 2026
354ef3b
Merge branch '4.17' of https://github.com/craftcms/cms into 5.9
brandonkelly Jan 2, 2026
62c4fb3
Merge branch '5.x' into advisory-fix-1
brandonkelly Jan 3, 2026
61e2882
Merge commit from fork
brandonkelly Jan 3, 2026
97c9c48
link GHSAs in changelog
angrybrad Jan 5, 2026
82c9aef
link GHSAs in changelog
angrybrad Jan 5, 2026
18d1c17
Merge branch '5.9' into 6.x
riasvdv Jan 5, 2026
4f88185
Update facades
riasvdv Jan 5, 2026
f1a8c99
Update Facade docblocks
riasvdv Jan 5, 2026
a6bc4c3
Deprecate enableTwigSandbox()
riasvdv Jan 5, 2026
de5d01d
$isRevision
brandonkelly Jan 5, 2026
dd59efd
Merge branch '4.x' into 4.17
brandonkelly Jan 5, 2026
4d98a07
Make `@parseRefs` optional
brandonkelly Jan 5, 2026
fe6f8f3
Merge commit from fork
brandonkelly Jan 5, 2026
1298bd4
Merge branch '5.x' into 5.9
brandonkelly Jan 5, 2026
094882c
Merge branch '4.17' of https://github.com/craftcms/cms into 5.9
brandonkelly Jan 5, 2026
e31e508
Restrict create() to BaseObject classes
brandonkelly Jan 5, 2026
3536086
Merge commit from fork
brandonkelly Jan 5, 2026
315f5f8
Merge branch '4.17' of https://github.com/craftcms/cms into 5.9
brandonkelly Jan 5, 2026
3d73108
Merge branch '5.9' into 6.x
riasvdv Jan 6, 2026
798836f
All functions working
brianjhanson Jan 6, 2026
cccebd3
Remove unused function
brianjhanson Jan 6, 2026
ce9f2be
Formatting
brianjhanson Jan 6, 2026
809604b
Merge branch '6.x' of github.com:craftcms/cms into feature/cms-1677-r…
brianjhanson Jan 6, 2026
061fbd3
Merge branch 'feature/cms-1677-refactor-t-function' of github.com:cra…
brianjhanson Jan 6, 2026
81ec9b0
Fix order jumping of groups
brianjhanson Jan 6, 2026
add7c10
Build assets
brianjhanson Jan 6, 2026
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
11 changes: 8 additions & 3 deletions .github/workflows/facades.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup PHP
uses: shivammathur/setup-php@v2
Expand Down Expand Up @@ -57,17 +57,22 @@ jobs:
php -f vendor/bin/facade.php -- \
CraftCms\\Cms\\Support\\Facades\\Announcements \
CraftCms\\Cms\\Support\\Facades\\Deprecator \
CraftCms\\Cms\\Support\\Facades\\Entries \
CraftCms\\Cms\\Support\\Facades\\EntryTypes \
CraftCms\\Cms\\Support\\Facades\\Fields \
CraftCms\\Cms\\Support\\Facades\\I18N \
CraftCms\\Cms\\Support\\Facades\\ProjectConfig \
CraftCms\\Cms\\Support\\Facades\\Sections \
CraftCms\\Cms\\Support\\Facades\\SiteGroups \
CraftCms\\Cms\\Support\\Facades\\Sites \
CraftCms\\Cms\\Support\\Facades\\Structures \
CraftCms\\Cms\\Support\\Facades\\Updates \
CraftCms\\Cms\\Support\\Facades\\UserGroups
CraftCms\\Cms\\Support\\Facades\\UserGroups \
CraftCms\\Cms\\Support\\Facades\\UserPermissions \
CraftCms\\Cms\\Support\\Facades\\Users

- name: Commit facade docblocks
uses: stefanzweifel/git-auto-commit-action@v5
uses: stefanzweifel/git-auto-commit-action@v7
with:
commit_message: Update facade docblocks
file_pattern: src/
17 changes: 13 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,21 @@

## Unreleased

- User queries now always return active, non-pending users first, unless otherwise specified by `orderBy`. ([#18148](https://github.com/craftcms/cms/issues/18148))
- The `utils/fix-field-layout-uids` command now checks for duplicate top-level field layout UUIDs. ([#18193](https://github.com/craftcms/cms/pull/18193))
- Fixed a bug where all plugin settings were being saved to the project config, rather than just posted settings. ([craftcms/commerce#4006](https://github.com/craftcms/commerce/issues/4006))
- Fixed a bug where custom selects could be positioned incorrectly after the window was resized. ([#18179](https://github.com/craftcms/cms/issues/18179))
- Fixed a bug where Matrix fields’ Entry Types settings were partially interactive when admin changes were disallowed. ([#18145](https://github.com/craftcms/cms/pull/18145))
- Fixed a bug where users could be unable to sign in if an inactive user account existed with the same email address. ([#18148](https://github.com/craftcms/cms/issues/18148))
- Fixed a bug where Content Block fields could appear to be missing their content when viewing a revision. ([#18149](https://github.com/craftcms/cms/issues/18149))
- Fixed a bug where Dropdown and Radio Button fields weren’t handling `:empty:`/`:notempty:` element query params properly for options with blank values. ([#18156](https://github.com/craftcms/cms/issues/18156))
- Fixed a bug where chip icons were getting rounded. ([#18163](https://github.com/craftcms/cms/pull/18163))
- Fixed a bug where object templates that included another template were missing variables. ([#18165](https://github.com/craftcms/cms/issues/18165))
- Fixed a JavaScript error that could occur if two control panel animations were triggered simultaneously.
- Fixed a bug where it wasn’t possible to copy/paste nested entries within Matrix fields set to the inline-editable blocks view mode, for unpublished owner elements. ([#18185](https://github.com/craftcms/cms/pull/18185))
- Fixed a bug where custom fields’ checkboxes weren’t getting removed from field layouts’ “Card Attributes” lists when removed from the layout.
- Fixed an SSRF vulnerability. (GHSA-96pq-hxpw-rgh8)
- Fixed an XSS vulnerability. (GHSA-7pr4-wx9w-mqwr)

## 5.8.21 - 2025-12-04

Expand All @@ -20,10 +29,10 @@
- Fixed a bug where relation fields weren’t handling `:empty:`/`:notempty:` element query params properly if the field had multiple instances within a field layout. ([#18092](https://github.com/craftcms/cms/pull/18092))
- Fixed a bug where user preferences were being respected for users who formerly had access to the control panel.
- Fixed a bug where nested entries could be reordered when their owner element was resaved programmatically. ([#18121](https://github.com/craftcms/cms/pull/18121))
- Fixed RCE vulnerabilities. (GHSA-255j-qw47-wjh5, GHSA-742x-x762-7383)
- Fixed an SSRF vulnerability. (GHSA-x27p-wfqw-hfcc)
- Fixed a DoS vulnerability. (GHSA-v64r-7wg9-23pr)
- Fixed an information disclosure vulnerability. (GHSA-53vf-c43h-j2x9)
- Fixed RCE vulnerabilities. ([GHSA-255j-qw47-wjh5](https://github.com/craftcms/cms/security/advisories/GHSA-255j-qw47-wjh5), [GHSA-742x-x762-7383](https://github.com/craftcms/cms/security/advisories/GHSA-742x-x762-7383))
- Fixed an SSRF vulnerability. ([GHSA-x27p-wfqw-hfcc](https://github.com/craftcms/cms/security/advisories/GHSA-x27p-wfqw-hfcc))
- Fixed a DoS vulnerability. ([GHSA-v64r-7wg9-23pr](https://github.com/craftcms/cms/security/advisories/GHSA-v64r-7wg9-23pr))
- Fixed an information disclosure vulnerability. ([GHSA-53vf-c43h-j2x9](https://github.com/craftcms/cms/security/advisories/GHSA-53vf-c43h-j2x9))

## 5.8.20 - 2025-11-18

Expand Down
49 changes: 49 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,55 @@ If you want to help improve Craft’s translations, [sign up to be a translator]

If you would like to work on a new core feature or improvement, first create a [GitHub issue](https://github.com/craftcms/cms/issues) for it if there’s not one already. As much as we appreciate community contributions, we are pretty selective about which sorts of features should make it into Craft itself rather than a plugin, so don’t take it the wrong way if we advise you to pursue the idea as a plugin instead.

## Control Panel Front End

In order to work on the control panel front end, we recommend opening two terminal windows.

1. Run `npm run dev` in one window to start the Vite development server.
2. Run `npm run dev:cp` in the other window to start the Vite process for the `@craftcms/cp` package.

With both processes running, you'll be able to work on most aspects of the control panel.

If getting into the weeds is your thing, more detail on these pieces is provided below.

### Control Panel Assets

The assets specific to the control panel live in the `resources` folder. Those are built using a fairly typical Vite setup. To develop assets for the control panel, there are two commands:
```shell
# Run the Vite development server
npm run dev

# Build assets for production
npm run build
```

### `@craftcms/cp` package

The control panel is largely backed by web components that live in the `@craftcms/cp` package within the `packages/craftcms-cp` directory. Like other packages, it has its own build process that can be run independently of the control panel.
```shell
# Run the build in watch mode. Assets will be rebuilt on every change
npm run dev:cp

# Run the build for production
npm run build:cp
```

In practice, you rarely work on one without the other, so we recommend having two terminal panes open. One running the main control panel assets build and another building the web components.

### Legacy Bundles

> [!NOTE]
> Updating the legacy bundles should be a rare occurrence. Avoid when possible.

All the styles and scripts used to support the control panel up until Craft 5 live in the [yii2-adapter](https://github.com/craftcms/yii2-adapter) package. That package has its own NPM dependencies and build process, but because it's common to have that package symlinked into your Craft 6 project, you're able to run the build scripts via the `build:bundles` command.
```sh
# Build assets for production
npm run build:bundles

# Run dev server to develop a specific package
npm run dev:bundles -- -- --config-name=cp
```

## Pull Requests

Pull requests should clearly describe the problem and solution. Include the relevant issue number if there is one. If the pull request fixes a bug, it should include a new test case that demonstrates the issue, if possible.
Expand Down
33 changes: 33 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"prebuild": "npm run fix-prettier",
"build": "vite build",
"dev": "vite",
"build:bundles": "cd yii2-adapter && npm run build",
"dev:bundles": "cd yii2-adapter && npm run dev",
"serve:bundles": "cd yii2-adapter && npm run serve",
"dev:cp": "npm run dev -w @craftcms/cp",
"build:cp": "npm run build -w @craftcms/cp",
"test:cp": "npm run test -w @craftcms/cp",
"storybook:cp": "npm run storybook -w @craftcms/cp",
"build:bundles": "cd ./yii2-adapter && npm run build",
"dev:bundles": "cd ./yii2-adapter && npm run dev",
"serve:bundles": "cd ./yii2-adapter && npm run serve",
"dev:cp": "cd ./packages/craftcms-cp && npm run dev",
"build:cp": "cd ./packages/craftcms-cp && npm run build",
"test:cp": "cd ./packages/craftcms-cp && npm run test",
"storybook:cp": "cd ./packages/craftcms-cp && npm run storybook",
"build:all": "npm run build:bundles && npm run build:cp && npm run build"
},
"workspaces": [
Expand Down Expand Up @@ -53,6 +53,7 @@
"dependencies": {
"@craftcms/cp": "file:packages/craftcms-cp",
"@inertiajs/vue3": "^2.2.7",
"@tanstack/vue-table": "^8.21.3",
"@vueuse/core": "^14.0.0",
"axios": "^1.13.2",
"laravel-vite-plugin": "^2.0.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {html, LitElement, nothing} from 'lit';
import {property} from 'lit/decorators.js';
import styles from './action-item.styles.js';
import {Variant, type VariantKey} from '@/types';
import variantsStyles from '@/styles/variants.styles';
import {Variant, type VariantKey} from '@src/types';
import variantsStyles from '@src/styles/variants.styles';

/**
* @summary Either a link or button typically used in a menu.
Expand All @@ -12,7 +12,7 @@ export default class CraftActionItem extends LitElement {
@property() icon: string | null = null;
@property() href: string | null = null;
@property({type: Boolean}) disabled: boolean = false;
@property() variant: VariantKey = Variant.Default;
@property({reflect: true}) variant: VariantKey = Variant.Default;

renderBody() {
return html`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit';
import {OverlayMixin, withDropdownConfig} from '@lion/ui/overlays.js';
import {queryAssignedElements} from 'lit/decorators.js';
import type CraftActionItem from '@/components/action-item/action-item';
import type CraftActionItem from '@src/components/action-item/action-item';
import {uuid} from '@lion/ui/core.js';

/**
Expand All @@ -13,6 +13,8 @@ import {uuid} from '@lion/ui/core.js';
export default class CraftActionMenu extends OverlayMixin(LitElement) {
static override styles = css`
::slotted([slot='content']) {
font-size: var(--c-text-base);
font-weight: 400;
display: grid;
gap: var(--c-spacing-xs);
border: 1px solid var(--c-color-neutral-border-subtle);
Expand Down
3 changes: 2 additions & 1 deletion packages/craftcms-cp/src/components/button/button.styles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export default css`
align-items: center;
border-radius: var(--c-button-radius, var(--c-radius-sm));
color: var(--c-button-fg, inherit);
padding-inline: var(--c-button-spacing-inline, var(--c-spacing-lg));
padding-inline: var(--c-button-spacing-inline, var(--c-spacing-md));
padding-block: 0;
width: auto;
min-height: var(--c-button-height, var(--c-size-control-md));
Expand Down Expand Up @@ -46,6 +46,7 @@ export default css`
padding-inline: var(--c-spacing-sm);
min-width: var(--c-size-control-sm);
min-height: var(--c-size-control-sm);
font-size: 0.9em;

craft-icon {
font-size: 0.8em;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {Meta, StoryObj} from '@storybook/web-components-vite';
import {html} from 'lit';

import './callout.js';
import {Variant, Appearance} from '@/types';
import {Appearance, Variant} from '@src/types';

const variants = Object.values(Variant);
const appearances = Object.values(Appearance);
Expand Down
4 changes: 2 additions & 2 deletions packages/craftcms-cp/src/components/callout/callout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import {
type AppearanceKey,
Variant,
type VariantKey,
} from '@/types/index.js';
import variantsStyles from '@/styles/variants.styles';
} from '@src/types/index.js';
import variantsStyles from '@src/styles/variants.styles.js';

export default class CraftCallout extends LitElement {
static override styles: CSSResultGroup = [variantsStyles, styles];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {Meta, StoryObj} from '@storybook/web-components-vite';
import {html} from 'lit';

import './indicator.js';
import {Variant} from '@/types';
import {Variant} from '@src/types';

// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
const meta = {
Expand Down
7 changes: 3 additions & 4 deletions packages/craftcms-cp/src/components/indicator/indicator.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {LitElement, html, css} from 'lit';
import {css, html, LitElement} from 'lit';
import {property} from 'lit/decorators.js';
import {Variant, type VariantKey} from '@/types';
import {Variant, type VariantKey} from '@src/types';
import {classMap} from 'lit/directives/class-map.js';
import variantsStyles from '@/styles/variants.styles';
import CraftCombobox from '@/components/combobox/combobox';
import variantsStyles from '@src/styles/variants.styles';

export default class CraftIndicator extends LitElement {
static override styles = [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {LionInputFile} from '@lion/ui/input-file.js';
import {inputStyles} from '@/styles/form.styles';
import {inputStyles} from '@src/styles/form.styles';
import styles from './input-file.styles.js';
import CraftSelectedFileList from './selected-file-list.js';
import {html} from 'lit';
Expand Down
2 changes: 1 addition & 1 deletion packages/craftcms-cp/src/components/input/input.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {LionInput} from '@lion/ui/input.js';
import {inputStyles} from '@/styles/form.styles';
import {inputStyles} from '@src/styles/form.styles';
import styles from './input.styles.js';
import {property} from 'lit/decorators.js';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,21 @@ export default css`
.nav-item {
display: grid;
gap: var(--c-spacing-md);
grid-template-columns: calc(24rem / 16) 1fr auto;
grid-template-columns: 1fr auto;
align-items: center;
text-decoration: none;
color: inherit;
padding-inline: var(--c-spacing-sm);
padding-inline: var(--c-spacing-md);
padding-block: var(--c-spacing-sm);
border-radius: var(--c-radius-md);
position: relative;
}

.nav-item--prefixed {
padding-inline: var(--c-spacing-sm);
grid-template-columns: calc(24rem / 16) 1fr auto;
}

:host([active]) .nav-item {
&:before {
content: '';
Expand Down
Loading
Loading