Skip to content

Published CSS contains unresolved Vue :deep() selectors, causing Vite/Lightning CSS build warnings #1

Description

@skreis

Greetings! I've been trying to understand the relationship between warnings that are emitted in a project after beginning to use the vue-gantt package and I think I've tracked it down to the following:

@svar-ui/vue-core@2.6.0 publishes CSS containing Vue SFC-only :deep() selectors nested inside CSS functional pseudo-classes. Because :deep() is not valid browser CSS, downstream Vite builds using Lightning CSS emit warnings such as:

[lightningcss minify] 'deep' is not recognized as a valid pseudo-class.
Did you mean '::deep' (pseudo-element) or is this a typo?

This affects consumers indirectly as well. For example, @svar-ui/vue-comments imports style.css in its full CSS entry point, so the invalid Core selectors are bundled into index.css.

Affected source files

Examples of emitted invalid CSS:

.wx-primary.wx-pressed:not(:deep([disabled]))
.wx-secondary:hover:not(:deep([disabled]))
.wx-counter:not(:deep(.wx-readonly)):has(:deep(.wx-input:focus))
.wx-counter:not(:deep(.wx-readonly)):not(:deep(.wx-disabled)) .wx-btn:active
.wx-counter.wx-error:has(:deep(.wx-input:focus))

Expected behavior

The published CSS should contain valid standard CSS only; Vue-specific :deep() syntax should not remain in distributed .css files

Suggested fix

These selectors target elements within the same component, so :deep() is unnecessary. For example:

- .wx-primary.wx-pressed:not(:deep([disabled]))
+ .wx-primary.wx-pressed:not([disabled])

- .wx-counter:not(:deep(.wx-readonly)):has(:deep(.wx-input:focus))
+ .wx-counter:not(.wx-readonly):has(.wx-input:focus)

- .wx-counter:not(:deep(.wx-readonly)):not(:deep(.wx-disabled)) .wx-btn:active
+ .wx-counter:not(.wx-readonly):not(.wx-disabled) .wx-btn:active

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions