@profitliga/ui 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .combobox[data-v-621b3df7]{--combobox-field-height:2.5rem;--combobox-field-radius:.5rem;--combobox-font-size:.875rem;--combobox-line-height:1.25rem;--combobox-label-font-size:.875rem;--combobox-label-line-height:1rem;--combobox-border-color:var(--theme-neutral-border-default);flex-direction:column;display:flex}.combobox--small[data-v-621b3df7]{--combobox-field-height:2.25rem;--combobox-label-font-size:.75rem}.combobox--large[data-v-621b3df7]{--combobox-field-height:2.75rem;--combobox-field-radius:.75rem;--combobox-font-size:1rem;--combobox-line-height:1.5rem;--combobox-label-font-size:1rem;--combobox-label-line-height:1.25rem}.combobox__label[data-v-621b3df7]{font-weight:400;font-size:var(--combobox-label-font-size);line-height:var(--combobox-label-line-height);color:var(--theme-neutral-text-title);cursor:pointer;padding:.375rem .5rem}.combobox__field[data-v-621b3df7]{min-height:var(--combobox-field-height);background-color:var(--theme-neutral-0);border:.0625rem solid var(--combobox-border-color);border-radius:var(--combobox-field-radius);cursor:text;transition:border-color var(--animation-duration-fast) ease;align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex}.combobox__content[data-v-621b3df7]{flex:auto;align-items:center;gap:.25rem;min-width:0;display:flex}.combobox__input[data-v-621b3df7]{min-width:2rem;font-family:inherit;font-weight:400;font-size:var(--combobox-font-size);line-height:var(--combobox-line-height);color:var(--theme-neutral-text-body);text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:4rem;order:3;padding:0}@media (max-width:1009.98px){.combobox__input[data-v-621b3df7]{font-size:1rem}}.combobox__input[data-v-621b3df7]::placeholder{color:var(--theme-neutral-550)}.combobox__input[data-v-621b3df7]:disabled{color:var(--theme-neutral-text-disabled);cursor:not-allowed}.combobox__input[data-v-621b3df7]:disabled::placeholder{color:var(--theme-neutral-text-disabled)}.combobox__input[data-v-621b3df7]:read-only{cursor:pointer}.combobox__chips[data-v-621b3df7]{flex:0 auto;order:1;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.combobox__chip[data-v-621b3df7]{max-width:100%;height:1.125rem;color:var(--theme-neutral-text-subtitle);background-color:var(--theme-neutral-surface-icon);border-radius:.375rem;flex-shrink:0;align-items:center;gap:.5rem;padding:0 .375rem;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}.combobox__chip-label[data-v-621b3df7]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.combobox__chip-remove[data-v-621b3df7]{color:var(--theme-neutral-icon-caption);cursor:pointer;transition:color var(--animation-duration-fast) ease;background:0 0;border:none;align-items:center;margin:0;padding:0;display:flex}.combobox__chip-remove[data-v-621b3df7]:hover:not(:disabled){color:var(--theme-neutral-text-body)}.combobox__chip-remove[data-v-621b3df7]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.combobox__chip-remove[data-v-621b3df7]:disabled{cursor:not-allowed}.combobox__chip-icon[data-v-621b3df7],.combobox__chip-avatar[data-v-621b3df7]{flex-shrink:0;width:.75rem;height:.75rem}.combobox__chip-avatar[data-v-621b3df7]{object-fit:cover;border-radius:50%}.combobox__chip--measured[data-v-621b3df7]{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.combobox__chip--counter[data-v-621b3df7]{color:var(--theme-neutral-text-caption);flex-shrink:0;order:2}.combobox__arrow-button[data-v-621b3df7]{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0;display:flex}.combobox__arrow-button[data-v-621b3df7]:disabled{cursor:not-allowed}.combobox__arrow[data-v-621b3df7]{width:1.125rem;height:1.125rem;color:var(--theme-neutral-text-body);transition:transform var(--animation-duration-fast) ease}.combobox__message[data-v-621b3df7]{color:var(--theme-neutral-text-body);margin:0;padding:.25rem .5rem;font-size:.625rem;font-weight:400;line-height:1.2}.combobox[data-v-621b3df7]:hover:not(.combobox--disabled){--combobox-border-color:var(--theme-primary-300)}.combobox--open[data-v-621b3df7],.combobox--open[data-v-621b3df7]:hover{--combobox-border-color:var(--theme-primary-500)}.combobox--open .combobox__arrow[data-v-621b3df7]{transform:rotate(180deg)}.combobox--invalid[data-v-621b3df7]{--combobox-border-color:var(--theme-error-500)}.combobox--invalid .combobox__label[data-v-621b3df7],.combobox--invalid .combobox__message[data-v-621b3df7]{color:var(--theme-error-500)}.combobox--invalid[data-v-621b3df7]:hover:not(.combobox--disabled){--combobox-border-color:var(--theme-error-500)}.combobox--disabled[data-v-621b3df7]{--combobox-border-color:var(--theme-neutral-border-disabled)}.combobox--disabled .combobox__field[data-v-621b3df7]{cursor:not-allowed}.combobox--disabled .combobox__label[data-v-621b3df7],.combobox--disabled .combobox__message[data-v-621b3df7],.combobox--disabled .combobox__arrow[data-v-621b3df7]{color:var(--theme-neutral-text-disabled)}.combobox--disabled .combobox__label[data-v-621b3df7]{cursor:not-allowed}.combobox__field[data-v-621b3df7]:has(.combobox__input:focus-visible){outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.combobox-list[data-v-621b3df7]{flex-direction:column;display:flex}.combobox-list__search[data-v-621b3df7]{padding:.5rem .5rem 0}.combobox-list__scroll[data-v-621b3df7]{max-height:15rem;overflow-y:auto}.combobox-list__options[data-v-621b3df7]{flex-direction:column;gap:.5rem;height:max-content;padding:.5rem;display:flex}.combobox-list__option[data-v-621b3df7]{width:100%;min-height:2rem;color:var(--theme-neutral-text-title);text-align:left;cursor:pointer;transition:background-color var(--animation-duration-fast) ease;background-color:#0000;border-radius:.5rem;align-items:flex-start;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;display:flex}.combobox-list__option[data-v-621b3df7]:hover:not(.combobox-list__option--disabled),.combobox-list__option--active[data-v-621b3df7]{background-color:var(--theme-secondary-50)}.combobox-list__option--disabled[data-v-621b3df7]{cursor:not-allowed;opacity:.5}.combobox-list__label[data-v-621b3df7]{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.combobox-list__status[data-v-621b3df7]{color:var(--theme-neutral-text-caption);margin:0;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}
1
+ .combobox[data-v-a7d76bc3]{--combobox-field-height:2.5rem;--combobox-field-radius:.5rem;--combobox-font-size:.875rem;--combobox-line-height:1.25rem;--combobox-label-font-size:.875rem;--combobox-label-line-height:1rem;--combobox-border-color:var(--theme-neutral-border-default);flex-direction:column;display:flex}.combobox--small[data-v-a7d76bc3]{--combobox-field-height:2.25rem;--combobox-label-font-size:.75rem}.combobox--large[data-v-a7d76bc3]{--combobox-field-height:2.75rem;--combobox-field-radius:.75rem;--combobox-font-size:1rem;--combobox-line-height:1.5rem;--combobox-label-font-size:1rem;--combobox-label-line-height:1.25rem}.combobox__label[data-v-a7d76bc3]{font-weight:400;font-size:var(--combobox-label-font-size);line-height:var(--combobox-label-line-height);color:var(--theme-neutral-text-title);cursor:pointer;padding:.375rem .5rem}.combobox__field[data-v-a7d76bc3]{min-height:var(--combobox-field-height);background-color:var(--theme-neutral-0);border:.0625rem solid var(--combobox-border-color);border-radius:var(--combobox-field-radius);cursor:text;transition:border-color var(--animation-duration-fast) ease;align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex}.combobox__content[data-v-a7d76bc3]{flex:auto;align-items:center;gap:.25rem;min-width:0;display:flex}.combobox__input[data-v-a7d76bc3]{min-width:2rem;font-family:inherit;font-weight:400;font-size:var(--combobox-font-size);line-height:var(--combobox-line-height);color:var(--theme-neutral-text-body);text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:4rem;order:3;padding:0}@media (max-width:1009.98px){.combobox__input[data-v-a7d76bc3]{font-size:1rem}}.combobox__input[data-v-a7d76bc3]::placeholder{color:var(--theme-neutral-550)}.combobox__input[data-v-a7d76bc3]:disabled{color:var(--theme-neutral-text-disabled);cursor:not-allowed}.combobox__input[data-v-a7d76bc3]:disabled::placeholder{color:var(--theme-neutral-text-disabled)}.combobox__input[data-v-a7d76bc3]:read-only{cursor:pointer}.combobox__chips[data-v-a7d76bc3]{flex:0 auto;order:1;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.combobox__chip[data-v-a7d76bc3]{max-width:100%;height:1.125rem;color:var(--theme-neutral-text-subtitle);background-color:var(--theme-neutral-surface-icon);border-radius:.375rem;flex-shrink:0;align-items:center;gap:.5rem;padding:0 .375rem;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}.combobox__chip-label[data-v-a7d76bc3]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.combobox__chip-remove[data-v-a7d76bc3]{color:var(--theme-neutral-icon-caption);cursor:pointer;transition:color var(--animation-duration-fast) ease;background:0 0;border:none;align-items:center;margin:0;padding:0;display:flex}.combobox__chip-remove[data-v-a7d76bc3]:hover:not(:disabled){color:var(--theme-neutral-text-body)}.combobox__chip-remove[data-v-a7d76bc3]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.combobox__chip-remove[data-v-a7d76bc3]:disabled{cursor:not-allowed}.combobox__chip-icon[data-v-a7d76bc3],.combobox__chip-avatar[data-v-a7d76bc3]{flex-shrink:0;width:.75rem;height:.75rem}.combobox__chip-avatar[data-v-a7d76bc3]{object-fit:cover;border-radius:50%}.combobox__chip--measured[data-v-a7d76bc3]{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.combobox__chip--counter[data-v-a7d76bc3]{color:var(--theme-neutral-text-caption);flex-shrink:0;order:2}.combobox__clear-button[data-v-a7d76bc3]{color:var(--theme-neutral-icon-caption);cursor:pointer;transition:color var(--animation-duration-fast) ease;background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0;display:flex}.combobox__clear-button[data-v-a7d76bc3]:hover{color:var(--theme-neutral-text-body)}.combobox__clear-button[data-v-a7d76bc3]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:2px}.combobox__clear[data-v-a7d76bc3]{width:1rem;height:1rem}.combobox__arrow-button[data-v-a7d76bc3]{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;margin:0;padding:0;display:flex}.combobox__arrow-button[data-v-a7d76bc3]:disabled{cursor:not-allowed}.combobox__arrow[data-v-a7d76bc3]{width:1.125rem;height:1.125rem;color:var(--theme-neutral-text-body);transition:transform var(--animation-duration-fast) ease}.combobox__message[data-v-a7d76bc3]{color:var(--theme-neutral-text-body);margin:0;padding:.25rem .5rem;font-size:.625rem;font-weight:400;line-height:1.2}.combobox[data-v-a7d76bc3]:hover:not(.combobox--disabled){--combobox-border-color:var(--theme-primary-300)}.combobox--open[data-v-a7d76bc3],.combobox--open[data-v-a7d76bc3]:hover{--combobox-border-color:var(--theme-primary-500)}.combobox--open .combobox__arrow[data-v-a7d76bc3]{transform:rotate(180deg)}.combobox--invalid[data-v-a7d76bc3]{--combobox-border-color:var(--theme-error-500)}.combobox--invalid .combobox__label[data-v-a7d76bc3],.combobox--invalid .combobox__message[data-v-a7d76bc3]{color:var(--theme-error-500)}.combobox--invalid[data-v-a7d76bc3]:hover:not(.combobox--disabled){--combobox-border-color:var(--theme-error-500)}.combobox--disabled[data-v-a7d76bc3]{--combobox-border-color:var(--theme-neutral-border-disabled)}.combobox--disabled .combobox__field[data-v-a7d76bc3]{cursor:not-allowed}.combobox--disabled .combobox__label[data-v-a7d76bc3],.combobox--disabled .combobox__message[data-v-a7d76bc3],.combobox--disabled .combobox__arrow[data-v-a7d76bc3]{color:var(--theme-neutral-text-disabled)}.combobox--disabled .combobox__label[data-v-a7d76bc3]{cursor:not-allowed}.combobox__field[data-v-a7d76bc3]:has(.combobox__input:focus-visible){outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.combobox-list[data-v-a7d76bc3]{flex-direction:column;display:flex}.combobox-list__search[data-v-a7d76bc3]{padding:.5rem .5rem 0}.combobox-list__scroll[data-v-a7d76bc3]{max-height:15rem;overflow-y:auto}.combobox-list__options[data-v-a7d76bc3]{flex-direction:column;gap:.5rem;height:max-content;padding:.5rem;display:flex}.combobox-list__option[data-v-a7d76bc3]{width:100%;min-height:2rem;color:var(--theme-neutral-text-title);text-align:left;cursor:pointer;transition:background-color var(--animation-duration-fast) ease;background-color:#0000;border-radius:.5rem;align-items:flex-start;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;display:flex}.combobox-list__option[data-v-a7d76bc3]:hover:not(.combobox-list__option--disabled),.combobox-list__option--active[data-v-a7d76bc3]{background-color:var(--theme-secondary-50)}.combobox-list__option--disabled[data-v-a7d76bc3]{cursor:not-allowed;opacity:.5}.combobox-list__label[data-v-a7d76bc3]{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.combobox-list__status[data-v-a7d76bc3]{color:var(--theme-neutral-text-caption);margin:0;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}
@@ -85,6 +85,20 @@ export interface ComboboxProps<T extends ComboboxOptionData = ComboboxOptionData
85
85
  invalid?: boolean;
86
86
  size?: ComboboxSize;
87
87
  disabled?: boolean;
88
+ /**
89
+ * Не раскрывать список, пока показывать нечего: ни вариантов, ни загрузки.
90
+ * Пригодится серверному поиску, где до первого запроса список пуст и пустая
91
+ * плашка только мешает.
92
+ *
93
+ * Внутреннее состояние «открыт» при этом сохраняется: как только придут
94
+ * варианты или включится `loading`, список раскроется сам, без повторного
95
+ * клика. По умолчанию выключено — пустое состояние со своим текстом и слотом
96
+ * `empty` остаётся штатным поведением.
97
+ *
98
+ * На мобильных не действует: там поле поиска живёт внутри шторки, и, спрятав
99
+ * её, запрос было бы негде набрать.
100
+ */
101
+ hideEmptyList?: boolean;
88
102
  /** Текст пустого списка, когда вариантов нет вовсе. */
89
103
  emptyText?: string;
90
104
  /** Текст пустого списка, когда под запрос ничего не подошло. */
@@ -2,19 +2,20 @@ import { ComboboxOptionData, ComboboxProps, ComboboxSlots, ComboboxValue } from
2
2
  import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
3
3
  declare const _default: <T extends ComboboxOptionData = ComboboxOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
4
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
5
+ readonly onClear?: (() => any) | undefined;
5
6
  readonly onSearch?: ((query: string) => any) | undefined;
6
7
  readonly "onUpdate:modelValue"?: ((value: ComboboxValue | ComboboxValue[] | undefined) => any) | undefined;
7
8
  readonly onSelect?: ((option: T) => any) | undefined;
8
9
  readonly onChange?: ((value: ComboboxValue | ComboboxValue[] | undefined) => any) | undefined;
9
10
  readonly "onUpdate:search"?: ((value: string) => any) | undefined;
10
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onChange" | "onSelect" | "onSearch" | "onUpdate:search"> & ({
11
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onChange" | "onSelect" | "onClear" | "onSearch" | "onUpdate:search"> & ({
11
12
  modelValue?: ComboboxValue | ComboboxValue[] | undefined;
12
13
  search?: string;
13
14
  } & ComboboxProps<T>) & Partial<{}>> & PublicProps;
14
15
  expose(exposed: ShallowUnwrapRef<{}>): void;
15
16
  attrs: any;
16
17
  slots: Readonly<ComboboxSlots<T>> & ComboboxSlots<T>;
17
- emit: (((evt: "search", query: string) => void) & ((evt: "select", option: T) => void) & ((evt: "change", value: ComboboxValue | ComboboxValue[] | undefined) => void)) & (((evt: "update:modelValue", value: ComboboxValue | ComboboxValue[] | undefined) => void) & ((evt: "update:search", value: string) => void));
18
+ emit: (((evt: "clear") => void) & ((evt: "search", query: string) => void) & ((evt: "select", option: T) => void) & ((evt: "change", value: ComboboxValue | ComboboxValue[] | undefined) => void)) & (((evt: "update:modelValue", value: ComboboxValue | ComboboxValue[] | undefined) => void) & ((evt: "update:search", value: string) => void));
18
19
  }>) => VNode & {
19
20
  __ctx?: Awaited<typeof __VLS_setup>;
20
21
  };
@@ -2,7 +2,7 @@ import './Combobox.css';
2
2
  import o from "./Combobox.vue2.js";
3
3
  /* empty css */
4
4
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
5
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-621b3df7"]]);
5
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a7d76bc3"]]);
6
6
  export {
7
7
  p as default
8
8
  };