@profitliga/ui 2.0.3 → 2.0.4

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 (115) hide show
  1. package/dist/components/AlertDialog/AlertDialogAction.vue.js +2 -3
  2. package/dist/components/AlertDialog/AlertDialogCancel.vue.js +8 -9
  3. package/dist/components/AlertDialog/AlertDialogTrigger.vue.js +7 -8
  4. package/dist/components/Button/Button.css +1 -1
  5. package/dist/components/Button/Button.vue.js +5 -52
  6. package/dist/components/Button/Button.vue2.js +52 -3
  7. package/dist/components/Calendar/CalendarNext.vue.js +3 -4
  8. package/dist/components/Calendar/CalendarPrev.vue.js +7 -8
  9. package/dist/components/ConfirmDialog/ConfirmDialog.vue2.js +11 -12
  10. package/dist/components/DatePicker/DatePickerNext.vue.js +1 -2
  11. package/dist/components/DatePicker/DatePickerPrev.vue.js +7 -8
  12. package/dist/components/DateRangePicker/DateRangePickerNext.vue.js +6 -7
  13. package/dist/components/DateRangePicker/DateRangePickerPrev.vue.js +7 -8
  14. package/dist/components/RangeCalendar/RangeCalendarNext.vue.js +3 -4
  15. package/dist/components/RangeCalendar/RangeCalendarPrev.vue.js +3 -4
  16. package/dist/components/Schedule/Schedule.vue2.js +38 -39
  17. package/dist/components/index.js +391 -392
  18. package/dist/components/v2/AlertDialog/AlertDialog.css +1 -1
  19. package/dist/components/v2/AlertDialog/AlertDialog.types.d.ts +2 -2
  20. package/dist/components/v2/AlertDialog/AlertDialog.vue.d.ts +2 -2
  21. package/dist/components/v2/AlertDialog/AlertDialog.vue.js +2 -2
  22. package/dist/components/v2/AlertDialog/AlertDialog.vue2.js +29 -29
  23. package/dist/components/v2/Checkbox/Checkbox.css +1 -1
  24. package/dist/components/v2/Checkbox/Checkbox.types.d.ts +11 -0
  25. package/dist/components/v2/Checkbox/Checkbox.vue.d.ts +2 -0
  26. package/dist/components/v2/Checkbox/Checkbox.vue.js +2 -2
  27. package/dist/components/v2/Checkbox/Checkbox.vue2.js +61 -49
  28. package/dist/components/v2/Combobox/Combobox.css +1 -1
  29. package/dist/components/v2/Combobox/Combobox.types.d.ts +14 -2
  30. package/dist/components/v2/Combobox/Combobox.vue.js +1 -1
  31. package/dist/components/v2/Combobox/Combobox.vue2.js +190 -181
  32. package/dist/components/v2/ConfirmDialog/ConfirmDialog.types.d.ts +2 -2
  33. package/dist/components/v2/ConfirmDialog/ConfirmDialog.vue.d.ts +2 -2
  34. package/dist/components/v2/ConfirmDialog/ConfirmDialog.vue.js +6 -6
  35. package/dist/components/v2/DatePicker/DatePicker.css +1 -1
  36. package/dist/components/v2/DatePicker/DatePicker.types.d.ts +2 -2
  37. package/dist/components/v2/DatePicker/DatePicker.vue.d.ts +2 -2
  38. package/dist/components/v2/DatePicker/DatePicker.vue.js +2 -2
  39. package/dist/components/v2/DatePicker/DatePicker.vue2.js +54 -54
  40. package/dist/components/v2/Divider/Divider.types.d.ts +8 -0
  41. package/dist/components/v2/DropdownMenu/DropdownMenu.types.d.ts +2 -2
  42. package/dist/components/v2/DropdownMenu/DropdownMenu.vue.d.ts +2 -2
  43. package/dist/components/v2/DropdownMenu/DropdownMenu.vue2.js +6 -6
  44. package/dist/components/v2/FileUpload/FileUpload.css +1 -1
  45. package/dist/components/v2/FileUpload/FileUpload.vue.js +2 -2
  46. package/dist/components/v2/FileUpload/FileUpload.vue2.js +16 -16
  47. package/dist/components/v2/FormField/FormField.css +1 -0
  48. package/dist/components/v2/FormField/FormField.types.d.ts +48 -0
  49. package/dist/components/v2/FormField/FormField.vue.d.ts +25 -0
  50. package/dist/components/v2/FormField/FormField.vue.js +8 -0
  51. package/dist/components/v2/FormField/FormField.vue2.js +54 -0
  52. package/dist/components/v2/FormField/index.d.ts +3 -0
  53. package/dist/components/v2/Image/Image.css +1 -0
  54. package/dist/components/v2/Image/Image.types.d.ts +26 -0
  55. package/dist/components/v2/Image/Image.vue.d.ts +16 -0
  56. package/dist/components/v2/Image/Image.vue.js +8 -0
  57. package/dist/components/v2/Image/Image.vue2.js +91 -0
  58. package/dist/components/v2/Image/ImageList.css +1 -0
  59. package/dist/components/v2/Image/ImageList.types.d.ts +28 -0
  60. package/dist/components/v2/Image/ImageList.vue.d.ts +15 -0
  61. package/dist/components/v2/Image/ImageList.vue.js +8 -0
  62. package/dist/components/v2/Image/ImageList.vue2.js +38 -0
  63. package/dist/components/v2/Image/index.d.ts +5 -0
  64. package/dist/components/v2/InputNumber/InputNumber.css +1 -1
  65. package/dist/components/v2/InputNumber/InputNumber.vue.js +2 -2
  66. package/dist/components/v2/InputNumber/InputNumber.vue2.js +22 -21
  67. package/dist/components/v2/InputSelect/InputSelect.types.d.ts +2 -2
  68. package/dist/components/v2/InputSelect/InputSelect.vue.d.ts +2 -2
  69. package/dist/components/v2/InputSelect/InputSelect.vue.js +14 -14
  70. package/dist/components/v2/InputSelect/InputSelectChip.css +1 -1
  71. package/dist/components/v2/InputSelect/InputSelectChip.vue.d.ts +3 -3
  72. package/dist/components/v2/InputSelect/InputSelectChip.vue.js +2 -2
  73. package/dist/components/v2/InputSelect/InputSelectChip.vue2.js +17 -17
  74. package/dist/components/v2/Popover/Popover.css +1 -1
  75. package/dist/components/v2/Popover/Popover.types.d.ts +2 -2
  76. package/dist/components/v2/Popover/Popover.vue.d.ts +2 -2
  77. package/dist/components/v2/Popover/Popover.vue.js +2 -2
  78. package/dist/components/v2/Popover/Popover.vue2.js +24 -24
  79. package/dist/components/v2/Radio/Radio.css +1 -1
  80. package/dist/components/v2/Radio/Radio.vue.d.ts +4 -0
  81. package/dist/components/v2/Radio/Radio.vue.js +1 -1
  82. package/dist/components/v2/Radio/Radio.vue2.js +57 -49
  83. package/dist/components/v2/Schedule/Schedule.css +1 -1
  84. package/dist/components/v2/Schedule/Schedule.types.d.ts +2 -2
  85. package/dist/components/v2/Schedule/Schedule.vue.d.ts +2 -2
  86. package/dist/components/v2/Schedule/Schedule.vue.js +3 -3
  87. package/dist/components/v2/Schedule/Schedule.vue2.js +55 -55
  88. package/dist/components/v2/Select/Select.css +1 -1
  89. package/dist/components/v2/Select/Select.types.d.ts +8 -2
  90. package/dist/components/v2/Select/Select.vue.js +3 -3
  91. package/dist/components/v2/Select/Select.vue2.js +102 -92
  92. package/dist/components/v2/Toast/Toast.types.d.ts +2 -2
  93. package/dist/components/v2/Toast/Toaster.css +1 -1
  94. package/dist/components/v2/Toast/Toaster.vue.d.ts +2 -2
  95. package/dist/components/v2/Toast/Toaster.vue.js +1 -1
  96. package/dist/components/v2/Toast/Toaster.vue2.js +17 -17
  97. package/dist/components/v2/Tooltip/Tooltip.css +1 -1
  98. package/dist/components/v2/Tooltip/Tooltip.types.d.ts +2 -2
  99. package/dist/components/v2/Tooltip/Tooltip.vue.d.ts +2 -2
  100. package/dist/components/v2/Tooltip/Tooltip.vue.js +1 -1
  101. package/dist/components/v2/Tooltip/Tooltip.vue2.js +39 -38
  102. package/dist/components/v2/Tooltip/TooltipContent.css +1 -1
  103. package/dist/components/v2/Tooltip/TooltipContent.vue.d.ts +2 -2
  104. package/dist/components/v2/Tooltip/TooltipContent.vue.js +2 -2
  105. package/dist/components/v2/Tooltip/TooltipContent.vue2.js +20 -20
  106. package/dist/components/v2/Tooltip/vTooltip.directive.js +40 -41
  107. package/dist/components/v2/index.d.ts +2 -0
  108. package/dist/components/v2/index.js +82 -76
  109. package/dist/components/v2/shared/isHtmlElement.util.d.ts +15 -0
  110. package/dist/components/v2/shared/isHtmlElement.util.js +10 -0
  111. package/dist/components/v2/shared/useIsMobile.util.d.ts +13 -0
  112. package/dist/components/v2/shared/useIsMobile.util.js +8 -0
  113. package/dist/components/v2/shared/useTriggerAria.util.js +4 -3
  114. package/dist/types/global.types.d.ts +10 -0
  115. package/package.json +3 -1
@@ -1,7 +1,7 @@
1
- import { defineComponent as $, useModel as p, useTemplateRef as M, computed as n, openBlock as h, createBlock as B, unref as L, mergeProps as P, createSlots as W, withCtx as a, createVNode as g, renderSlot as i, mergeModels as m } from "vue";
2
- import { useElementSize as C } from "@vueuse/core";
3
- import I from "../Input/Input.vue.js";
4
- import S from "./InputSelectChip.vue.js";
1
+ import { defineComponent as $, useModel as p, useTemplateRef as B, computed as s, openBlock as M, createBlock as h, unref as L, mergeProps as g, createSlots as P, withCtx as a, createVNode as S, renderSlot as i, mergeModels as m } from "vue";
2
+ import { useElementSize as W } from "@vueuse/core";
3
+ import C from "../Input/Input.vue.js";
4
+ import I from "./InputSelectChip.vue.js";
5
5
  const R = 234, F = /* @__PURE__ */ $({
6
6
  inheritAttrs: !1,
7
7
  __name: "InputSelect",
@@ -10,7 +10,7 @@ const R = 234, F = /* @__PURE__ */ $({
10
10
  selectPlaceholder: { default: "Label" },
11
11
  selectLabel: { default: void 0 },
12
12
  dropdownWidth: { default: void 0 },
13
- breakpointMobile: { default: "sm" },
13
+ breakpointMobile: { type: [String, Boolean], default: "sm" },
14
14
  size: { default: "default" },
15
15
  nativeType: { default: "text" },
16
16
  label: { default: void 0 },
@@ -40,11 +40,11 @@ const R = 234, F = /* @__PURE__ */ $({
40
40
  }),
41
41
  emits: /* @__PURE__ */ m(["input", "change", "focus", "blur", "enter", "clear", "select"], ["update:modelValue", "update:selected"]),
42
42
  setup(o, { emit: b }) {
43
- const s = o, d = b, u = p(o, "modelValue"), r = p(o, "selected"), f = M("inputRef"), v = n(() => f.value?.$el), { width: c } = C(v), y = n(
44
- () => s.dropdownWidth ?? (Math.round(c.value) || R)
45
- ), k = n(
46
- () => s.selectLabel ?? s.selectPlaceholder
47
- ), V = n(() => {
43
+ const n = o, d = b, u = p(o, "modelValue"), r = p(o, "selected"), f = B("inputRef"), v = s(() => f.value?.$el), { width: c } = W(v), y = s(
44
+ () => n.dropdownWidth ?? (Math.round(c.value) || R)
45
+ ), k = s(
46
+ () => n.selectLabel ?? n.selectPlaceholder
47
+ ), V = s(() => {
48
48
  const {
49
49
  options: t,
50
50
  selectPlaceholder: e,
@@ -52,10 +52,10 @@ const R = 234, F = /* @__PURE__ */ $({
52
52
  dropdownWidth: T,
53
53
  breakpointMobile: x,
54
54
  ...w
55
- } = s;
55
+ } = n;
56
56
  return w;
57
57
  });
58
- return (t, e) => (h(), B(L(I), P({
58
+ return (t, e) => (M(), h(L(C), g({
59
59
  ref_key: "inputRef",
60
60
  ref: f,
61
61
  modelValue: u.value,
@@ -68,9 +68,9 @@ const R = 234, F = /* @__PURE__ */ $({
68
68
  onBlur: e[6] || (e[6] = (l) => d("blur", l)),
69
69
  onEnter: e[7] || (e[7] = (l) => d("enter", l)),
70
70
  onClear: e[8] || (e[8] = (l) => d("clear"))
71
- }), W({
71
+ }), P({
72
72
  "control-start": a(() => [
73
- g(S, {
73
+ S(I, {
74
74
  modelValue: r.value,
75
75
  "onUpdate:modelValue": e[0] || (e[0] = (l) => r.value = l),
76
76
  options: o.options,
@@ -1 +1 @@
1
- .input-chip[data-v-7ffc00f6]{flex-shrink:0;align-self:stretch;display:flex}.input-chip[data-v-7ffc00f6] .popover-trigger{align-items:stretch;display:flex}.input-chip__button[data-v-7ffc00f6]{padding:.5rem var(--field-chip-padding-x);font:inherit;font-weight:500;font-size:var(--field-chip-font-size);white-space:nowrap;color:var(--theme-primary-600);background-color:var(--theme-primary-75);cursor:pointer;transition:color var(--animation-duration-fast) ease, background-color var(--animation-duration-fast) ease;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;line-height:1rem;display:flex}.input-chip__button[data-v-7ffc00f6]:hover:not(:disabled){background-color:var(--theme-primary-200)}.input-chip__button[data-v-7ffc00f6]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:-.125rem}.input-chip__button[data-v-7ffc00f6]:disabled{cursor:not-allowed;color:var(--theme-neutral-300);background-color:var(--theme-neutral-surface-disabled)}.input-chip__label[data-v-7ffc00f6]{text-overflow:ellipsis;overflow:hidden}.input-chip__arrow[data-v-7ffc00f6]{width:var(--field-chip-icon-size);height:var(--field-chip-icon-size);flex-shrink:0}.input-chip-list[data-v-7ffc00f6]{outline:none;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.input-chip-list__option[data-v-7ffc00f6]{width:100%;min-height:2rem;font:inherit;text-align:left;color:var(--theme-neutral-text-title);cursor:pointer;transition:background-color var(--animation-duration-fast) ease;background-color:#0000;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;display:flex}.input-chip-list__option[data-v-7ffc00f6]:hover:not(.input-chip-list__option--disabled),.input-chip-list__option--active[data-v-7ffc00f6]{background-color:var(--theme-secondary-50)}.input-chip-list__option--disabled[data-v-7ffc00f6]{cursor:not-allowed;opacity:.5}.input-chip-list__label[data-v-7ffc00f6]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}
1
+ .input-chip[data-v-6f0af893]{flex-shrink:0;align-self:stretch;display:flex}.input-chip[data-v-6f0af893] .popover-trigger{align-items:stretch;display:flex}.input-chip__button[data-v-6f0af893]{padding:.5rem var(--field-chip-padding-x);font:inherit;font-weight:500;font-size:var(--field-chip-font-size);white-space:nowrap;color:var(--theme-primary-600);background-color:var(--theme-primary-75);cursor:pointer;transition:color var(--animation-duration-fast) ease, background-color var(--animation-duration-fast) ease;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;line-height:1rem;display:flex}.input-chip__button[data-v-6f0af893]:hover:not(:disabled){background-color:var(--theme-primary-200)}.input-chip__button[data-v-6f0af893]:focus-visible{outline:.125rem solid var(--theme-primary-500);outline-offset:-.125rem}.input-chip__button[data-v-6f0af893]:disabled{cursor:not-allowed;color:var(--theme-neutral-300);background-color:var(--theme-neutral-surface-disabled)}.input-chip__label[data-v-6f0af893]{text-overflow:ellipsis;overflow:hidden}.input-chip__arrow[data-v-6f0af893]{width:var(--field-chip-icon-size);height:var(--field-chip-icon-size);flex-shrink:0}.input-chip-list[data-v-6f0af893]{outline:none;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.input-chip-list__option[data-v-6f0af893]{width:100%;min-height:2rem;font:inherit;text-align:left;color:var(--theme-neutral-text-title);cursor:pointer;transition:background-color var(--animation-duration-fast) ease;background-color:#0000;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;display:flex}.input-chip-list__option[data-v-6f0af893]:hover:not(.input-chip-list__option--disabled),.input-chip-list__option--active[data-v-6f0af893]{background-color:var(--theme-secondary-50)}.input-chip-list__option--disabled[data-v-6f0af893]{cursor:not-allowed;opacity:.5}.input-chip-list__label[data-v-6f0af893]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}
@@ -1,4 +1,4 @@
1
- import { TBreakpoints } from '../../../types/global.types';
1
+ import { TBreakpointMobile } from '../../../types/global.types';
2
2
  import { InputSelectOption } from './InputSelect.types';
3
3
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
4
  interface Props {
@@ -10,7 +10,7 @@ interface Props {
10
10
  /** Доступное имя чипа и списка */
11
11
  label: string;
12
12
  disabled?: boolean;
13
- breakpointMobile?: TBreakpoints;
13
+ breakpointMobile?: TBreakpointMobile;
14
14
  testId?: string;
15
15
  }
16
16
  type __VLS_Props = Props;
@@ -25,7 +25,7 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
25
25
  onSelect?: ((option: InputSelectOption) => any) | undefined;
26
26
  }>, {
27
27
  disabled: boolean;
28
- breakpointMobile: TBreakpoints;
28
+ breakpointMobile: TBreakpointMobile;
29
29
  testId: string;
30
30
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
31
31
  listRef: HTMLDivElement;
@@ -2,7 +2,7 @@ import './InputSelectChip.css';
2
2
  import t from "./InputSelectChip.vue2.js";
3
3
  /* empty css */
4
4
  import o from "../../../_virtual/_plugin-vue_export-helper.js";
5
- const c = /* @__PURE__ */ o(t, [["__scopeId", "data-v-7ffc00f6"]]);
5
+ const a = /* @__PURE__ */ o(t, [["__scopeId", "data-v-6f0af893"]]);
6
6
  export {
7
- c as default
7
+ a as default
8
8
  };
@@ -1,28 +1,28 @@
1
- import { defineComponent as N, useModel as O, ref as y, useId as P, useTemplateRef as U, computed as b, watch as h, openBlock as m, createElementBlock as _, createVNode as g, unref as u, withCtx as E, createElementVNode as f, Fragment as q, renderList as H, mergeProps as $, toDisplayString as C, mergeModels as S, nextTick as j } from "vue";
1
+ import { defineComponent as N, useModel as O, ref as M, useId as P, useTemplateRef as U, computed as b, watch as h, openBlock as m, createElementBlock as _, createVNode as g, unref as u, withCtx as E, createElementVNode as f, Fragment as q, renderList as H, mergeProps as S, toDisplayString as $, mergeModels as C, nextTick as j } from "vue";
2
2
  import { ChevronDown as z } from "@lucide/vue";
3
3
  import G from "../Popover/Popover.vue.js";
4
4
  import J from "../Radio/RadioMarker.vue.js";
5
5
  import { useTestId as Q } from "../shared/useTestId.util.js";
6
6
  const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__label" }, Z = ["aria-label", "aria-activedescendant"], ee = ["id", "aria-selected", "aria-disabled", "onClick", "onMouseenter"], te = { class: "input-chip-list__label" }, re = /* @__PURE__ */ N({
7
7
  __name: "InputSelectChip",
8
- props: /* @__PURE__ */ S({
8
+ props: /* @__PURE__ */ C({
9
9
  options: {},
10
10
  width: {},
11
11
  placeholder: {},
12
12
  label: {},
13
13
  disabled: { type: Boolean, default: !1 },
14
- breakpointMobile: { default: "sm" },
14
+ breakpointMobile: { type: [String, Boolean], default: "sm" },
15
15
  testId: { default: void 0 }
16
16
  }, {
17
17
  modelValue: { default: void 0 },
18
18
  modelModifiers: {}
19
19
  }),
20
- emits: /* @__PURE__ */ S(["select"], ["update:modelValue"]),
21
- setup(o, { emit: R }) {
22
- const i = o, V = R, r = O(o, "modelValue"), s = y(!1), d = `input-chip-list-${P()}`, k = Q(() => i.testId), p = U("listRef"), a = y(-1), B = b(
20
+ emits: /* @__PURE__ */ C(["select"], ["update:modelValue"]),
21
+ setup(o, { emit: B }) {
22
+ const i = o, R = B, r = O(o, "modelValue"), s = M(!1), d = `input-chip-list-${P()}`, k = Q(() => i.testId), p = U("listRef"), a = M(-1), V = b(
23
23
  () => i.options.find((e) => e.value === r.value)
24
24
  ), T = b(
25
- () => B.value?.label ?? i.placeholder
25
+ () => V.value?.label ?? i.placeholder
26
26
  ), A = b(
27
27
  () => a.value === -1 ? void 0 : `${d}-option-${a.value}`
28
28
  );
@@ -74,17 +74,17 @@ const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__l
74
74
  case " ": {
75
75
  const l = i.options[a.value];
76
76
  if (!l) break;
77
- e.preventDefault(), D(l);
77
+ e.preventDefault(), y(l);
78
78
  break;
79
79
  }
80
80
  }
81
81
  }
82
- function D(e) {
83
- e.disabled || (r.value = e.value, V("select", e), s.value = !1);
82
+ function y(e) {
83
+ e.disabled || (r.value = e.value, R("select", e), s.value = !1);
84
84
  }
85
- let M = null;
85
+ let D = null;
86
86
  return h(s, (e) => {
87
- e ? (M = document.activeElement, a.value = -1) : (a.value = -1, M?.focus());
87
+ e ? (D = document.activeElement, a.value = -1) : (a.value = -1, D?.focus());
88
88
  }), h(p, (e) => {
89
89
  e && s.value && I();
90
90
  }), h(
@@ -107,12 +107,12 @@ const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__l
107
107
  "trigger-controls": d
108
108
  }, {
109
109
  trigger: E(({ props: t }) => [
110
- f("button", $({
110
+ f("button", S({
111
111
  type: "button",
112
112
  class: "input-chip__button",
113
113
  disabled: o.disabled
114
114
  }, { ...t, ...u(k)("select-trigger") }), [
115
- f("span", Y, C(T.value), 1),
115
+ f("span", Y, $(T.value), 1),
116
116
  g(u(z), {
117
117
  class: "input-chip__arrow",
118
118
  "stroke-width": 2,
@@ -132,7 +132,7 @@ const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__l
132
132
  class: "input-chip-list",
133
133
  onKeydown: L
134
134
  }, [
135
- (m(!0), _(q, null, H(o.options, (t, n) => (m(), _("div", $({
135
+ (m(!0), _(q, null, H(o.options, (t, n) => (m(), _("div", S({
136
136
  id: `${d}-option-${n}`,
137
137
  key: t.value,
138
138
  role: "option",
@@ -144,7 +144,7 @@ const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__l
144
144
  "aria-selected": t.value === r.value,
145
145
  "aria-disabled": t.disabled || void 0
146
146
  }, { ref_for: !0 }, u(k)("select-option", t.value), {
147
- onClick: (c) => D(t),
147
+ onClick: (c) => y(t),
148
148
  onMouseenter: (c) => K(n, t.disabled)
149
149
  }), [
150
150
  g(u(J), {
@@ -152,7 +152,7 @@ const W = { class: "input-chip" }, X = ["disabled"], Y = { class: "input-chip__l
152
152
  disabled: t.disabled,
153
153
  state: a.value === n ? "hover" : "default"
154
154
  }, null, 8, ["checked", "disabled", "state"]),
155
- f("span", te, C(t.label), 1)
155
+ f("span", te, $(t.label), 1)
156
156
  ], 16, ee))), 128))
157
157
  ], 40, Z)
158
158
  ]),
@@ -1 +1 @@
1
- .popover-trigger[data-v-a20b3039]{display:block}.popover-mobile[data-v-a20b3039]{width:100%}.popover-content[data-v-a20b3039]{z-index:1001;background-color:var(--theme-neutral-0);filter:drop-shadow(-1px 1px 10px #8d8f9340);border-radius:16px;position:fixed}.popover-content[data-state=open][data-v-a20b3039]{animation:fadeIn var(--animation-duration) ease-in-out}.popover-content[data-state=closed][data-v-a20b3039]{animation:fadeOut var(--animation-duration) ease-in-out}.popover-arrow[data-v-a20b3039]{background-color:var(--theme-neutral-0);pointer-events:none;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.popover-arrow--bottom[data-v-a20b3039]{top:-5px}.popover-arrow--top[data-v-a20b3039]{bottom:-5px}.popover-arrow--right[data-v-a20b3039]{left:-5px}.popover-arrow--left[data-v-a20b3039]{right:-5px}
1
+ .popover-trigger[data-v-3289c013]{display:block}.popover-mobile[data-v-3289c013]{width:100%}.popover-content[data-v-3289c013]{z-index:1001;background-color:var(--theme-neutral-0);filter:drop-shadow(-1px 1px 10px #8d8f9340);border-radius:16px;position:fixed}.popover-content[data-state=open][data-v-3289c013]{animation:fadeIn var(--animation-duration) ease-in-out}.popover-content[data-state=closed][data-v-3289c013]{animation:fadeOut var(--animation-duration) ease-in-out}.popover-arrow[data-v-3289c013]{background-color:var(--theme-neutral-0);pointer-events:none;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.popover-arrow--bottom[data-v-3289c013]{top:-5px}.popover-arrow--top[data-v-3289c013]{bottom:-5px}.popover-arrow--right[data-v-3289c013]{left:-5px}.popover-arrow--left[data-v-3289c013]{right:-5px}
@@ -1,4 +1,4 @@
1
- import { TBreakpoints } from '../../../types/global.types';
1
+ import { TBreakpointMobile } from '../../../types/global.types';
2
2
  export type PopoverSide = 'top' | 'right' | 'bottom' | 'left';
3
3
  export type PopoverAlign = 'start' | 'center' | 'end';
4
4
  export interface PopoverProps {
@@ -9,7 +9,7 @@ export interface PopoverProps {
9
9
  alignOffset?: number;
10
10
  arrow?: boolean;
11
11
  zIndex?: number | 'auto';
12
- breakpointMobile?: TBreakpoints;
12
+ breakpointMobile?: TBreakpointMobile;
13
13
  disableOutsidePointerEvents?: boolean;
14
14
  /**
15
15
  * Доступное имя попапа (`aria-label`). Роль `dialog` проставляется только
@@ -1,6 +1,6 @@
1
1
  import { PopoverProps, PopoverSide, PopoverAlign } from './Popover.types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- import { TBreakpoints } from '../../../types/global.types';
3
+ import { TBreakpointMobile } from '../../../types/global.types';
4
4
  type __VLS_Props = PopoverProps;
5
5
  type __VLS_PublicProps = {
6
6
  'open'?: boolean;
@@ -43,7 +43,7 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
43
43
  sideOffset: number;
44
44
  align: PopoverAlign;
45
45
  alignOffset: number;
46
- breakpointMobile: TBreakpoints;
46
+ breakpointMobile: TBreakpointMobile;
47
47
  arrow: boolean;
48
48
  testId: string;
49
49
  labelledBy: string;
@@ -2,7 +2,7 @@ import './Popover.css';
2
2
  import o from "./Popover.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-a20b3039"]]);
5
+ const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-3289c013"]]);
6
6
  export {
7
- m as default
7
+ _ as default
8
8
  };
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as se, useModel as ae, useId as le, computed as g, useTemplateRef as F, reactive as K, ref as re, watch as de, onBeforeUnmount as fe, openBlock as h, createElementBlock as T, Fragment as ue, mergeProps as z, unref as c, renderSlot as S, createCommentVNode as A, createBlock as W, withCtx as U, createElementVNode as G, mergeModels as Z, nextTick as ce } from "vue";
2
- import { breakpoints as pe } from "../../../utils/breakpoints.util.js";
3
- import { onClickOutside as me } from "../../../utils/onClickOutside.util.js";
4
- import { useFocusTrap as ve } from "../../../utils/useFocusTrap.util.js";
5
- import ge from "../BottomSheet/BottomSheet.vue.js";
2
+ import { onClickOutside as pe } from "../../../utils/onClickOutside.util.js";
3
+ import { useFocusTrap as me } from "../../../utils/useFocusTrap.util.js";
4
+ import ve from "../BottomSheet/BottomSheet.vue.js";
6
5
  import { ANIMATION_DURATION_MS as j } from "../shared/animation.const.js";
7
- import he from "../shared/Portal.vue.js";
8
- import { useDelayedVisibility as we } from "../shared/useDelayedVisibility.util.js";
6
+ import ge from "../shared/Portal.vue.js";
7
+ import { useDelayedVisibility as he } from "../shared/useDelayedVisibility.util.js";
8
+ import { useIsMobile as we } from "../shared/useIsMobile.util.js";
9
9
  import { useTestId as be } from "../shared/useTestId.util.js";
10
10
  import { useTriggerAria as ye } from "../shared/useTriggerAria.util.js";
11
- const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labelledby", "data-state"], M = 10, p = 8, ze = /* @__PURE__ */ se({
11
+ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labelledby", "data-state"], k = 10, p = 8, ze = /* @__PURE__ */ se({
12
12
  inheritAttrs: !1,
13
13
  __name: "Popover",
14
14
  props: /* @__PURE__ */ Z({
@@ -19,7 +19,7 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
19
19
  alignOffset: { default: 0 },
20
20
  arrow: { type: Boolean, default: !0 },
21
21
  zIndex: { default: "auto" },
22
- breakpointMobile: { default: "sm" },
22
+ breakpointMobile: { type: [String, Boolean], default: "sm" },
23
23
  disableOutsidePointerEvents: { type: Boolean, default: !1 },
24
24
  label: { default: void 0 },
25
25
  labelledBy: { default: void 0 },
@@ -33,7 +33,7 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
33
33
  }),
34
34
  emits: /* @__PURE__ */ Z(["escapeKeyDown", "pointerDownOutside"], ["update:open"]),
35
35
  setup(a, { emit: q }) {
36
- const e = a, w = q, r = ae(a, "open"), H = pe.smaller(e.breakpointMobile), E = `popover-content-${le()}`, R = be(() => e.testId), J = g(
36
+ const e = a, w = q, r = ae(a, "open"), H = we(e.breakpointMobile), E = `popover-content-${le()}`, I = be(() => e.testId), J = g(
37
37
  () => e.label || e.labelledBy ? "dialog" : void 0
38
38
  );
39
39
  function Q() {
@@ -47,7 +47,7 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
47
47
  function N() {
48
48
  r.value = !1;
49
49
  }
50
- const Y = g(() => r.value && !H.value), b = F("triggerRef"), m = F("contentRef"), I = ve(() => m.value);
50
+ const Y = g(() => r.value && !H.value), b = F("triggerRef"), m = F("contentRef"), R = me(() => m.value);
51
51
  ye({
52
52
  host: () => b.value,
53
53
  isOpen: () => r.value,
@@ -64,8 +64,8 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
64
64
  if (!o || !s) return;
65
65
  const t = o.getBoundingClientRect(), n = s.getBoundingClientRect(), x = window.innerWidth, V = window.innerHeight, D = V - t.bottom, $ = t.top, C = t.left, L = x - t.right;
66
66
  let i = e.side;
67
- const k = i === "top" || i === "bottom" ? n.height : n.width;
68
- i === "bottom" && D < k + e.sideOffset && $ > D ? i = "top" : i === "top" && $ < k + e.sideOffset && D > $ ? i = "bottom" : i === "right" && L < k + e.sideOffset && C > L ? i = "left" : i === "left" && C < k + e.sideOffset && L > C && (i = "right");
67
+ const M = i === "top" || i === "bottom" ? n.height : n.width;
68
+ i === "bottom" && D < M + e.sideOffset && $ > D ? i = "top" : i === "top" && $ < M + e.sideOffset && D > $ ? i = "bottom" : i === "right" && L < M + e.sideOffset && C > L ? i = "left" : i === "left" && C < M + e.sideOffset && L > C && (i = "right");
69
69
  let f, u;
70
70
  i === "bottom" || i === "top" ? (f = i === "bottom" ? t.bottom + e.sideOffset : t.top - n.height - e.sideOffset, e.align === "start" ? u = t.left + e.alignOffset : e.align === "end" ? u = t.right - n.width - e.alignOffset : u = t.left + t.width / 2 - n.width / 2 + e.alignOffset) : (u = i === "right" ? t.right + e.sideOffset : t.left - n.width - e.sideOffset, e.align === "start" ? f = t.top + e.alignOffset : e.align === "end" ? f = t.bottom - n.height - e.alignOffset : f = t.top + t.height / 2 - n.height / 2 + e.alignOffset), u = Math.min(
71
71
  Math.max(u, p),
@@ -89,10 +89,10 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
89
89
  ...e.zIndex !== "auto" ? { zIndex: e.zIndex } : {}
90
90
  })), te = g(() => {
91
91
  if (l.side === "top" || l.side === "bottom") {
92
- const n = Math.max(12, e.width - 12 - M), x = y.x - l.left - M / 2;
92
+ const n = Math.max(12, e.width - 12 - k), x = y.x - l.left - k / 2;
93
93
  return { left: `${Math.min(Math.max(x, 12), n)}px` };
94
94
  }
95
- const o = m.value?.offsetHeight ?? 0, s = Math.max(12, o - 12 - M), t = y.y - l.top - M / 2;
95
+ const o = m.value?.offsetHeight ?? 0, s = Math.max(12, o - 12 - k), t = y.y - l.top - k / 2;
96
96
  return { top: `${Math.min(Math.max(t, 12), s)}px` };
97
97
  });
98
98
  function d() {
@@ -104,35 +104,35 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
104
104
  function oe(o) {
105
105
  w("pointerDownOutside", o), !e.disableOutsidePointerEvents && !o.defaultPrevented && N();
106
106
  }
107
- const { visible: ie, dataState: ne } = we(
107
+ const { visible: ie, dataState: ne } = he(
108
108
  Y,
109
109
  j,
110
110
  {
111
111
  onOpen: () => {
112
- B.value = !1, document.addEventListener("keydown", P), window.addEventListener("resize", d), window.addEventListener("scroll", d, !0), d(), e.trapFocus && I.activate({ focusDelayMs: j });
112
+ B.value = !1, document.addEventListener("keydown", P), window.addEventListener("resize", d), window.addEventListener("scroll", d, !0), d(), e.trapFocus && R.activate({ focusDelayMs: j });
113
113
  },
114
114
  onCloseStart: () => {
115
- document.removeEventListener("keydown", P), window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0), I.deactivate();
115
+ document.removeEventListener("keydown", P), window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0), R.deactivate();
116
116
  }
117
117
  }
118
118
  );
119
119
  let O, v;
120
120
  return de(m, (o) => {
121
- O?.(), v?.disconnect(), o ? (O = me(o, oe, {
121
+ O?.(), v?.disconnect(), o ? (O = pe(o, oe, {
122
122
  ignore: [b]
123
123
  }), v = new ResizeObserver(d), v.observe(o)) : (O = void 0, v = void 0);
124
124
  }), fe(() => {
125
- O?.(), v?.disconnect(), document.removeEventListener("keydown", P), window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0), I.deactivate();
125
+ O?.(), v?.disconnect(), document.removeEventListener("keydown", P), window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0), R.deactivate();
126
126
  }), (o, s) => (h(), T(ue, null, [
127
127
  o.$slots.trigger ? (h(), T("span", z({
128
128
  key: 0,
129
129
  ref_key: "triggerRef",
130
130
  ref: b,
131
131
  class: "popover-trigger"
132
- }, c(R)("trigger"), { onClick: Q }), [
132
+ }, c(I)("trigger"), { onClick: Q }), [
133
133
  S(o.$slots, "trigger", { props: X.value }, void 0, !0)
134
134
  ], 16)) : A("", !0),
135
- c(H) ? (h(), W(c(ge), {
135
+ c(H) ? (h(), W(c(ve), {
136
136
  key: 1,
137
137
  open: r.value,
138
138
  "onUpdate:open": s[0] || (s[0] = (t) => r.value = t),
@@ -149,7 +149,7 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
149
149
  ])
150
150
  ]),
151
151
  _: 3
152
- }, 8, ["open", "disable-outside-pointer-events", "label", "labelled-by", "test-id"])) : c(ie) ? (h(), W(he, { key: 2 }, {
152
+ }, 8, ["open", "disable-outside-pointer-events", "label", "labelled-by", "test-id"])) : c(ie) ? (h(), W(ge, { key: 2 }, {
153
153
  default: U(() => [
154
154
  G("div", z({
155
155
  id: E,
@@ -161,12 +161,12 @@ const Oe = { class: "popover-mobile" }, xe = ["role", "aria-label", "aria-labell
161
161
  "data-state": c(ne),
162
162
  class: "popover-content",
163
163
  style: ee.value
164
- }, { ...o.$attrs, ...c(R)("content") }), [
164
+ }, { ...o.$attrs, ...c(I)("content") }), [
165
165
  a.arrow ? (h(), T("div", z({
166
166
  key: 0,
167
167
  class: ["popover-arrow", `popover-arrow--${l.side}`],
168
168
  style: te.value
169
- }, c(R)("arrow")), null, 16)) : A("", !0),
169
+ }, c(I)("arrow")), null, 16)) : A("", !0),
170
170
  S(o.$slots, "default", {}, void 0, !0)
171
171
  ], 16, xe)
172
172
  ]),
@@ -1 +1 @@
1
- .radio[data-v-b337a8cb]{cursor:pointer;align-items:flex-start;gap:.5rem;display:inline-flex}.radio__input[data-v-b337a8cb]{clip-path:inset(50%);white-space:nowrap;border:0;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.radio__text[data-v-b337a8cb]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.radio__label[data-v-b337a8cb]{color:var(--theme-neutral-text-title);overflow-wrap:break-word;font-size:.875rem;font-weight:400;line-height:1.25rem}.radio__description[data-v-b337a8cb]{color:var(--theme-neutral-text-caption);overflow-wrap:break-word;font-size:1rem;font-weight:400;line-height:1.25rem}.radio[data-v-b337a8cb]:not(:has(.radio__description)){align-items:center}.radio--small .radio__label[data-v-b337a8cb]{font-size:.75rem;line-height:1rem}.radio--disabled[data-v-b337a8cb]{cursor:not-allowed;opacity:.5}.radio--disabled .radio__label[data-v-b337a8cb]{color:var(--theme-neutral-500)}
1
+ .radio[data-v-1ce22716]{cursor:pointer;align-items:flex-start;gap:.5rem;display:inline-flex}.radio__input[data-v-1ce22716]{clip-path:inset(50%);white-space:nowrap;border:0;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.radio__text[data-v-1ce22716]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.radio__content[data-v-1ce22716]{flex:1 1 0;min-width:0}.radio__label[data-v-1ce22716]{color:var(--theme-neutral-text-title);overflow-wrap:break-word;font-size:.875rem;font-weight:400;line-height:1.25rem}.radio__description[data-v-1ce22716]{color:var(--theme-neutral-text-caption);overflow-wrap:break-word;font-size:1rem;font-weight:400;line-height:1.25rem}.radio[data-v-1ce22716]:not(:has(.radio__description)):not(:has(.radio__content)){align-items:center}.radio--small .radio__label[data-v-1ce22716]{font-size:.75rem;line-height:1rem}.radio--disabled[data-v-1ce22716]{cursor:not-allowed;opacity:.5}.radio--disabled .radio__label[data-v-1ce22716]{color:var(--theme-neutral-500)}
@@ -7,6 +7,10 @@ type __VLS_PublicProps = {
7
7
  declare function __VLS_template(): {
8
8
  attrs: Partial<{}>;
9
9
  slots: {
10
+ content?(_: {
11
+ checked: boolean;
12
+ disabled: boolean;
13
+ }): any;
10
14
  default?(_: {}): any;
11
15
  description?(_: {}): any;
12
16
  };
@@ -2,7 +2,7 @@ import './Radio.css';
2
2
  import o from "./Radio.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-b337a8cb"]]);
5
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-1ce22716"]]);
6
6
  export {
7
7
  p as default
8
8
  };
@@ -1,11 +1,11 @@
1
- import { defineComponent as O, useModel as j, useSlots as w, useId as G, useTemplateRef as H, inject as K, ref as b, computed as t, openBlock as i, createElementBlock as r, mergeProps as v, unref as c, createElementVNode as U, createVNode as Y, renderSlot as N, createTextVNode as z, toDisplayString as C, createCommentVNode as h, mergeModels as I } from "vue";
2
- import { useTestId as q } from "../shared/useTestId.util.js";
1
+ import { defineComponent as j, useModel as w, useSlots as G, useId as H, useTemplateRef as K, inject as U, ref as h, computed as t, openBlock as d, createElementBlock as i, mergeProps as r, unref as v, createElementVNode as Y, createVNode as q, renderSlot as k, createTextVNode as z, toDisplayString as C, createCommentVNode as g, mergeModels as I } from "vue";
2
+ import { useTestId as x } from "../shared/useTestId.util.js";
3
3
  import { RADIO_GROUP_KEY as J } from "./radioGroup.context.js";
4
4
  import Q from "./RadioMarker.vue.js";
5
5
  const W = ["for"], X = ["id", "name", "value", "checked", "disabled"], Z = {
6
- key: 0,
6
+ key: 1,
7
7
  class: "radio__text"
8
- }, oe = /* @__PURE__ */ O({
8
+ }, oe = /* @__PURE__ */ j({
9
9
  inheritAttrs: !1,
10
10
  __name: "Radio",
11
11
  props: /* @__PURE__ */ I({
@@ -22,75 +22,83 @@ const W = ["for"], X = ["id", "name", "value", "checked", "disabled"], Z = {
22
22
  modelModifiers: {}
23
23
  }),
24
24
  emits: /* @__PURE__ */ I(["change"], ["update:modelValue"]),
25
- setup(o, { emit: M }) {
26
- const e = o, P = M, k = j(o, "modelValue"), g = w(), n = q(() => e.testId), D = G(), B = H("inputRef"), l = K(J, void 0), f = b(!1), u = b(!1), m = b(!1), y = t(() => e.id ?? `${D}-radio`), T = t(() => e.name ?? l?.name), $ = t(
25
+ setup(n, { emit: M }) {
26
+ const e = n, P = M, $ = w(n, "modelValue"), y = G(), u = x(() => e.testId), D = H(), B = K("inputRef"), l = U(J, void 0), f = h(!1), c = h(!1), m = h(!1), R = t(() => e.id ?? `${D}-radio`), T = t(() => e.name ?? l?.name), S = t(
27
27
  () => e.size ?? l?.size.value ?? "default"
28
- ), s = t(
28
+ ), o = t(
29
29
  () => e.disabled || !!l?.disabled.value
30
- ), R = t(() => (l ? l.selected.value : k.value) === e.value), S = t(() => !!(e.label || g.default)), V = t(
31
- () => !!(e.description || g.description)
32
- ), _ = t(() => S.value || V.value), E = t(() => s.value ? "default" : u.value ? "pressed" : m.value ? "focused" : f.value ? "hover" : "default"), F = t(() => [
30
+ ), p = t(() => (l ? l.selected.value : $.value) === e.value), V = t(() => !!(e.label || y.default)), N = t(
31
+ () => !!(e.description || y.description)
32
+ ), _ = t(() => V.value || N.value), E = t(() => o.value ? "default" : c.value ? "pressed" : m.value ? "focused" : f.value ? "hover" : "default"), F = t(() => [
33
33
  "radio",
34
- `radio--${$.value}`,
35
- { "radio--disabled": s.value }
34
+ `radio--${S.value}`,
35
+ { "radio--disabled": o.value }
36
36
  ]);
37
- function x() {
38
- f.value = !1, u.value = !1;
39
- }
40
37
  function A() {
41
- m.value = !!B.value?.matches(":focus-visible");
38
+ f.value = !1, c.value = !1;
42
39
  }
43
40
  function L() {
44
- s.value || (l ? l.select(e.value) : k.value = e.value, P("change", e.value));
41
+ m.value = !!B.value?.matches(":focus-visible");
42
+ }
43
+ function O() {
44
+ o.value || (l ? l.select(e.value) : $.value = e.value, P("change", e.value));
45
45
  }
46
- return (d, a) => (i(), r("label", v({
46
+ return (s, a) => (d(), i("label", r({
47
47
  class: F.value,
48
- for: y.value
49
- }, c(n)("root"), {
50
- onMouseenter: a[1] || (a[1] = (p) => f.value = !0),
51
- onMouseleave: x,
52
- onPointerdown: a[2] || (a[2] = (p) => u.value = !0),
53
- onPointerup: a[3] || (a[3] = (p) => u.value = !1)
48
+ for: R.value
49
+ }, v(u)("root"), {
50
+ onMouseenter: a[1] || (a[1] = (b) => f.value = !0),
51
+ onMouseleave: A,
52
+ onPointerdown: a[2] || (a[2] = (b) => c.value = !0),
53
+ onPointerup: a[3] || (a[3] = (b) => c.value = !1)
54
54
  }), [
55
- U("input", v({
56
- id: y.value,
55
+ Y("input", r({
56
+ id: R.value,
57
57
  ref_key: "inputRef",
58
58
  ref: B,
59
59
  type: "radio",
60
60
  class: "radio__input",
61
61
  name: T.value,
62
- value: String(o.value),
63
- checked: R.value,
64
- disabled: s.value
65
- }, { ...d.$attrs, ...c(n)("input") }, {
66
- onChange: L,
67
- onFocus: A,
68
- onBlur: a[0] || (a[0] = (p) => m.value = !1)
62
+ value: String(n.value),
63
+ checked: p.value,
64
+ disabled: o.value
65
+ }, { ...s.$attrs, ...v(u)("input") }, {
66
+ onChange: O,
67
+ onFocus: L,
68
+ onBlur: a[0] || (a[0] = (b) => m.value = !1)
69
69
  }), null, 16, X),
70
- Y(Q, {
71
- size: $.value,
72
- checked: R.value,
73
- disabled: s.value,
70
+ q(Q, {
71
+ size: S.value,
72
+ checked: p.value,
73
+ disabled: o.value,
74
74
  state: E.value
75
75
  }, null, 8, ["size", "checked", "disabled", "state"]),
76
- _.value ? (i(), r("span", Z, [
77
- S.value ? (i(), r("span", v({
76
+ s.$slots.content ? (d(), i("span", r({
77
+ key: 0,
78
+ class: "radio__content"
79
+ }, v(u)("content")), [
80
+ k(s.$slots, "content", {
81
+ checked: p.value,
82
+ disabled: o.value
83
+ }, void 0, !0)
84
+ ], 16)) : _.value ? (d(), i("span", Z, [
85
+ V.value ? (d(), i("span", r({
78
86
  key: 0,
79
87
  class: "radio__label"
80
- }, c(n)("label")), [
81
- N(d.$slots, "default", {}, () => [
82
- z(C(o.label), 1)
88
+ }, v(u)("label")), [
89
+ k(s.$slots, "default", {}, () => [
90
+ z(C(n.label), 1)
83
91
  ], !0)
84
- ], 16)) : h("", !0),
85
- V.value ? (i(), r("span", v({
92
+ ], 16)) : g("", !0),
93
+ N.value ? (d(), i("span", r({
86
94
  key: 1,
87
95
  class: "radio__description"
88
- }, c(n)("description")), [
89
- N(d.$slots, "description", {}, () => [
90
- z(C(o.description), 1)
96
+ }, v(u)("description")), [
97
+ k(s.$slots, "description", {}, () => [
98
+ z(C(n.description), 1)
91
99
  ], !0)
92
- ], 16)) : h("", !0)
93
- ])) : h("", !0)
100
+ ], 16)) : g("", !0)
101
+ ])) : g("", !0)
94
102
  ], 16, W));
95
103
  }
96
104
  });
@@ -1 +1 @@
1
- .schedule-field[data-v-6aaf2a76]{max-width:100%;height:var(--input-height);background-color:var(--theme-neutral-0);border:1px solid var(--input-border-color);padding:var(--input-padding);cursor:pointer;border-radius:8px;justify-content:flex-start;align-items:center;gap:4px;display:flex;overflow:hidden}.schedule-field[data-v-6aaf2a76]:hover{border-color:var(--input-border-color-hover)}.schedule-field__main[data-v-6aaf2a76]{min-width:0;height:100%;font:inherit;text-align:left;cursor:inherit;background:0 0;border:none;flex:auto;justify-content:flex-start;align-items:center;gap:4px;padding:0;display:flex}.schedule-field__main[data-v-6aaf2a76]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:-2px}.schedule-field__main[data-v-6aaf2a76]:disabled{cursor:not-allowed}.schedule-field--open[data-v-6aaf2a76]{border-color:var(--input-border-color-focus)}.schedule-field--disabled[data-v-6aaf2a76]{cursor:not-allowed;opacity:.6}.schedule-field--small[data-v-6aaf2a76]{height:var(--input-height-small)}.schedule-field--large[data-v-6aaf2a76]{height:var(--input-height-large)}.schedule-field__icon[data-v-6aaf2a76]{color:var(--theme-neutral-icon-caption);flex:none}.schedule-field__placeholder[data-v-6aaf2a76],.schedule-field__value[data-v-6aaf2a76]{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--input-font-size);overflow:hidden}.schedule-field__placeholder[data-v-6aaf2a76]{color:var(--input-color-placeholder)}.schedule-field__value[data-v-6aaf2a76]{color:var(--theme-neutral-text-body)}.schedule-field__clear[data-v-6aaf2a76]{width:16px;height:16px;color:var(--color-neutral-text-caption);cursor:pointer;background:0 0;border:none;flex:none;margin-left:auto;padding:0}.schedule-field__clear[data-v-6aaf2a76]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-field__clear svg[data-v-6aaf2a76]{width:100%;height:100%}.schedule-field__clear[data-v-6aaf2a76]:hover{color:var(--color-error-500)}.schedule-panel[data-v-6aaf2a76]{flex-direction:column;gap:20px;padding:24px;display:flex}.schedule-panel--mobile[data-v-6aaf2a76]{gap:16px;padding:0 16px 16px}.schedule-panel__header[data-v-6aaf2a76]{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-panel__title[data-v-6aaf2a76]{color:var(--theme-neutral-text-title);font-size:1.125rem;font-weight:500;line-height:1.5}.schedule-panel__close[data-v-6aaf2a76]{width:24px;height:24px;color:var(--theme-neutral-text-title);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.schedule-panel__close[data-v-6aaf2a76]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-panel__rows[data-v-6aaf2a76]{flex-direction:column;gap:12px;display:flex}.schedule-row[data-v-6aaf2a76]{align-items:center;gap:12px;display:flex}.schedule-row__day[data-v-6aaf2a76]{cursor:pointer;flex:0 0 120px;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.schedule-row__checkbox[data-v-6aaf2a76]{opacity:0;cursor:pointer;width:20px;height:20px;margin:0;position:absolute}.schedule-row__checkbox:checked+.schedule-row__box[data-v-6aaf2a76]{background-color:var(--theme-primary-500);border-color:var(--theme-primary-500);color:var(--theme-neutral-icon-negative)}.schedule-row__checkbox:checked+.schedule-row__box svg[data-v-6aaf2a76]{opacity:1}.schedule-row__checkbox:hover+.schedule-row__box[data-v-6aaf2a76]{border-color:var(--input-border-color-hover)}.schedule-row__checkbox:focus-visible+.schedule-row__box[data-v-6aaf2a76]{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-row__box[data-v-6aaf2a76]{background-color:var(--theme-neutral-0);border:1px solid var(--theme-neutral-border-default);width:20px;height:20px;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease;border-radius:5px;flex:none;justify-content:center;align-items:center;display:flex}.schedule-row__box svg[data-v-6aaf2a76]{opacity:0;transition:opacity var(--animation-duration-fast) ease}.schedule-row__label[data-v-6aaf2a76]{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--theme-neutral-text-subtitle);font-size:.75rem;line-height:1rem;overflow:hidden}.schedule-row__times[data-v-6aaf2a76]{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.schedule-row__preposition[data-v-6aaf2a76]{color:var(--theme-neutral-text-body);flex:none;font-size:.75rem;line-height:1rem}
1
+ .schedule-field[data-v-c5e69a0e]{max-width:100%;height:var(--input-height);background-color:var(--theme-neutral-0);border:1px solid var(--input-border-color);padding:var(--input-padding);cursor:pointer;border-radius:8px;justify-content:flex-start;align-items:center;gap:4px;display:flex;overflow:hidden}.schedule-field[data-v-c5e69a0e]:hover{border-color:var(--input-border-color-hover)}.schedule-field__main[data-v-c5e69a0e]{min-width:0;height:100%;font:inherit;text-align:left;cursor:inherit;background:0 0;border:none;flex:auto;justify-content:flex-start;align-items:center;gap:4px;padding:0;display:flex}.schedule-field__main[data-v-c5e69a0e]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:-2px}.schedule-field__main[data-v-c5e69a0e]:disabled{cursor:not-allowed}.schedule-field--open[data-v-c5e69a0e]{border-color:var(--input-border-color-focus)}.schedule-field--disabled[data-v-c5e69a0e]{cursor:not-allowed;opacity:.6}.schedule-field--small[data-v-c5e69a0e]{height:var(--input-height-small)}.schedule-field--large[data-v-c5e69a0e]{height:var(--input-height-large)}.schedule-field__icon[data-v-c5e69a0e]{color:var(--theme-neutral-icon-caption);flex:none}.schedule-field__placeholder[data-v-c5e69a0e],.schedule-field__value[data-v-c5e69a0e]{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--input-font-size);overflow:hidden}.schedule-field__placeholder[data-v-c5e69a0e]{color:var(--input-color-placeholder)}.schedule-field__value[data-v-c5e69a0e]{color:var(--theme-neutral-text-body)}.schedule-field__clear[data-v-c5e69a0e]{width:16px;height:16px;color:var(--color-neutral-text-caption);cursor:pointer;background:0 0;border:none;flex:none;margin-left:auto;padding:0}.schedule-field__clear[data-v-c5e69a0e]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-field__clear svg[data-v-c5e69a0e]{width:100%;height:100%}.schedule-field__clear[data-v-c5e69a0e]:hover{color:var(--color-error-500)}.schedule-panel[data-v-c5e69a0e]{flex-direction:column;gap:20px;padding:24px;display:flex}.schedule-panel--mobile[data-v-c5e69a0e]{gap:16px;padding:0 16px 16px}.schedule-panel__header[data-v-c5e69a0e]{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-panel__title[data-v-c5e69a0e]{color:var(--theme-neutral-text-title);font-size:1.125rem;font-weight:500;line-height:1.5}.schedule-panel__close[data-v-c5e69a0e]{width:24px;height:24px;color:var(--theme-neutral-text-title);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.schedule-panel__close[data-v-c5e69a0e]:focus-visible{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-panel__rows[data-v-c5e69a0e]{flex-direction:column;gap:12px;display:flex}.schedule-row[data-v-c5e69a0e]{align-items:center;gap:12px;display:flex}.schedule-row__day[data-v-c5e69a0e]{cursor:pointer;flex:0 0 120px;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.schedule-row__checkbox[data-v-c5e69a0e]{opacity:0;cursor:pointer;width:20px;height:20px;margin:0;position:absolute}.schedule-row__checkbox:checked+.schedule-row__box[data-v-c5e69a0e]{background-color:var(--theme-primary-500);border-color:var(--theme-primary-500);color:var(--theme-neutral-icon-negative)}.schedule-row__checkbox:checked+.schedule-row__box svg[data-v-c5e69a0e]{opacity:1}.schedule-row__checkbox:hover+.schedule-row__box[data-v-c5e69a0e]{border-color:var(--input-border-color-hover)}.schedule-row__checkbox:focus-visible+.schedule-row__box[data-v-c5e69a0e]{outline:2px solid var(--theme-primary-500);outline-offset:2px}.schedule-row__box[data-v-c5e69a0e]{background-color:var(--theme-neutral-0);border:1px solid var(--theme-neutral-border-default);width:20px;height:20px;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease;border-radius:5px;flex:none;justify-content:center;align-items:center;display:flex}.schedule-row__box svg[data-v-c5e69a0e]{opacity:0;transition:opacity var(--animation-duration-fast) ease}.schedule-row__label[data-v-c5e69a0e]{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--theme-neutral-text-subtitle);font-size:.75rem;line-height:1rem;overflow:hidden}.schedule-row__times[data-v-c5e69a0e]{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.schedule-row__preposition[data-v-c5e69a0e]{color:var(--theme-neutral-text-body);flex:none;font-size:.75rem;line-height:1rem}
@@ -1,4 +1,4 @@
1
- import { TBreakpoints } from '../../../types/global.types';
1
+ import { TBreakpointMobile } from '../../../types/global.types';
2
2
  export type ScheduleDay = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
3
3
  /**
4
4
  * Интервал работы за один день. Время — строка `HH:MM` в 24-часовом формате:
@@ -54,7 +54,7 @@ export interface ScheduleProps {
54
54
  dayLabels?: Partial<Record<ScheduleDay, string>>;
55
55
  /** Короткие подписи дней для сводки в поле. */
56
56
  dayShortLabels?: Partial<Record<ScheduleDay, string>>;
57
- breakpointMobile?: TBreakpoints;
57
+ breakpointMobile?: TBreakpointMobile;
58
58
  /**
59
59
  * Доступное имя поля. По умолчанию берётся `placeholder`; выбранное
60
60
  * значение подставляется к нему автоматически.