@layer components { /* Editor */ house-md { --placeholder: attr(placeholder); display: flex; flex-direction: column; flex-grow: 1; &:invalid { border: var(--color-negative) 2px solid; } } /* Toolbar */ house-md-toolbar { background-color: inherit; border-block-end: 1px solid var(--color-ink-medium); border-radius: 0; color: currentColor; display: inline-flex; font-size: inherit; max-inline-size: 100%; overflow-x: auto; padding: 0.2em; button, label { aspect-ratio: 4/3; appearance: none; background-color: transparent; block-size: 2em; border: none; border-radius: 0.5em; color: currentColor; cursor: pointer; display: grid; font-size: inherit; inline-size: auto; place-items: center; transition: background-color 300ms ease; svg { -webkit-touch-callout: none; block-size: 0.9em; fill: currentColor; grid-area: 1/1; inline-size: auto; user-select: none; } &:is(:focus, :hover) { background-color: var(--color-ink-lighter); } &:is(:active) { background-color: var(--color-selected); } } } /* Markdown Content */ .house-md-content { flex-grow: 1; font-family: var(--font-sans); text-align: left; white-space: break-spaces; padding: 1rem; &.house-md-content-empty::before { content: var(--placeholder); color: currentColor; opacity: 0.5; pointer-events: none; display: block; } &:active, &:focus { border: none; outline: none; } .link, .img { color: var(--color-link); text-decoration: underline; } } /* Uploads */ house-md-upload { border-radius: 0.5em; margin-block: 0.5ex; position: relative; &[status="failed"] { background-color: var(--color-negative); color: var(--color-ink-inverted); font-weight: bold; padding: 0.5em; } } .md-close { appearance: none; display: none; inline-size: 1em; block-size: 1em; border: none; outline: none; background-color: transparent; position: absolute; inset: 0.5em 0.5em auto auto; cursor: pointer; house-md-upload[status="failed"] & { color: var(--color-ink-inverted); display: inline-block; } &::before { content: '×'; color: var(--color-ink-inverted); font-size: 24px; font-weight: bold; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } } .md-file { font-weight: normal; house-md-upload[status="complete"] & { color: var(--color-positive); } } .md-progress-bar { -webkit-appearance: none; appearance: none; background-color: var(--color-ink-lighter); border-radius: 0.5em; block-size: 1ex; display: block; inline-size: 100%; line-height: inherit; margin: 0; house-md-upload[status="failed"] & , house-md-upload[status="complete"] &{ display: none; } &::-webkit-progress-bar { border-radius: 0.5em; background-color: var(--color-ink-lighter); } &::-webkit-progress-inner-element { border-radius: 0.5em; } &::-webkit-progress-value { border-radius: 0.5em; background-color: var(--color-positive); } &::-moz-progress-bar { border-radius: 0.5em; background-color: var(--color-positive); } } }