@profitliga/ui 2.0.0 → 2.0.2

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.
Files changed (37) hide show
  1. package/dist/components/BottomSheet/BottomSheet.css +1 -1
  2. package/dist/components/BottomSheet/BottomSheet.vue.js +1 -1
  3. package/dist/components/BottomSheet/BottomSheet.vue2.js +56 -56
  4. package/dist/components/Drawer/Drawer.vue.d.ts +1 -1
  5. package/dist/components/Drawer/Drawer.vue.js +4 -4
  6. package/dist/components/RangeCalendar/RangeCalendar.css +1 -1
  7. package/dist/components/RangeCalendar/RangeCalendar.vue.js +2 -2
  8. package/dist/components/RangeCalendar/RangeCalendar.vue2.js +42 -42
  9. package/dist/components/v2/Checkbox/Checkbox.css +1 -1
  10. package/dist/components/v2/Checkbox/Checkbox.vue.js +2 -2
  11. package/dist/components/v2/Checkbox/Checkbox.vue2.js +26 -26
  12. package/dist/components/v2/Combobox/Combobox.css +1 -1
  13. package/dist/components/v2/Combobox/Combobox.types.d.ts +49 -3
  14. package/dist/components/v2/Combobox/Combobox.vue.d.ts +23 -52
  15. package/dist/components/v2/Combobox/Combobox.vue.js +2 -2
  16. package/dist/components/v2/Combobox/Combobox.vue2.js +219 -193
  17. package/dist/components/v2/DatePicker/DatePicker.vue.d.ts +2 -2
  18. package/dist/components/v2/Divider/Divider.css +1 -1
  19. package/dist/components/v2/Divider/Divider.vue.js +1 -1
  20. package/dist/components/v2/Divider/Divider.vue2.js +10 -10
  21. package/dist/components/v2/DropdownMenu/DropdownMenu.vue.d.ts +2 -2
  22. package/dist/components/v2/File/FilePreviewDialog.vue.d.ts +1 -1
  23. package/dist/components/v2/FileUpload/FileUpload.vue.d.ts +1 -1
  24. package/dist/components/v2/FileUpload/FileUploadInline.vue.d.ts +1 -1
  25. package/dist/components/v2/InputNumber/InputNumber.css +1 -1
  26. package/dist/components/v2/InputNumber/InputNumber.vue.js +2 -2
  27. package/dist/components/v2/InputNumber/InputNumber.vue2.js +2 -2
  28. package/dist/components/v2/InputSelect/InputSelect.vue.d.ts +1 -1
  29. package/dist/components/v2/Popover/Popover.vue.d.ts +1 -1
  30. package/dist/components/v2/Select/Select.css +1 -1
  31. package/dist/components/v2/Select/Select.types.d.ts +50 -3
  32. package/dist/components/v2/Select/Select.vue.d.ts +20 -40
  33. package/dist/components/v2/Select/Select.vue.js +1 -1
  34. package/dist/components/v2/Select/Select.vue2.js +187 -164
  35. package/dist/components/v2/Tooltip/Tooltip.vue.d.ts +1 -1
  36. package/dist/components/v2/Tooltip/TooltipContent.vue.d.ts +1 -1
  37. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { CalendarDate } from '@internationalized/date';
2
2
  import { CalendarRangeValue, DatePickerProps, DatePickerLabels } from './DatePicker.types';
3
3
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
- import { TBreakpoints } from '../../../types/global.types';
5
4
  import { CalendarWeekStartsOn, CalendarWeekdayFormat } from '..';
5
+ import { TBreakpoints } from '../../../types/global.types';
6
6
  type __VLS_Props = DatePickerProps;
7
7
  type __VLS_PublicProps = {
8
8
  modelValue?: CalendarDate | CalendarRangeValue | undefined;
@@ -17,7 +17,6 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
17
17
  placeholder: string;
18
18
  disabled: boolean;
19
19
  width: number | "full";
20
- breakpointMobile: TBreakpoints;
21
20
  pagedNavigation: boolean;
22
21
  weekStartsOn: CalendarWeekStartsOn;
23
22
  weekdayFormat: CalendarWeekdayFormat;
@@ -27,6 +26,7 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
27
26
  numberOfMonths: number;
28
27
  isDateDisabled: (date: CalendarDate) => boolean;
29
28
  range: boolean;
29
+ breakpointMobile: TBreakpoints;
30
30
  format: string;
31
31
  showClear: boolean;
32
32
  testId: string;
@@ -1 +1 @@
1
- .divider[data-v-013ca85d]{--divider-color:var(--theme-neutral-border-divider);--divider-thickness:1px;--divider-spacing:0rem;--divider-align-length:1.5rem;align-items:center;display:flex}.divider--spacing-small[data-v-013ca85d]{--divider-spacing:.5rem}.divider--spacing-medium[data-v-013ca85d]{--divider-spacing:1rem}.divider--spacing-large[data-v-013ca85d]{--divider-spacing:1.5rem}.divider__content[data-v-013ca85d]{color:var(--theme-neutral-text-body);flex-shrink:0;font-size:.875rem;font-weight:400;line-height:1.2}.divider__line[data-v-013ca85d]{flex:auto}.divider--dashed[data-v-013ca85d]{--divider-style:dashed}.divider--dotted[data-v-013ca85d]{--divider-style:dotted}.divider--horizontal[data-v-013ca85d]{width:100%;margin-block:var(--divider-spacing)}.divider--horizontal.divider--plain[data-v-013ca85d],.divider--horizontal .divider__line[data-v-013ca85d]{border-block-start:var(--divider-thickness) var(--divider-style,solid) var(--divider-color)}.divider--horizontal .divider__content[data-v-013ca85d]{padding-inline:.5rem}.divider--horizontal.divider--start .divider__line[data-v-013ca85d]:first-child,.divider--horizontal.divider--end .divider__line[data-v-013ca85d]:last-child{flex:0 0 var(--divider-align-length)}.divider--vertical[data-v-013ca85d]{min-height:100%;margin-inline:var(--divider-spacing);flex-direction:column;align-self:stretch}.divider--vertical.divider--plain[data-v-013ca85d],.divider--vertical .divider__line[data-v-013ca85d]{border-inline-start:var(--divider-thickness) var(--divider-style,solid) var(--divider-color)}.divider--vertical .divider__content[data-v-013ca85d]{padding-block:.5rem}.divider--vertical.divider--start .divider__line[data-v-013ca85d]:first-child,.divider--vertical.divider--end .divider__line[data-v-013ca85d]:last-child{flex:0 0 var(--divider-align-length)}
1
+ .divider-v2[data-v-c694304a]{--divider-color:var(--theme-neutral-250);--divider-thickness:1px;--divider-spacing:0rem;--divider-align-length:1.5rem;align-items:center;gap:.25rem;display:flex}.divider-v2--spacing-small[data-v-c694304a]{--divider-spacing:.5rem}.divider-v2--spacing-medium[data-v-c694304a]{--divider-spacing:1rem}.divider-v2--spacing-large[data-v-c694304a]{--divider-spacing:1.5rem}.divider-v2__content[data-v-c694304a]{color:var(--theme-neutral-text-caption);flex-shrink:0;font-size:.75rem;font-weight:400;line-height:1rem}.divider-v2__line[data-v-c694304a]{flex:auto}.divider-v2--dashed[data-v-c694304a]{--divider-style:dashed}.divider-v2--dotted[data-v-c694304a]{--divider-style:dotted}.divider-v2--horizontal[data-v-c694304a]{width:100%;margin-block:var(--divider-spacing)}.divider-v2--horizontal.divider-v2--plain[data-v-c694304a],.divider-v2--horizontal .divider-v2__line[data-v-c694304a]{border-block-start:var(--divider-thickness) var(--divider-style,solid) var(--divider-color)}.divider-v2--horizontal.divider-v2--start .divider-v2__line[data-v-c694304a]:first-child,.divider-v2--horizontal.divider-v2--end .divider-v2__line[data-v-c694304a]:last-child{flex:0 0 var(--divider-align-length)}.divider-v2--vertical[data-v-c694304a]{min-height:100%;margin-inline:var(--divider-spacing);flex-direction:column;align-self:stretch}.divider-v2--vertical.divider-v2--plain[data-v-c694304a],.divider-v2--vertical .divider-v2__line[data-v-c694304a]{border-inline-start:var(--divider-thickness) var(--divider-style,solid) var(--divider-color)}.divider-v2--vertical.divider-v2--start .divider-v2__line[data-v-c694304a]:first-child,.divider-v2--vertical.divider-v2--end .divider-v2__line[data-v-c694304a]:last-child{flex:0 0 var(--divider-align-length)}
@@ -2,7 +2,7 @@ import './Divider.css';
2
2
  import o from "./Divider.vue2.js";
3
3
  /* empty css */
4
4
  import r from "../../../_virtual/_plugin-vue_export-helper.js";
5
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-013ca85d"]]);
5
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-c694304a"]]);
6
6
  export {
7
7
  m as default
8
8
  };
@@ -15,12 +15,12 @@ const C = ["role", "aria-orientation", "aria-hidden"], N = /* @__PURE__ */ m({
15
15
  testId: { default: void 0 }
16
16
  },
17
17
  setup(t) {
18
- const e = t, u = p(), o = B(() => e.testId), d = r(() => !!(e.label || u.default)), v = r(() => [
19
- "divider",
20
- `divider--${e.orientation}`,
21
- `divider--${e.variant}`,
22
- `divider--spacing-${e.spacing}`,
23
- d.value ? `divider--${e.align}` : "divider--plain"
18
+ const e = t, v = p(), o = B(() => e.testId), d = r(() => !!(e.label || v.default)), u = r(() => [
19
+ "divider-v2",
20
+ `divider-v2--${e.orientation}`,
21
+ `divider-v2--${e.variant}`,
22
+ `divider-v2--spacing-${e.spacing}`,
23
+ d.value ? `divider-v2--${e.align}` : "divider-v2--plain"
24
24
  ]), f = r(() => {
25
25
  const i = {
26
26
  "--divider-thickness": `${e.thickness}px`
@@ -28,20 +28,20 @@ const C = ["role", "aria-orientation", "aria-hidden"], N = /* @__PURE__ */ m({
28
28
  return e.color && (i["--divider-color"] = e.color), i;
29
29
  });
30
30
  return (i, S) => (s(), c("div", a({
31
- class: v.value,
31
+ class: u.value,
32
32
  style: f.value,
33
33
  role: t.decorative ? void 0 : "separator",
34
34
  "aria-orientation": t.decorative || t.orientation === "horizontal" ? void 0 : "vertical",
35
35
  "aria-hidden": t.decorative ? "true" : void 0
36
36
  }, { ...i.$attrs, ...n(o)("root") }), [
37
37
  d.value ? (s(), c(h, { key: 0 }, [
38
- l("span", a({ class: "divider__line" }, n(o)("line", "start")), null, 16),
39
- l("span", a({ class: "divider__content" }, n(o)("content")), [
38
+ l("span", a({ class: "divider-v2__line" }, n(o)("line", "start")), null, 16),
39
+ l("span", a({ class: "divider-v2__content" }, n(o)("content")), [
40
40
  g(i.$slots, "default", {}, () => [
41
41
  $(k(t.label), 1)
42
42
  ], !0)
43
43
  ], 16),
44
- l("span", a({ class: "divider__line" }, n(o)("line", "end")), null, 16)
44
+ l("span", a({ class: "divider-v2__line" }, n(o)("line", "end")), null, 16)
45
45
  ], 64)) : y("", !0)
46
46
  ], 16, C));
47
47
  }
@@ -1,7 +1,7 @@
1
1
  import { DropdownMenuItemData, DropdownMenuProps } from './DropdownMenu.types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- import { TBreakpoints } from '../../../types/global.types';
4
3
  import { PopoverSide, PopoverAlign } from '..';
4
+ import { TBreakpoints } from '../../../types/global.types';
5
5
  type __VLS_Props = DropdownMenuProps;
6
6
  type __VLS_PublicProps = {
7
7
  'open'?: boolean;
@@ -38,11 +38,11 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
38
38
  width: number;
39
39
  disableOutsidePointerEvents: boolean;
40
40
  zIndex: number | "auto";
41
- breakpointMobile: TBreakpoints;
42
41
  side: PopoverSide;
43
42
  sideOffset: number;
44
43
  align: PopoverAlign;
45
44
  alignOffset: number;
45
+ breakpointMobile: TBreakpoints;
46
46
  arrow: boolean;
47
47
  testId: string;
48
48
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
@@ -24,8 +24,8 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
24
24
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
25
  }>, {
26
26
  width: number;
27
- breakpointMobile: TBreakpoints;
28
27
  file: FileItem | null;
28
+ breakpointMobile: TBreakpoints;
29
29
  testId: string;
30
30
  deletable: boolean;
31
31
  deleteText: string;
@@ -40,8 +40,8 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
40
40
  required: boolean;
41
41
  title: string;
42
42
  id: string;
43
- breakpointMobile: TBreakpoints;
44
43
  name: string;
44
+ breakpointMobile: TBreakpoints;
45
45
  accept: string;
46
46
  testId: string;
47
47
  preview: boolean;
@@ -26,8 +26,8 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
26
26
  disabled: boolean;
27
27
  id: string;
28
28
  icon: Component;
29
- breakpointMobile: TBreakpoints;
30
29
  name: string;
30
+ breakpointMobile: TBreakpoints;
31
31
  accept: string;
32
32
  ariaLabel: string;
33
33
  testId: string;
@@ -1 +1 @@
1
- .number-field[data-v-808b7254]{--step-height:2.25rem;--step-radius:.5rem;--step-padding-x:.75rem;--step-gap:.5rem;--step-icon-size:1rem;--step-font-size:.875rem;--step-line-height:1.25rem;--step-value-width:1.75rem;--step-border-color:var(--theme-neutral-border-default);--step-icon-color:var(--theme-secondary-500);--step-text-color:var(--theme-neutral-text-title);width:max-content;height:var(--step-height);justify-content:center;align-items:center;gap:var(--step-gap);padding:0 var(--step-padding-x);background-color:var(--theme-neutral-0);border:.0625rem solid var(--step-border-color);border-radius:var(--step-radius);transition:border-color var(--animation-duration-fast) ease;display:flex}.number-field[data-v-808b7254]:not(.number-field--disabled):hover{--step-border-color:var(--theme-primary-300)}.number-field[data-v-808b7254]:not(.number-field--disabled):focus-within{--step-border-color:var(--theme-primary-500)}.number-field__button[data-v-808b7254]{cursor:pointer;color:var(--step-icon-color);transition:color var(--animation-duration-fast) ease;background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.number-field__button[data-v-808b7254] svg{width:var(--step-icon-size);height:var(--step-icon-size)}.number-field__button[data-v-808b7254]:hover:not(:disabled){color:var(--theme-secondary-600)}.number-field__button[data-v-808b7254]:disabled{color:var(--theme-neutral-icon-disabled);cursor:not-allowed}.number-field__button[data-v-808b7254]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem;border-radius:.25rem}.number-field__value[data-v-808b7254]{width:var(--step-value-width);font-family:inherit;font-weight:400;font-size:var(--step-font-size);line-height:var(--step-line-height);text-align:center;color:var(--step-text-color);background-color:#0000;border:none;outline:none;flex-shrink:0}@media (max-width:1009.98px){.number-field__value[data-v-808b7254]{font-size:1rem}}.number-field__value[data-v-808b7254]::placeholder{color:var(--theme-neutral-550)}.number-field__value[data-v-808b7254]:disabled{cursor:not-allowed;-webkit-text-fill-color:var(--step-text-color);opacity:1}.number-field--small[data-v-808b7254]{--step-height:1.5rem;--step-padding-x:.5rem;--step-icon-size:.75rem;--step-font-size:.75rem;--step-line-height:1rem;--step-value-width:1.5rem}.number-field--medium[data-v-808b7254]{--step-height:2.5rem;--step-padding-x:1rem;--step-icon-size:1.125rem;--step-font-size:1rem;--step-line-height:1.5rem;--step-value-width:2rem}.number-field--large[data-v-808b7254]{--step-height:2.75rem;--step-radius:.75rem;--step-padding-x:1rem;--step-icon-size:1.25rem;--step-font-size:1rem;--step-line-height:1.5rem;--step-value-width:2rem}.number-field--error[data-v-808b7254]{--step-border-color:var(--theme-error-500)}.number-field--disabled[data-v-808b7254]{--step-border-color:var(--theme-neutral-border-disabled);--step-icon-color:var(--theme-neutral-icon-disabled);--step-text-color:var(--theme-neutral-400);cursor:not-allowed}
1
+ .number-field[data-v-6e5e2c7b]{--step-height:2.25rem;--step-radius:.5rem;--step-padding-x:.75rem;--step-gap:.5rem;--step-icon-size:1rem;--step-font-size:.875rem;--step-line-height:1.25rem;--step-value-width:1.75rem;--step-border-color:var(--theme-neutral-border-default);--step-icon-color:var(--theme-secondary-500);--step-text-color:var(--theme-neutral-text-title);width:max-content;height:var(--step-height);justify-content:center;align-items:center;gap:var(--step-gap);padding:0 var(--step-padding-x);background-color:var(--theme-neutral-0);border:.0625rem solid var(--step-border-color);border-radius:var(--step-radius);transition:border-color var(--animation-duration-fast) ease;display:flex}.number-field[data-v-6e5e2c7b]:not(.number-field--disabled):hover{--step-border-color:var(--theme-primary-300)}.number-field[data-v-6e5e2c7b]:not(.number-field--disabled):focus-within{--step-border-color:var(--theme-primary-500)}.number-field__button[data-v-6e5e2c7b]{cursor:pointer;color:var(--step-icon-color);transition:color var(--animation-duration-fast) ease;background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.number-field__button[data-v-6e5e2c7b] svg{width:var(--step-icon-size);height:var(--step-icon-size)}.number-field__button[data-v-6e5e2c7b]:hover:not(:disabled){color:var(--theme-secondary-600)}.number-field__button[data-v-6e5e2c7b]:disabled{color:var(--theme-neutral-icon-disabled);cursor:not-allowed}.number-field__button[data-v-6e5e2c7b]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem;border-radius:.25rem}.number-field__value[data-v-6e5e2c7b]{width:var(--step-value-width);font-family:inherit;font-weight:400;font-size:var(--step-font-size);line-height:var(--step-line-height);text-align:center;color:var(--step-text-color);background-color:#0000;border:none;outline:none;flex-shrink:0}@media (max-width:1009.98px){.number-field__value[data-v-6e5e2c7b]{font-size:1rem}}.number-field__value[data-v-6e5e2c7b]::placeholder{color:var(--theme-neutral-550)}.number-field__value[data-v-6e5e2c7b]:disabled{cursor:not-allowed;-webkit-text-fill-color:var(--step-text-color);opacity:1}.number-field--small[data-v-6e5e2c7b]{--step-height:1.5rem;--step-padding-x:.5rem;--step-icon-size:.75rem;--step-font-size:.75rem;--step-line-height:1rem;--step-value-width:1.5rem}.number-field--medium[data-v-6e5e2c7b]{--step-height:2.5rem;--step-padding-x:1rem;--step-icon-size:1.125rem;--step-font-size:1rem;--step-line-height:1.5rem;--step-value-width:2rem}.number-field--large[data-v-6e5e2c7b]{--step-height:2.75rem;--step-radius:.75rem;--step-padding-x:1rem;--step-icon-size:1.25rem;--step-font-size:1rem;--step-line-height:1.5rem;--step-value-width:2rem}.number-field--error[data-v-6e5e2c7b]{--step-border-color:var(--theme-error-500)}.number-field--disabled[data-v-6e5e2c7b]{--step-border-color:var(--theme-neutral-border-disabled);--step-icon-color:var(--theme-neutral-icon-disabled);--step-text-color:var(--theme-neutral-400);cursor:not-allowed}
@@ -2,7 +2,7 @@ import './InputNumber.css';
2
2
  import o from "./InputNumber.vue2.js";
3
3
  /* empty css */
4
4
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
5
- const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-808b7254"]]);
5
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6e5e2c7b"]]);
6
6
  export {
7
- _ as default
7
+ p as default
8
8
  };
@@ -98,12 +98,12 @@ const ce = ["disabled", "aria-label"], me = ["id", "value", "name", "placeholder
98
98
  select: () => c.value?.select()
99
99
  }), (e, t) => V.value ? (S(), ne(d(de), {
100
100
  key: 0,
101
+ id: a.id,
101
102
  ref_key: "inputRef",
102
103
  ref: x,
103
104
  class: "number-field__input",
104
105
  "model-value": o.value,
105
106
  size: H.value,
106
- id: a.id,
107
107
  label: a.label,
108
108
  "support-text": a.supportText,
109
109
  error: a.error,
@@ -121,7 +121,7 @@ const ce = ["disabled", "aria-label"], me = ["id", "value", "name", "placeholder
121
121
  onBlur: R,
122
122
  onFocus: t[0] || (t[0] = (n) => u("focus", n)),
123
123
  onKeydown: $
124
- }, null, 8, ["model-value", "size", "id", "label", "support-text", "error", "error-message", "placeholder", "disabled", "readonly", "required", "aria-label", "name", "test-id"])) : (S(), re("div", b({
124
+ }, null, 8, ["id", "model-value", "size", "label", "support-text", "error", "error-message", "placeholder", "disabled", "readonly", "required", "aria-label", "name", "test-id"])) : (S(), re("div", b({
125
125
  key: 1,
126
126
  class: Z.value
127
127
  }, d(p)("root")), [
@@ -204,10 +204,10 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
204
204
  disabled: boolean;
205
205
  required: boolean;
206
206
  id: string;
207
- breakpointMobile: TBreakpoints;
208
207
  error: boolean;
209
208
  readonly: boolean;
210
209
  name: string;
210
+ breakpointMobile: TBreakpoints;
211
211
  rows: number;
212
212
  errorMessage: string;
213
213
  maxlength: number;
@@ -39,11 +39,11 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
39
39
  trapFocus: boolean;
40
40
  disableOutsidePointerEvents: boolean;
41
41
  zIndex: number | "auto";
42
- breakpointMobile: TBreakpoints;
43
42
  side: PopoverSide;
44
43
  sideOffset: number;
45
44
  align: PopoverAlign;
46
45
  alignOffset: number;
46
+ breakpointMobile: TBreakpoints;
47
47
  arrow: boolean;
48
48
  testId: string;
49
49
  labelledBy: string;
@@ -1 +1 @@
1
- .select[data-v-b9512ce4]{--select-field-height:2.5rem;--select-field-radius:.5rem;--select-font-size:.875rem;--select-line-height:1.25rem;--select-label-font-size:.875rem;--select-label-line-height:1rem;--select-border-color:var(--theme-neutral-border-default);flex-direction:column;display:flex}.select--small[data-v-b9512ce4]{--select-field-height:2.25rem;--select-label-font-size:.75rem}.select--large[data-v-b9512ce4]{--select-field-height:2.75rem;--select-field-radius:.75rem;--select-font-size:1rem;--select-line-height:1.5rem;--select-label-font-size:1rem;--select-label-line-height:1.25rem}.select__label[data-v-b9512ce4]{font-weight:400;font-size:var(--select-label-font-size);line-height:var(--select-label-line-height);color:var(--theme-neutral-text-title);cursor:pointer;padding:.375rem .5rem}.select__field[data-v-b9512ce4]{min-height:var(--select-field-height);background-color:var(--theme-neutral-0);border:.0625rem solid var(--select-border-color);border-radius:var(--select-field-radius);transition:border-color var(--animation-duration-fast) ease;align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:relative}.select[data-v-b9512ce4] .popover-trigger{position:absolute;inset:0}.select__trigger[data-v-b9512ce4]{border-radius:inherit;cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0}.select__trigger[data-v-b9512ce4]:disabled{cursor:not-allowed}.select__content[data-v-b9512ce4]{z-index:1;pointer-events:none;flex:auto;align-items:center;gap:.25rem;min-width:0;display:flex;position:relative}.select__chips[data-v-b9512ce4]{flex:0 auto;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.select__value[data-v-b9512ce4],.select__placeholder[data-v-b9512ce4]{min-width:0;font-weight:400;font-size:var(--select-font-size);line-height:var(--select-line-height);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__value[data-v-b9512ce4]{color:var(--theme-neutral-text-body)}.select__placeholder[data-v-b9512ce4]{color:var(--theme-neutral-550)}.select__chip[data-v-b9512ce4]{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}.select__chip-label[data-v-b9512ce4]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__chip-remove[data-v-b9512ce4]{color:var(--theme-neutral-icon-caption);cursor:pointer;pointer-events:auto;transition:color var(--animation-duration-fast) ease;background:0 0;border:none;align-items:center;margin:0;padding:0;display:flex}.select__chip-remove[data-v-b9512ce4]:hover:not(:disabled){color:var(--theme-neutral-text-body)}.select__chip-remove[data-v-b9512ce4]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.select__chip-remove[data-v-b9512ce4]:disabled{cursor:not-allowed}.select__chip-icon[data-v-b9512ce4],.select__chip-avatar[data-v-b9512ce4]{flex-shrink:0;width:.75rem;height:.75rem}.select__chip-avatar[data-v-b9512ce4]{object-fit:cover;border-radius:50%}.select__chip--measured[data-v-b9512ce4]{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.select__chip--counter[data-v-b9512ce4]{color:var(--theme-neutral-text-caption);flex-shrink:0}.select__arrow[data-v-b9512ce4]{width:1.125rem;height:1.125rem;color:var(--theme-neutral-text-body);pointer-events:none;transition:transform var(--animation-duration-fast) ease;flex-shrink:0}.select__message[data-v-b9512ce4]{color:var(--theme-neutral-text-body);margin:0;padding:.25rem .5rem;font-size:.625rem;font-weight:400;line-height:1.2}.select[data-v-b9512ce4]:hover:not(.select--disabled){--select-border-color:var(--theme-primary-300)}.select--open[data-v-b9512ce4],.select--open[data-v-b9512ce4]:hover{--select-border-color:var(--theme-primary-500)}.select--open .select__arrow[data-v-b9512ce4]{transform:rotate(180deg)}.select--invalid[data-v-b9512ce4]{--select-border-color:var(--theme-error-500)}.select--invalid .select__label[data-v-b9512ce4],.select--invalid .select__message[data-v-b9512ce4]{color:var(--theme-error-500)}.select--invalid[data-v-b9512ce4]:hover:not(.select--disabled){--select-border-color:var(--theme-error-500)}.select--disabled[data-v-b9512ce4]{--select-border-color:var(--theme-neutral-border-disabled)}.select--disabled .select__label[data-v-b9512ce4],.select--disabled .select__value[data-v-b9512ce4],.select--disabled .select__placeholder[data-v-b9512ce4],.select--disabled .select__message[data-v-b9512ce4],.select--disabled .select__arrow[data-v-b9512ce4]{color:var(--theme-neutral-text-disabled)}.select--disabled .select__label[data-v-b9512ce4]{cursor:not-allowed}.select__field[data-v-b9512ce4]:has(.select__trigger:focus-visible){outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.select-list[data-v-b9512ce4]{outline:none;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.select-list__option[data-v-b9512ce4]{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:center;gap:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;display:flex}.select-list__option[data-v-b9512ce4]:hover:not(.select-list__option--disabled),.select-list__option--active[data-v-b9512ce4]{background-color:var(--theme-secondary-50)}.select-list__option--disabled[data-v-b9512ce4]{cursor:not-allowed;opacity:.5}.select-list__label[data-v-b9512ce4]{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.select-list__empty[data-v-b9512ce4]{color:var(--theme-neutral-text-caption);margin:0;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}
1
+ .select[data-v-e9d9c5e5]{--select-field-height:2.5rem;--select-field-radius:.5rem;--select-font-size:.875rem;--select-line-height:1.25rem;--select-label-font-size:.875rem;--select-label-line-height:1rem;--select-border-color:var(--theme-neutral-border-default);flex-direction:column;display:flex}.select--small[data-v-e9d9c5e5]{--select-field-height:2.25rem;--select-label-font-size:.75rem}.select--large[data-v-e9d9c5e5]{--select-field-height:2.75rem;--select-field-radius:.75rem;--select-font-size:1rem;--select-line-height:1.5rem;--select-label-font-size:1rem;--select-label-line-height:1.25rem}.select__label[data-v-e9d9c5e5]{font-weight:400;font-size:var(--select-label-font-size);line-height:var(--select-label-line-height);color:var(--theme-neutral-text-title);cursor:pointer;padding:.375rem .5rem}.select__field[data-v-e9d9c5e5]{min-height:var(--select-field-height);background-color:var(--theme-neutral-0);border:.0625rem solid var(--select-border-color);border-radius:var(--select-field-radius);transition:border-color var(--animation-duration-fast) ease;align-items:center;gap:.25rem;padding:.25rem .5rem;display:flex;position:relative}.select[data-v-e9d9c5e5] .popover-trigger{position:absolute;inset:0}.select__trigger[data-v-e9d9c5e5]{border-radius:inherit;cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0}.select__trigger[data-v-e9d9c5e5]:disabled{cursor:not-allowed}.select__content[data-v-e9d9c5e5]{z-index:1;pointer-events:none;flex:auto;align-items:center;gap:.25rem;min-width:0;display:flex;position:relative}.select__chips[data-v-e9d9c5e5]{flex:0 auto;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.select__value[data-v-e9d9c5e5],.select__placeholder[data-v-e9d9c5e5]{min-width:0;font-weight:400;font-size:var(--select-font-size);line-height:var(--select-line-height);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__value[data-v-e9d9c5e5]{color:var(--theme-neutral-text-body)}.select__placeholder[data-v-e9d9c5e5]{color:var(--theme-neutral-550)}.select__chip[data-v-e9d9c5e5]{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}.select__chip-label[data-v-e9d9c5e5]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__chip-remove[data-v-e9d9c5e5]{color:var(--theme-neutral-icon-caption);cursor:pointer;pointer-events:auto;transition:color var(--animation-duration-fast) ease;background:0 0;border:none;align-items:center;margin:0;padding:0;display:flex}.select__chip-remove[data-v-e9d9c5e5]:hover:not(:disabled){color:var(--theme-neutral-text-body)}.select__chip-remove[data-v-e9d9c5e5]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.select__chip-remove[data-v-e9d9c5e5]:disabled{cursor:not-allowed}.select__chip-icon[data-v-e9d9c5e5],.select__chip-avatar[data-v-e9d9c5e5]{flex-shrink:0;width:.75rem;height:.75rem}.select__chip-avatar[data-v-e9d9c5e5]{object-fit:cover;border-radius:50%}.select__chip--measured[data-v-e9d9c5e5]{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.select__chip--counter[data-v-e9d9c5e5]{color:var(--theme-neutral-text-caption);flex-shrink:0}.select__arrow[data-v-e9d9c5e5]{width:1.125rem;height:1.125rem;color:var(--theme-neutral-text-body);pointer-events:none;transition:transform var(--animation-duration-fast) ease;flex-shrink:0}.select__message[data-v-e9d9c5e5]{color:var(--theme-neutral-text-body);margin:0;padding:.25rem .5rem;font-size:.625rem;font-weight:400;line-height:1.2}.select[data-v-e9d9c5e5]:hover:not(.select--disabled){--select-border-color:var(--theme-primary-300)}.select--open[data-v-e9d9c5e5],.select--open[data-v-e9d9c5e5]:hover{--select-border-color:var(--theme-primary-500)}.select--open .select__arrow[data-v-e9d9c5e5]{transform:rotate(180deg)}.select--invalid[data-v-e9d9c5e5]{--select-border-color:var(--theme-error-500)}.select--invalid .select__label[data-v-e9d9c5e5],.select--invalid .select__message[data-v-e9d9c5e5]{color:var(--theme-error-500)}.select--invalid[data-v-e9d9c5e5]:hover:not(.select--disabled){--select-border-color:var(--theme-error-500)}.select--disabled[data-v-e9d9c5e5]{--select-border-color:var(--theme-neutral-border-disabled)}.select--disabled .select__label[data-v-e9d9c5e5],.select--disabled .select__value[data-v-e9d9c5e5],.select--disabled .select__placeholder[data-v-e9d9c5e5],.select--disabled .select__message[data-v-e9d9c5e5],.select--disabled .select__arrow[data-v-e9d9c5e5]{color:var(--theme-neutral-text-disabled)}.select--disabled .select__label[data-v-e9d9c5e5]{cursor:not-allowed}.select__field[data-v-e9d9c5e5]:has(.select__trigger:focus-visible){outline:.125rem solid var(--theme-primary-500);outline-offset:.125rem}.select-list[data-v-e9d9c5e5]{outline:none;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.select-list__option[data-v-e9d9c5e5]{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}.select-list__option[data-v-e9d9c5e5]:hover:not(.select-list__option--disabled),.select-list__option--active[data-v-e9d9c5e5]{background-color:var(--theme-secondary-50)}.select-list__option--disabled[data-v-e9d9c5e5]{cursor:not-allowed;opacity:.5}.select-list__label[data-v-e9d9c5e5]{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.select-list__empty[data-v-e9d9c5e5]{color:var(--theme-neutral-text-caption);margin:0;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}
@@ -1,4 +1,4 @@
1
- import { Component } from 'vue';
1
+ import { Component, VNodeChild } from 'vue';
2
2
  import { TBreakpoints } from '../../../types/global.types';
3
3
  import { PopoverAlign, PopoverSide } from '../Popover';
4
4
  export type SelectSize = 'small' | 'default' | 'large';
@@ -12,8 +12,55 @@ export interface SelectOptionData {
12
12
  /** Картинка 12×12 (аватар) перед подписью выбранного значения. */
13
13
  avatar?: string;
14
14
  }
15
- export interface SelectProps {
16
- options: SelectOptionData[];
15
+ /**
16
+ * Слоты перекрывают то, что компонент рисует по данным варианта: сначала
17
+ * проверяется слот, и только без него в дело идёт `label` и тексты из пропов.
18
+ *
19
+ * Набор намеренно повторяет `ComboboxSlots` — компоненты соседние, и
20
+ * разъехавшийся API слотов заставлял бы переучиваться при переходе с одного
21
+ * на другой. Строки загрузки у `Select` нет, поэтому нет и слота `loading`.
22
+ */
23
+ export interface SelectSlots<T extends SelectOptionData = SelectOptionData> {
24
+ /**
25
+ * Строка списка. Маркер выбора остаётся снаружи слота — он часть
26
+ * механики выбора, а не содержимого варианта.
27
+ *
28
+ * Внутри `role="option"`, поэтому интерактивные элементы (кнопки, ссылки,
29
+ * поля) сюда класть нельзя: скринридер до них не доберётся.
30
+ */
31
+ option?: (props: {
32
+ option: T;
33
+ /** Вариант входит в текущее значение. */
34
+ selected: boolean;
35
+ /** Строка под курсором или выбрана с клавиатуры. */
36
+ active: boolean;
37
+ index: number;
38
+ }) => VNodeChild;
39
+ /**
40
+ * Содержимое чипа выбранного значения при `multiple`. Кнопка «убрать»
41
+ * остаётся снаружи — без неё значение нечем снять.
42
+ *
43
+ * Ширину чипов компонент меряет, чтобы спрятать лишние за счётчик «+n»:
44
+ * содержимое переменной ширины это переживает, а вот `width` в процентах
45
+ * внутри слота меряться будет не от того.
46
+ */
47
+ chip?: (props: {
48
+ option: T;
49
+ index: number;
50
+ }) => VNodeChild;
51
+ /**
52
+ * Выбранное значение в поле — только при одиночном выборе. При `multiple`
53
+ * его место занимают чипы, и слот не вызывается.
54
+ */
55
+ value?: (props: {
56
+ option: T | undefined;
57
+ displayValue: string;
58
+ }) => VNodeChild;
59
+ /** Пустой список: вариантов не передали вовсе. */
60
+ empty?: () => VNodeChild;
61
+ }
62
+ export interface SelectProps<T extends SelectOptionData = SelectOptionData> {
63
+ options: T[];
17
64
  /** Множественный выбор: список не закрывается, значения показываются чипами. */
18
65
  multiple?: boolean;
19
66
  /** Подпись над полем. */
@@ -1,41 +1,21 @@
1
- import { SelectOptionData, SelectProps, SelectValue, SelectSize } from './Select.types';
2
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- import { TBreakpoints } from '../../../types/global.types';
4
- import { PopoverSide, PopoverAlign } from '..';
5
- type __VLS_Props = SelectProps;
6
- type __VLS_PublicProps = {
7
- modelValue?: SelectValue | SelectValue[] | undefined;
8
- } & __VLS_Props;
9
- declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
10
- "update:modelValue": (value: SelectValue | SelectValue[] | undefined) => any;
11
- select: (option: SelectOptionData) => any;
12
- change: (value: SelectValue | SelectValue[] | undefined) => any;
13
- }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((value: SelectValue | SelectValue[] | undefined) => any) | undefined;
15
- onSelect?: ((option: SelectOptionData) => any) | undefined;
16
- onChange?: ((value: SelectValue | SelectValue[] | undefined) => any) | undefined;
17
- }>, {
18
- multiple: boolean;
19
- label: string;
20
- size: SelectSize;
21
- placeholder: string;
22
- disabled: boolean;
23
- width: number;
24
- breakpointMobile: TBreakpoints;
25
- invalid: boolean;
26
- errorText: string;
27
- side: PopoverSide;
28
- sideOffset: number;
29
- align: PopoverAlign;
30
- alignOffset: number;
31
- ariaLabel: string;
32
- testId: string;
33
- supportText: string;
34
- }, {}, {}, {}, string, ComponentProvideOptions, false, {
35
- fieldRef: HTMLDivElement;
36
- listRef: HTMLDivElement;
37
- contentRef: HTMLDivElement;
38
- chipsRef: HTMLSpanElement;
39
- counterRef: HTMLSpanElement;
40
- }, any>;
1
+ import { SelectOptionData, SelectProps, SelectSlots, SelectValue } from './Select.types';
2
+ import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
3
+ declare const _default: <T extends SelectOptionData = SelectOptionData>(__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
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
5
+ readonly "onUpdate:modelValue"?: ((value: SelectValue | SelectValue[] | undefined) => any) | undefined;
6
+ readonly onSelect?: ((option: T) => any) | undefined;
7
+ readonly onChange?: ((value: SelectValue | SelectValue[] | undefined) => any) | undefined;
8
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onChange" | "onSelect"> & ({
9
+ modelValue?: SelectValue | SelectValue[] | undefined;
10
+ } & SelectProps<T>) & Partial<{}>> & PublicProps;
11
+ expose(exposed: ShallowUnwrapRef<{}>): void;
12
+ attrs: any;
13
+ slots: Readonly<SelectSlots<T>> & SelectSlots<T>;
14
+ emit: (((evt: "select", option: T) => void) & ((evt: "change", value: SelectValue | SelectValue[] | undefined) => void)) & ((evt: "update:modelValue", value: SelectValue | SelectValue[] | undefined) => void);
15
+ }>) => VNode & {
16
+ __ctx?: Awaited<typeof __VLS_setup>;
17
+ };
41
18
  export default _default;
19
+ type __VLS_PrettifyLocal<T> = {
20
+ [K in keyof T]: T[K];
21
+ } & {};
@@ -2,7 +2,7 @@ import './Select.css';
2
2
  import o from "./Select.vue2.js";
3
3
  /* empty css */
4
4
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
5
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b9512ce4"]]);
5
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e9d9c5e5"]]);
6
6
  export {
7
7
  m as default
8
8
  };