primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
73 lines (70 loc) • 4.44 kB
JavaScript
import BaseStyle from 'primevue/base/style';
import { ObjectUtils } from 'primevue/utils';
var css = "\n@layer primevue {\n .p-autocomplete {\n display: inline-flex;\n }\n\n .p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n }\n\n .p-autocomplete-dd .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n\n .p-autocomplete-dd .p-autocomplete-input,\n .p-autocomplete-dd .p-autocomplete-multiple-container {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .p-autocomplete-dd .p-autocomplete-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0px;\n }\n\n .p-autocomplete .p-autocomplete-panel {\n min-width: 100%;\n }\n\n .p-autocomplete-panel {\n position: absolute;\n overflow: auto;\n top: 0;\n left: 0;\n }\n\n .p-autocomplete-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .p-autocomplete-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n\n .p-autocomplete-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-autocomplete-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n\n .p-autocomplete-token-icon {\n cursor: pointer;\n }\n\n .p-autocomplete-input-token {\n flex: 1 1 auto;\n display: inline-flex;\n }\n\n .p-autocomplete-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n }\n\n .p-fluid .p-autocomplete {\n display: flex;\n }\n\n .p-fluid .p-autocomplete-dd .p-autocomplete-input {\n width: 1%;\n }\n}\n";
var inlineStyles = {
root: {
position: 'relative'
}
};
var classes = {
root: function root(_ref) {
var instance = _ref.instance,
props = _ref.props;
return ['p-autocomplete p-component p-inputwrapper', {
'p-disabled': props.disabled,
'p-focus': instance.focused,
'p-autocomplete-dd': props.dropdown,
'p-autocomplete-multiple': props.multiple,
'p-inputwrapper-filled': props.modelValue || ObjectUtils.isNotEmpty(instance.inputValue),
'p-inputwrapper-focus': instance.focused,
'p-overlay-open': instance.overlayVisible
}];
},
input: function input(_ref2) {
var props = _ref2.props;
return ['p-autocomplete-input p-inputtext p-component', {
'p-autocomplete-dd-input': props.dropdown
}];
},
container: 'p-autocomplete-multiple-container p-component p-inputtext',
token: function token(_ref3) {
var instance = _ref3.instance,
i = _ref3.i;
return ['p-autocomplete-token', {
'p-focus': instance.focusedMultipleOptionIndex === i
}];
},
tokenLabel: 'p-autocomplete-token-label',
removeTokenIcon: 'p-autocomplete-token-icon',
inputToken: 'p-autocomplete-input-token',
loadingIcon: 'p-autocomplete-loader',
dropdownButton: 'p-autocomplete-dropdown',
panel: function panel(_ref4) {
var instance = _ref4.instance;
return ['p-autocomplete-panel p-component', {
'p-input-filled': instance.$primevue.config.inputStyle === 'filled',
'p-ripple-disabled': instance.$primevue.config.ripple === false
}];
},
list: 'p-autocomplete-items',
itemGroup: 'p-autocomplete-item-group',
item: function item(_ref5) {
var instance = _ref5.instance,
option = _ref5.option,
i = _ref5.i,
getItemOptions = _ref5.getItemOptions;
return ['p-autocomplete-item', {
'p-highlight': instance.isSelected(option),
'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions),
'p-disabled': instance.isOptionDisabled(option)
}];
},
emptyMessage: 'p-autocomplete-empty-message'
};
var AutoCompleteStyle = BaseStyle.extend({
name: 'autocomplete',
css: css,
classes: classes,
inlineStyles: inlineStyles
});
export { AutoCompleteStyle as default };