| |
|
|
| @use "loaders"; |
| @use "query-history-dropdown" as qh; |
| @use "lmf-readout" as lmf; |
|
|
| |
| .semantic-submode-row { |
| |
| --semantic-submode-control-block-size: calc(1lh + 6px + 2px); |
|
|
| display: flex; |
| align-items: center; |
| gap: 6px; |
|
|
| .semantic-submode-group { |
| display: flex; |
| align-items: center; |
| gap: 6px; |
|
|
| |
| |
| &[hidden] { |
| display: none !important; |
| } |
|
|
| &.semantic-submode-group-right { |
| margin-left: auto; |
| } |
|
|
| |
| &.semantic-submode-group--emphasis { |
| > .semantic-submode-label, |
| > .semantic-submode-select { |
| font-weight: 700; |
| } |
| } |
| } |
|
|
| .semantic-submode-label { |
| font-size: 9pt; |
| color: var(--text-muted); |
| } |
|
|
| label.semantic-submode-label:has(> input[type='checkbox']) { |
| display: inline-flex; |
| align-items: center; |
| gap: 6px; |
| box-sizing: border-box; |
| min-block-size: var(--semantic-submode-control-block-size); |
| cursor: pointer; |
| user-select: none; |
| } |
|
|
| input[type='checkbox'] { |
| margin: 0; |
| flex-shrink: 0; |
| cursor: pointer; |
| } |
|
|
| .semantic-submode-select { |
| box-sizing: border-box; |
| block-size: var(--semantic-submode-control-block-size); |
| padding: 3px 6px; |
| font-size: inherit; |
| font-weight: inherit; |
| line-height: 1.2; |
| border: 1px solid var(--input-border); |
| border-radius: 4px; |
| background: var(--input-bg); |
| color: var(--text-color); |
| min-width: 100px; |
| } |
|
|
| |
| .semantic-threshold-input, |
| .gen-attr-max-tokens-input { |
| box-sizing: border-box; |
| flex: 0 0 auto; |
| min-width: 0; |
| block-size: var(--semantic-submode-control-block-size); |
| padding: 3px 6px; |
| font-size: inherit; |
| line-height: 1.2; |
| border: 1px solid var(--input-border); |
| border-radius: 4px; |
| background: var(--input-bg); |
| color: var(--text-color); |
| text-align: right; |
| inline-size: 4rem; |
| max-inline-size: 100%; |
| width: 4em; |
| } |
| } |
|
|
| |
| .textarea-wrapper .semantic-submode-row.semantic-analysis-enable-row { |
| label.semantic-submode-label { |
| display: inline-flex; |
| align-items: center; |
| gap: 6px; |
| cursor: pointer; |
| user-select: none; |
| color: var(--text-primary, var(--text-color)); |
|
|
| &:has(> input[type='checkbox']:not(:checked)) { |
| color: var(--text-muted); |
| } |
| } |
|
|
| input[type='checkbox'] { |
| cursor: pointer; |
| margin: 0; |
| flex-shrink: 0; |
| } |
| } |
|
|
| |
| .semantic-analysis-section { |
| margin-top: 10px; |
| padding: 8px 0; |
| border-top: 1px solid var(--border-color); |
|
|
| .semantic-index-row { |
| display: flex; |
| align-items: center; |
| gap: 10px; |
| margin-bottom: 8px; |
|
|
| .semantic-index-model { |
| flex: 1 1 auto; |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| font-size: 8pt; |
| color: var(--text-muted); |
| min-width: 150px; |
| min-height: 32px; |
| text-align: center; |
| } |
|
|
| .semantic-index-model.is-hidden { |
| visibility: hidden; |
| opacity: 0; |
| } |
| } |
|
|
| .semantic-analysis-controls { |
| display: flex; |
| flex-direction: column; |
| gap: 8px; |
|
|
| .semantic-search-row { |
| display: flex; |
| gap: 8px; |
| align-items: center; |
| } |
|
|
| .semantic-search-actions { |
| display: flex; |
| flex-wrap: wrap; |
| align-items: center; |
| gap: 8px; |
| flex-shrink: 0; |
| min-width: 0; |
| } |
|
|
| .semantic-match-degree { |
| font-size: 9pt; |
| color: var(--text-muted, #666); |
| white-space: nowrap; |
| flex-shrink: 0; |
|
|
| :root[data-theme="dark"] & { |
| color: var(--text-muted, #999); |
| } |
| } |
|
|
| |
| .semantic-search-input-wrapper { |
| flex: 0 1 300px; |
| min-width: 100px; |
| max-width: 300px; |
| position: relative; |
| } |
|
|
| .semantic-search-input { |
| width: 100%; |
| box-sizing: border-box; |
| padding: 6px 28px 6px 10px; |
| font-family: inherit; |
| border: 1px solid var(--input-border); |
| border-radius: 4px; |
| background: var(--input-bg); |
| color: var(--text-color); |
| } |
|
|
| .semantic-search-clear { |
| position: absolute; |
| right: 6px; |
| top: 50%; |
| transform: translateY(-50%); |
| width: 16px; |
| height: 16px; |
| padding: 0; |
| outline: none; |
| display: none; |
| align-items: center; |
| justify-content: center; |
|
|
| &.is-visible { display: flex; } |
| } |
|
|
| .semantic-search-history-dropdown { |
| @include qh.query-history-dropdown; |
| } |
| } |
| } |
|
|
| |
| .semantic-index-loader { |
| @extend .loadersmall; |
| } |
|
|
| |
| .semantic-search-loader { |
| @extend .loadersmall; |
| } |
|
|
| |
| .semantic-debug-info { |
| margin-top: 8px; |
| padding: 8px; |
| font-size: 9pt; |
| color: var(--text-muted, #666); |
| border-top: 1px solid var(--border-color); |
| white-space: pre-wrap; |
| word-break: break-word; |
| overflow-wrap: break-word; |
| min-width: 0; |
| max-width: 100%; |
| box-sizing: border-box; |
|
|
| .semantic-debug-abbrev pre { |
| margin: 0 0 6px 0; |
| font-size: inherit; |
| white-space: pre-wrap; |
| word-break: break-word; |
| overflow-wrap: break-word; |
| max-width: 100%; |
| } |
|
|
| |
| .semantic-debug-topk-chart { |
| margin-top: 20px; |
| } |
| } |
|
|
| |
| .semantic-progress { |
| display: none; |
| font-size: 9pt; |
| color: var(--text-muted, #666); |
| white-space: nowrap; |
| line-height: 1.2; |
| flex-shrink: 0; |
|
|
| :root[data-theme="dark"] & { |
| color: var(--text-muted, #999); |
| } |
| } |
|
|