UNPKG

typesense-minibar

Version:
246 lines (213 loc) 7.77 kB
/*! https://github.com/jquery/typesense-minibar 1.3.4 */ .tsmb-form, typesense-minibar { --tsmb-size-edge: 1px; --tsmb-size-radius: 3px; --tsmb-size-highlight: 2px; --tsmb-size-base: 1rem; --tsmb-size-sm: 0.8rem; --tsmb-size-half: calc(var(--tsmb-size-sm)/2); --tsmb-size-input: calc(var(--tsmb-size-base) * 1.2); --tsmb-size-listbox-right: auto; --tsmb-size-listbox-width: calc(min(30rem, 60vw)); --tsmb-size-listbox-max-height: 70vh; --tsmb-color-base-background: #fff; --tsmb-color-base30: #333; --tsmb-color-base50: #63676d; --tsmb-color-base90: #cdcdcd; --tsmb-color-focus-background: #fff; --tsmb-color-focus30: #333; --tsmb-color-focus50: #63676d; --tsmb-color-focus90: #cdcdcd; --tsmb-color-primary30: #390f39; --tsmb-color-primary50: #9c3493; --tsmb-color-primary90: #fbdbfb; max-width: 100%; } .tsmb-form, typesense-minibar form { position: relative; width: 20rem; max-width: 100%; padding: 0; color: var(--tsmb-color-base30); } .tsmb-form input[type=search], typesense-minibar input[type=search] { box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; appearance: none; color: inherit; background: var(--tsmb-color-base-background); padding: var(--tsmb-size-sm) var(--tsmb-size-sm) var(--tsmb-size-sm) calc(var(--tsmb-size-base) + var(--tsmb-size-sm) + var(--tsmb-size-sm)); border: var(--tsmb-size-edge) solid var(--tsmb-color-base90); border-radius: var(--tsmb-size-radius); font-size: var(--tsmb-size-base); width: 100%; line-height: var(--tsmb-size-input); } .tsmb-form input[type=search]::placeholder, typesense-minibar input[type=search]::placeholder { color: var(--tsmb-color-base50); opacity: 1; } .tsmb-form:focus-within, typesense-minibar form:focus-within { color: var(--tsmb-color-focus30); } .tsmb-form:focus-within input[type=search], typesense-minibar:focus-within input[type=search] { background: var(--tsmb-color-focus-background); } .tsmb-form:focus-within input[type=search]::placeholder, typesense-minibar:focus-within input[type=search]::placeholder { color: var(--tsmb-color-focus50); } .tsmb-form input[type=search]::-webkit-search-decoration, .tsmb-form input[type=search]::-webkit-search-cancel-button, .tsmb-form input[type=search]::-webkit-search-results-button, .tsmb-form input[type=search]::-webkit-search-results-decoration, typesense-minibar input[type=search]::-webkit-search-decoration, typesense-minibar input[type=search]::-webkit-search-cancel-button, typesense-minibar input[type=search]::-webkit-search-results-button, typesense-minibar input[type=search]::-webkit-search-results-decoration { display: none; } .tsmb-form::before, typesense-minibar form::before { content: ''; background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='654 -372 1664 1664' width='20' height='20'><path d='M1806,332c0-123.3-43.8-228.8-131.5-316.5C1586.8-72.2,1481.3-116,1358-116s-228.8,43.8-316.5,131.5 C953.8,103.2,910,208.7,910,332s43.8,228.8,131.5,316.5C1129.2,736.2,1234.7,780,1358,780s228.8-43.8,316.5-131.5 C1762.2,560.8,1806,455.3,1806,332z M2318,1164c0,34.7-12.7,64.7-38,90s-55.3,38-90,38c-36,0-66-12.7-90-38l-343-342 c-119.3,82.7-252.3,124-399,124c-95.3,0-186.5-18.5-273.5-55.5s-162-87-225-150s-113-138-150-225S654,427.3,654,332 s18.5-186.5,55.5-273.5s87-162,150-225s138-113,225-150S1262.7-372,1358-372s186.5,18.5,273.5,55.5s162,87,225,150s113,138,150,225 S2062,236.7,2062,332c0,146.7-41.3,279.7-124,399l343,343C2305.7,1098.7,2318,1128.7,2318,1164z'/></svg>") 0 50% / contain no-repeat; position: absolute; top: calc(var(--tsmb-size-edge) + var(--tsmb-size-sm)); left: var(--tsmb-size-sm); width: var(--tsmb-size-base); height: var(--tsmb-size-input); opacity: 0.5; } /* js only */ .tsmb-form--open input[type=search], .tsmb-form--slash input[type=search] { padding-right: calc(var(--tsmb-size-sm) + var(--tsmb-size-base) + var(--tsmb-size-base)); } .tsmb-icon-close { box-sizing: border-box; position: absolute; top: calc(var(--tsmb-size-edge) + var(--tsmb-size-sm) + (var(--tsmb-size-input)/2) - (var(--tsmb-size-base)/2)); right: var(--tsmb-size-base); width: var(--tsmb-size-base); height: var(--tsmb-size-base); stroke: currentColor; border: 1px solid currentColor; border-radius: 50%; cursor: pointer; } form:not(.tsmb-form--open) .tsmb-icon-close { display: none; } .tsmb-form--slash:not(.tsmb-form--open):not(:focus-within)::after { content: '/'; display: inline-block; position: absolute; top: calc(50% - (var(--tsmb-size-input) + var(--tsmb-size-sm)/2)/2); right: var(--tsmb-size-sm); width: calc(var(--tsmb-size-input) + var(--tsmb-size-sm)/2); height: calc(var(--tsmb-size-input) + var(--tsmb-size-sm)/2); font-size: var(--tsmb-size-base); line-height: calc(var(--tsmb-size-input) + var(--tsmb-size-sm)/2); text-align: center; background: var(--tsmb-color-base-background); border: var(--tsmb-size-edge) solid var(--tsmb-color-base90); border-radius: var(--tsmb-size-radius); color: var(--tsmb-color-base90); } .tsmb-form [role=listbox], typesense-minibar [role=listbox] { position: absolute; z-index: 10; right: var(--tsmb-size-listbox-right); background: var(--tsmb-color-focus-background); color: var(--tsmb-color-focus30); margin-top: var(--tsmb-size-half); min-width: 100%; width: var(--tsmb-size-listbox-width); max-height: var(--tsmb-size-listbox-max-height); overflow: auto; border: var(--tsmb-size-edge) solid var(--tsmb-color-focus90); border-radius: var(--tsmb-size-radius); box-shadow: 0 var(--tsmb-size-sm) 20px rgba(0,0,0,0.12); } .tsmb-suggestion_group { margin: var(--tsmb-size-sm) var(--tsmb-size-base) 0 var(--tsmb-size-base); border-bottom: var(--tsmb-size-edge) solid var(--tsmb-color-focus90); } .tsmb-form [role=option] a, typesense-minibar [role=option] a { display: block; padding: var(--tsmb-size-base); text-decoration: none; border-left: var(--tsmb-size-highlight) solid transparent; } .tsmb-form:not([data-group=true]) [role=option]:not(:first-child) a, typesense-minibar:not([data-group=true]) [role=option]:not(:first-child) a { border-top: var(--tsmb-size-edge) solid var(--tsmb-color-focus90); } .tsmb-form[data-group=true] [role=option] a, typesense-minibar[data-group=true] [role=option] a { margin: 0 var(--tsmb-size-base); padding: var(--tsmb-size-sm); } .tsmb-form [role=option] a:hover, .tsmb-form [role=option][aria-selected=true] a, typesense-minibar [role=option] a:hover, typesense-minibar [role=option][aria-selected=true] a { background: var(--tsmb-color-primary90); border-left-color: var(--tsmb-color-primary50); } .tsmb-form [role=option] mark, typesense-minibar [role=option] mark { background: none; color: inherit; font-style: normal; font-weight: bold; } .tsmb-suggestion_group, .tsmb-suggestion_title, .tsmb-suggestion_content { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tsmb-suggestion_title { color: var(--tsmb-color-primary30); } .tsmb-form[data-group=true] .tsmb-suggestion_title, typesense-minibar[data-group=true] .tsmb-suggestion_title { font-weight: bold; font-size: var(--tsmb-size-sm); } .tsmb-suggestion_content { font-size: var(--tsmb-size-sm); color: var(--tsmb-color-focus50); } .tsmb-empty { padding: var(--tsmb-size-base); } .tsmb-foot, .tsmb-foot:hover { display: block; text-align: right; font-size: var(--tsmb-size-sm); line-height: 18px; padding: var(--tsmb-size-half) var(--tsmb-size-sm); box-shadow: 0 0 10px rgba(0,0,0,0.12); text-decoration: none; } .tsmb-foot::before { content: 'Search by'; color: var(--tsmb-color-focus50); } .tsmb-foot::after { content: ' Typesense'; color: #0300b0; }