{"version":3,"file":"states.css.cjs","names":[],"sources":["../../../src/styles/mixins/states.css.ts"],"sourcesContent":["import { css } from '@vielzeug/ore';\n\n/**\n * Disabled State Mixin\n *\n * Reduces opacity and shows `not-allowed` cursor on the host.\n * `pointer-events: none` is placed on the inner slot so the host stays\n * hoverable (e.g. for tooltips that explain why the control is disabled).\n */\nexport const disabledStateMixin = css`\n  :host([disabled]) {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n\n  :host([disabled]) ::slotted(*),\n  :host([disabled]) > :not(slot) {\n    pointer-events: none;\n  }\n`;\n\n/**\n * Loading State Mixin\n *\n * Shows `wait` cursor on the host; blocks pointer events on inner content.\n */\nexport const loadingStateMixin = css`\n  :host([loading]) {\n    opacity: 0.5;\n    cursor: wait;\n  }\n\n  :host([loading]) ::slotted(*),\n  :host([loading]) > :not(slot) {\n    pointer-events: none;\n  }\n`;\n\n/**\n * Combined Disabled & Loading State Mixin\n *\n * Convenience mixin combining both disabled and loading host states.\n * Use for most interactive components that support both attributes.\n *\n * - Host receives the correct cursor (not-allowed / wait) and remains\n *   hoverable so external tooltip wrappers can still fire pointer events.\n * - Inner shadow-DOM children have pointer-events disabled so they refuse\n *   clicks while the host cursor signal is still visible.\n */\nexport const disabledLoadingMixin = css`\n  :host([disabled]),\n  :host([loading]) {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n\n  :host([loading]) {\n    cursor: wait;\n  }\n\n  :host([disabled]) > :not(slot),\n  :host([loading]) > :not(slot) {\n    pointer-events: none;\n  }\n`;\n"],"mappings":"+BASA,IAAa,EAAqB,EAAA,GAAG;;;;;;;;;;EAiBJ,EAAA,GAAG;;;;;;;;;;EAuBpC,IAAa,EAAuB,EAAA,GAAG"}