@pgcorp/ui-kit 0.14.0 → 0.15.0

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 (117) hide show
  1. package/README.md +330 -12
  2. package/dist/assets/src/components/layout/{SResizeHandle.vue_vue_type_style_index_0_scoped_13b9b27a_lang.css → SResizeHandle.vue_vue_type_style_index_0_scoped_dc65aba1_lang.css} +1 -1
  3. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_a108e8f1_scoped_a108e8f1_lang.css +2 -0
  4. package/dist/assets/src/components/shared/containers/{SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css → SCollapsiblePanel.css_vue_type_style_index_0_src_db85261d_scoped_db85261d_lang.css} +1 -1
  5. package/dist/assets/src/components/shared/containers/{SOverlayHost.css_vue_type_style_index_0_src_8f9be94e_scoped_8f9be94e_lang.css → SOverlayHost.css_vue_type_style_index_0_src_09215628_scoped_09215628_lang.css} +1 -1
  6. package/dist/assets/src/components/shared/containers/{SPopover.css_vue_type_style_index_0_src_4091d007_scoped_4091d007_lang.css → SPopover.css_vue_type_style_index_0_src_a4f1f64a_scoped_a4f1f64a_lang.css} +1 -1
  7. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_52396e42_scoped_52396e42_lang.css +2 -0
  8. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +1 -1
  9. package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_2562f916_scoped_2562f916_lang.css +2 -0
  10. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_d630c922_scoped_d630c922_lang.css +2 -0
  11. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_43b6e378_scoped_43b6e378_lang.css +1 -0
  12. package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_857e2649_scoped_857e2649_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_40040ae5_scoped_40040ae5_lang.css} +1 -1
  13. package/dist/assets/src/components/shared/controls/{SMenuSurface.css_vue_type_style_index_0_src_84109ad9_scoped_84109ad9_lang.css → SMenuSurface.css_vue_type_style_index_0_src_d2b7d71b_scoped_d2b7d71b_lang.css} +1 -1
  14. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_d1ead6c0_scoped_d1ead6c0_lang.css +2 -0
  15. package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_a69aa84b_scoped_a69aa84b_lang.css +2 -0
  16. package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_d94fcf8c_scoped_d94fcf8c_lang.css +2 -0
  17. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
  18. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_914bad28_scoped_914bad28_lang.css +2 -0
  19. package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_24be0f2b_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_68cf84b3_lang.css} +1 -1
  20. package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
  21. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +4 -2
  22. package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +9 -1
  23. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  24. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +174 -82
  25. package/dist/src/components/shared/_internal/dialogSurface.d.ts +2 -0
  26. package/dist/src/components/shared/_internal/dialogSurface.js +30 -27
  27. package/dist/src/components/shared/_internal/dialogSurfaceMotion.d.ts +14 -0
  28. package/dist/src/components/shared/_internal/dialogSurfaceMotion.js +84 -0
  29. package/dist/src/components/shared/_internal/focusTrap.js +15 -13
  30. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +5 -0
  31. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +2 -2
  32. package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +123 -121
  33. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +4 -4
  34. package/dist/src/components/shared/containers/SDrawer.vue.js +3 -6
  35. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +104 -128
  36. package/dist/src/components/shared/containers/SModal.vue.d.ts +8 -8
  37. package/dist/src/components/shared/containers/SModal.vue.js +3 -6
  38. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +87 -103
  39. package/dist/src/components/shared/containers/SOverlayHost.vue.js +2 -2
  40. package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +32 -31
  41. package/dist/src/components/shared/containers/SPanel.vue.d.ts +1 -1
  42. package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
  43. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +225 -200
  44. package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
  45. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +4 -3
  46. package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
  47. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +13 -7
  48. package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
  49. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +104 -94
  50. package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
  51. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +86 -81
  52. package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
  53. package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +77 -72
  54. package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
  55. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +81 -77
  56. package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
  57. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +85 -77
  58. package/dist/src/components/shared/data-display/SControlledToastViewport.vue.js +2 -2
  59. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +58 -49
  60. package/dist/src/components/shared/data-display/SScrollViewport.vue.d.ts +10 -5
  61. package/dist/src/components/shared/data-display/SScrollViewport.vue.js +2 -2
  62. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +162 -111
  63. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +276 -224
  64. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +3 -3
  65. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +2 -2
  66. package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +62 -46
  67. package/dist/src/components/shared/data-display/scrollViewport.d.ts +2 -0
  68. package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
  69. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +3 -1
  70. package/dist/src/components/shared/navigation/STabList.vue.d.ts +1 -1
  71. package/dist/src/composables/useDialogOverlay.d.ts +12 -2
  72. package/dist/src/composables/useDialogOverlay.js +192 -119
  73. package/dist/src/internal/flatTree.d.ts +8 -0
  74. package/dist/src/internal/flatTree.js +23 -0
  75. package/dist/src/internal/focusNavigation.d.ts +3 -0
  76. package/dist/src/internal/focusNavigation.js +28 -15
  77. package/dist/src/internal/inertLease.d.ts +8 -0
  78. package/dist/src/internal/inertLease.js +33 -0
  79. package/dist/src/internal/layerStack.d.ts +40 -0
  80. package/dist/src/internal/layerStack.js +301 -94
  81. package/dist/src/internal/nativeFocus.d.ts +4 -0
  82. package/dist/src/internal/nativeFocus.js +12 -0
  83. package/dist/src/internal/overlayPortal.d.ts +17 -0
  84. package/dist/src/internal/overlayPortal.js +23 -0
  85. package/dist/src/internal/semanticSizing.d.ts +2 -2
  86. package/dist/src/internal/semanticSizing.js +2 -1
  87. package/dist/src/internal/useMenuLayer.d.ts +1 -0
  88. package/dist/src/internal/useMenuLayer.js +63 -57
  89. package/dist/src/internal/viewportModality.d.ts +27 -0
  90. package/dist/src/internal/viewportModality.js +132 -0
  91. package/dist/typography.js +17 -62
  92. package/docs/overlay-lifecycle.md +195 -0
  93. package/docs/public-api.md +141 -4
  94. package/docs/resize.md +34 -5
  95. package/docs/scroll-viewport.md +30 -10
  96. package/docs/theming.md +42 -8
  97. package/package.json +1 -1
  98. package/src/components/shared/_internal/SDialogSurface.css +185 -40
  99. package/src/components/shared/controls/SButton.css +0 -3
  100. package/src/components/shared/controls/SCheckbox.css +19 -7
  101. package/src/components/shared/data-display/SControlledToastViewport.css +2 -10
  102. package/src/components/shared/data-display/SScrollViewport.css +17 -1
  103. package/src/components/shared/data-display/STooltip.css +1 -1
  104. package/src/components/shared/data-display/_internal/STableFrame.css +1 -5
  105. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_0e58afdc_scoped_0e58afdc_lang.css +0 -2
  106. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_61cf20dd_scoped_61cf20dd_lang.css +0 -2
  107. package/dist/assets/src/components/shared/containers/SModal.css_vue_type_style_index_0_src_42e1bd5f_scoped_42e1bd5f_lang.css +0 -2
  108. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_21f71ae8_scoped_21f71ae8_lang.css +0 -2
  109. package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_55d4826e_scoped_55d4826e_lang.css +0 -2
  110. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_537f5744_scoped_537f5744_lang.css +0 -2
  111. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_03921269_scoped_03921269_lang.css +0 -1
  112. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_df3d6688_scoped_df3d6688_lang.css +0 -2
  113. package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_5864b6c6_scoped_5864b6c6_lang.css +0 -2
  114. package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_e5d11342_scoped_e5d11342_lang.css +0 -2
  115. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_52b5825e_scoped_52b5825e_lang.css +0 -2
  116. package/src/components/shared/containers/SDrawer.css +0 -87
  117. package/src/components/shared/containers/SModal.css +0 -27
@@ -2,40 +2,41 @@ import { hasOwn as e } from "../../../internal/es2020.js";
2
2
  import { hasFocusableSemantics as t, isFocusableElement as n } from "../../../internal/focusNavigation.js";
3
3
  import { registerLayer as r } from "../../../internal/layerStack.js";
4
4
  import { useOverlayAdmission as i } from "../../../internal/overlayHost.js";
5
- import { validateBoolean as a, validateDomId as o, validateExactString as s, validateNonEmptyString as c } from "../../../internal/runtimeContract.js";
6
- import { useFloatingPosition as ee } from "../../../composables/useFloatingPosition.js";
7
- import { mergeIdReferences as te, useOwnedAttrs as ne } from "../../../internal/ownedAttrs.js";
8
- import { resolveSemanticToneBinding as re } from "../../../internal/semanticTone.js";
9
- import ie from "./SBadge.vue.js";
10
- import { resolveInteractiveElement as l } from "../../../internal/interactiveElement.js";
11
- import { Fragment as u, Teleport as ae, Transition as oe, computed as d, createBlock as se, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as ce, createVNode as le, defineComponent as ue, normalizeStyle as de, onBeforeUnmount as fe, onMounted as pe, openBlock as h, ref as me, renderList as g, renderSlot as he, shallowRef as ge, toDisplayString as _, unref as v, useId as _e, watch as ve, watchEffect as ye, withCtx as be } from "vue";
5
+ import { validateBoolean as a, validateDomId as o, validateExactString as ee, validateNonEmptyString as s } from "../../../internal/runtimeContract.js";
6
+ import { useOverlayPortalTarget as te } from "../../../internal/overlayPortal.js";
7
+ import { useFloatingPosition as ne } from "../../../composables/useFloatingPosition.js";
8
+ import { mergeIdReferences as re, useOwnedAttrs as ie } from "../../../internal/ownedAttrs.js";
9
+ import { resolveSemanticToneBinding as ae } from "../../../internal/semanticTone.js";
10
+ import oe from "./SBadge.vue.js";
11
+ import { resolveInteractiveElement as se } from "../../../internal/interactiveElement.js";
12
+ import { Fragment as c, Teleport as ce, Transition as le, computed as l, createBlock as ue, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as de, createVNode as fe, defineComponent as pe, normalizeStyle as me, onBeforeUnmount as he, onMounted as ge, openBlock as p, ref as _e, renderList as m, renderSlot as ve, shallowRef as ye, toDisplayString as h, unref as g, useId as be, watch as _, watchEffect as xe, withCtx as Se } from "vue";
12
13
  //#region src/components/shared/data-display/STooltip.vue?vue&type=script&setup=true&lang.ts
13
- var xe = [
14
+ var Ce = [
14
15
  "hidden",
15
16
  "^inert",
16
17
  "data-placement"
17
- ], Se = { class: "s-tooltip__content" }, Ce = {
18
+ ], we = { class: "s-tooltip__content" }, Te = {
18
19
  key: 0,
19
20
  class: "s-tooltip__title"
20
- }, we = {
21
+ }, Ee = {
21
22
  key: 1,
22
23
  class: "s-tooltip__description"
23
- }, Te = {
24
+ }, De = {
24
25
  key: 2,
25
26
  class: "s-tooltip__text"
26
- }, Ee = {
27
+ }, Oe = {
27
28
  key: 3,
28
29
  class: "s-tooltip__details"
29
- }, De = { class: "s-tooltip__detail-label" }, Oe = ["data-presentation", "data-s-tone"], ke = {
30
+ }, ke = { class: "s-tooltip__detail-label" }, Ae = ["data-presentation", "data-s-tone"], je = {
30
31
  key: 4,
31
32
  class: "s-tooltip__sections"
32
- }, Ae = { class: "s-tooltip__section-title" }, je = {
33
+ }, Me = { class: "s-tooltip__section-title" }, Ne = {
33
34
  key: 0,
34
35
  class: "s-tooltip__section-description"
35
- }, Me = {
36
+ }, Pe = {
36
37
  key: 1,
37
38
  class: "s-tooltip__section-items"
38
- }, y = /*@__PURE__*/ ue({
39
+ }, v = /*@__PURE__*/ pe({
39
40
  inheritAttrs: !1,
40
41
  __name: "STooltip",
41
42
  props: {
@@ -53,62 +54,62 @@ var xe = [
53
54
  hideDelay: { default: 80 },
54
55
  triggerDescribedBy: { default: void 0 }
55
56
  },
56
- setup(ue) {
57
- let y = ue, b = (e) => /* @__PURE__ */ Error(`STooltip: ${e}`), x = me(!1), S = i(), Ne = ge(null), Pe = ne({
57
+ setup(pe) {
58
+ let v = pe, y = (e) => /* @__PURE__ */ Error(`STooltip: ${e}`), b = _e(!1), x = i(), S = te(), Fe = ye(null), Ie = ie({
58
59
  component: "STooltip",
59
60
  owner: "renderless tooltip contract"
60
- }), C = me("var(--s-layer-root-floating)"), w = null, T = null, E = null, D = null, O = null, k = null, A = null, j = null, M = {
61
+ }), Le = _e("var(--s-layer-root-floating)"), C = null, w = null, T = null, E = null, D = null, O = null, k = null, A = null, j = {
61
62
  triggerPointerInside: !1,
62
63
  tooltipPointerInside: !1,
63
64
  focusInside: !1,
64
65
  touchActive: !1
65
- }, N = !1, P = `s-tooltip-${_e()}`;
66
- function F(e, t) {
67
- return t === void 0 || t === "" ? void 0 : c("STooltip", e, t);
68
- }
66
+ }, M = !1, N = null, P = [], F = `s-tooltip-${be()}`;
69
67
  function I(e, t) {
70
- if (typeof t != "object" || !t || Array.isArray(t) || Object.getPrototypeOf(t) !== Object.prototype) throw b(`${e} должен быть plain object. ${e} must be a plain object.`);
68
+ return t === void 0 || t === "" ? void 0 : s("STooltip", e, t);
69
+ }
70
+ function L(e, t) {
71
+ if (typeof t != "object" || !t || Array.isArray(t) || Object.getPrototypeOf(t) !== Object.prototype) throw y(`${e} должен быть plain object. ${e} must be a plain object.`);
71
72
  return t;
72
73
  }
73
- function L(e, t, n) {
74
+ function R(e, t, n) {
74
75
  let r = Object.keys(t).filter((e) => !n.includes(e));
75
- if (r.length > 0) throw b(`${e} содержит неизвестные поля ${r.join(", ")}. ${e} contains unknown fields ${r.join(", ")}.`);
76
+ if (r.length > 0) throw y(`${e} содержит неизвестные поля ${r.join(", ")}. ${e} contains unknown fields ${r.join(", ")}.`);
76
77
  }
77
- function R(t, n) {
78
- if (!Array.isArray(n)) throw b(`${t} должен быть массивом. ${t} must be an array.`);
79
- for (let r = 0; r < n.length; r += 1) if (!e(n, r)) throw b(`${t}[${r}] отсутствует в sparse array. ${t}[${r}] is missing from a sparse array.`);
78
+ function z(t, n) {
79
+ if (!Array.isArray(n)) throw y(`${t} должен быть массивом. ${t} must be an array.`);
80
+ for (let r = 0; r < n.length; r += 1) if (!e(n, r)) throw y(`${t}[${r}] отсутствует в sparse array. ${t}[${r}] is missing from a sparse array.`);
80
81
  return n;
81
82
  }
82
- function z(e, t, n, r) {
83
+ function B(e, t, n, r) {
83
84
  let i = e.get(t);
84
- if (i !== void 0) throw b(`${n}[${r}].id дублирует ${JSON.stringify(t)} из ${n}[${i}].id. ${n}[${r}].id duplicates ${JSON.stringify(t)} from ${n}[${i}].id.`);
85
+ if (i !== void 0) throw y(`${n}[${r}].id дублирует ${JSON.stringify(t)} из ${n}[${i}].id. ${n}[${r}].id duplicates ${JSON.stringify(t)} from ${n}[${i}].id.`);
85
86
  e.set(t, r);
86
87
  }
87
- function Fe(e) {
88
- let t = R("details", e), n = /* @__PURE__ */ new Map();
88
+ function Re(e) {
89
+ let t = z("details", e), n = /* @__PURE__ */ new Map();
89
90
  return t.map((e, t) => {
90
- let r = `details[${t}]`, i = I(r, e);
91
- L(r, i, [
91
+ let r = `details[${t}]`, i = L(r, e);
92
+ R(r, i, [
92
93
  "id",
93
94
  "label",
94
95
  "value",
95
96
  "presentation",
96
97
  "tone"
97
98
  ]);
98
- let a = c("STooltip", `${r}.id`, i.id);
99
- z(n, a, "details", t);
99
+ let a = s("STooltip", `${r}.id`, i.id);
100
+ B(n, a, "details", t);
100
101
  let o = i.value;
101
- if (!(typeof o == "string" && o.length > 0) && !(typeof o == "number" && Number.isFinite(o))) throw b(`${r}.value должен быть непустой строкой или конечным числом. ${r}.value must be a non-empty string or finite number.`);
102
+ if (!(typeof o == "string" && o.length > 0) && !(typeof o == "number" && Number.isFinite(o))) throw y(`${r}.value должен быть непустой строкой или конечным числом. ${r}.value must be a non-empty string or finite number.`);
102
103
  return {
103
104
  id: a,
104
- label: c("STooltip", `${r}.label`, i.label),
105
+ label: s("STooltip", `${r}.label`, i.label),
105
106
  value: o,
106
- ...i.presentation === void 0 ? {} : { presentation: s("STooltip", `${r}.presentation`, i.presentation, [
107
+ ...i.presentation === void 0 ? {} : { presentation: ee("STooltip", `${r}.presentation`, i.presentation, [
107
108
  "text",
108
109
  "badge",
109
110
  "code"
110
111
  ]) },
111
- ...i.tone === void 0 ? {} : { tone: s("STooltip", `${r}.tone`, i.tone, [
112
+ ...i.tone === void 0 ? {} : { tone: ee("STooltip", `${r}.tone`, i.tone, [
112
113
  "neutral",
113
114
  "info",
114
115
  "success",
@@ -118,262 +119,313 @@ var xe = [
118
119
  };
119
120
  });
120
121
  }
121
- function Ie(e) {
122
- let t = R("sections", e), n = /* @__PURE__ */ new Map();
122
+ function ze(e) {
123
+ let t = z("sections", e), n = /* @__PURE__ */ new Map();
123
124
  return t.map((e, t) => {
124
- let r = `sections[${t}]`, i = I(r, e);
125
- L(r, i, [
125
+ let r = `sections[${t}]`, i = L(r, e);
126
+ R(r, i, [
126
127
  "id",
127
128
  "title",
128
129
  "description",
129
130
  "items"
130
131
  ]);
131
- let a = c("STooltip", `${r}.id`, i.id);
132
- z(n, a, "sections", t);
132
+ let a = s("STooltip", `${r}.id`, i.id);
133
+ B(n, a, "sections", t);
133
134
  let o = i.items === void 0 ? void 0 : (() => {
134
- let e = R(`${r}.items`, i.items), t = /* @__PURE__ */ new Map();
135
+ let e = z(`${r}.items`, i.items), t = /* @__PURE__ */ new Map();
135
136
  return e.map((e, n) => {
136
- let i = `${r}.items[${n}]`, a = I(i, e);
137
- L(i, a, ["id", "label"]);
138
- let o = c("STooltip", `${i}.id`, a.id);
139
- return z(t, o, `${r}.items`, n), {
137
+ let i = `${r}.items[${n}]`, a = L(i, e);
138
+ R(i, a, ["id", "label"]);
139
+ let o = s("STooltip", `${i}.id`, a.id);
140
+ return B(t, o, `${r}.items`, n), {
140
141
  id: o,
141
- label: c("STooltip", `${i}.label`, a.label)
142
+ label: s("STooltip", `${i}.label`, a.label)
142
143
  };
143
144
  });
144
145
  })();
145
146
  return {
146
147
  id: a,
147
- title: c("STooltip", `${r}.title`, i.title),
148
- ...i.description === void 0 ? {} : { description: c("STooltip", `${r}.description`, i.description) },
148
+ title: s("STooltip", `${r}.title`, i.title),
149
+ ...i.description === void 0 ? {} : { description: s("STooltip", `${r}.description`, i.description) },
149
150
  ...o === void 0 ? {} : { items: o }
150
151
  };
151
152
  });
152
153
  }
153
- let B = d(() => F("text", y.text)), V = d(() => F("title", y.title)), H = d(() => F("description", y.description)), U = d(() => Fe(y.details)), W = d(() => Ie(y.sections)), Le = d(() => {
154
- let e = B.value, t = V.value, n = H.value, r = U.value, i = W.value;
154
+ let V = l(() => I("text", v.text)), H = l(() => I("title", v.title)), U = l(() => I("description", v.description)), W = l(() => Re(v.details)), Be = l(() => ze(v.sections)), Ve = l(() => {
155
+ let e = V.value, t = H.value, n = U.value, r = W.value, i = Be.value;
155
156
  return !!(e || t || n || r.length > 0 || i.length > 0);
156
- }), Re = {
157
+ }), He = {
157
158
  neutral: "secondary",
158
159
  info: "info",
159
160
  success: "success",
160
161
  warn: "warn",
161
162
  danger: "danger"
162
- }, ze = (e) => Re[e ?? "neutral"], Be = (e) => re("STooltip", "detail.tone", e ?? "neutral", [
163
+ }, Ue = (e) => He[e ?? "neutral"], We = (e) => ae("STooltip", "detail.tone", e ?? "neutral", [
163
164
  "neutral",
164
165
  "info",
165
166
  "success",
166
167
  "warn",
167
168
  "danger"
168
- ]), Ve = d(() => `${y.position}-center`), { anchorRef: G, panelRef: K, floatingStyle: He, arrowStyle: Ue, resolvedPlacement: We } = ee({
169
- active: x,
170
- placement: () => Ve.value,
169
+ ]), Ge = l(() => `${v.position}-center`), { anchorRef: Ke, panelRef: G, floatingStyle: qe, arrowStyle: Je, resolvedPlacement: Ye } = ne({
170
+ active: b,
171
+ placement: () => Ge.value,
171
172
  offset: () => 6,
172
173
  boundaryPadding: () => 6,
173
174
  flip: () => !0,
174
175
  shift: () => !0,
175
176
  widthMatch: () => "none",
176
- zIndex: () => C.value,
177
+ zIndex: () => Le.value,
177
178
  scrollStrategy: "close",
178
- requestClose: () => Y()
179
- }), Ge = d(() => !S.value || Ne.value !== null && Ne.value === K.value);
180
- function Ke() {
181
- let e = K.value;
182
- e && (Ne.value = e, e.hidden = !0, e.setAttribute("inert", ""));
179
+ requestClose: () => q()
180
+ }), Xe = l(() => !x.value || S.value === null || Fe.value !== null && Fe.value === G.value);
181
+ function Ze() {
182
+ let e = G.value;
183
+ e && (Fe.value = e, e.hidden = !0, e.setAttribute("inert", ""));
183
184
  }
184
- let q = () => {
185
- T !== null && (clearTimeout(T), T = null);
186
- }, J = () => {
187
- E !== null && (window.clearTimeout(E), E = null);
188
- }, Y = () => {
189
- q(), J(), M.tooltipPointerInside = !1, x.value = !1, w?.unregister({ restoreFocus: !1 }), w = null, C.value = "var(--s-layer-root-floating)", gt();
190
- }, qe = () => {
191
- S.value && !x.value && A && j && n(A) && (w = r({
185
+ let K = () => {
186
+ w !== null && (clearTimeout(w), w = null);
187
+ }, Qe = () => {
188
+ T !== null && (window.clearTimeout(T), T = null);
189
+ }, q = () => {
190
+ K(), Qe(), j.triggerPointerInside = !1, j.tooltipPointerInside = !1, j.focusInside = !1, j.touchActive = !1, b.value = !1, C?.unregister({ restoreFocus: !1 }), C = null, Le.value = "var(--s-layer-root-floating)", Tt();
191
+ }, J = () => x.value && S.value !== null && !v.disabled && Ve.value && k !== null && A !== null && k.isConnected && n(k), $e = () => {
192
+ x.value && S.value !== null && !b.value && k && A && n(k) && (C = r({
192
193
  kind: "tooltip",
193
- root: () => K.value,
194
- anchor: () => G.value,
194
+ root: () => G.value,
195
+ anchor: () => Ke.value,
195
196
  blocksParentFocusTrap: !1,
196
197
  restoreTarget: null,
197
- requestDismiss: Y,
198
- onRetire: Y
199
- }), C.value = w.zIndex, x.value = !0);
200
- }, X = () => {
201
- S.value && !y.disabled && Le.value && A && j && (q(), J(), !x.value && (E = window.setTimeout(() => {
202
- E = null, qe();
203
- }, y.showDelay), ht()));
204
- }, Je = () => {
205
- if (J(), q(), !x.value) {
206
- Y();
198
+ requestDismiss: q,
199
+ onRetire: q
200
+ }), Le.value = C.zIndex, b.value = !0);
201
+ }, et = () => {
202
+ J() && (K(), Qe(), !b.value && (T = window.setTimeout(() => {
203
+ T = null, $e();
204
+ }, v.showDelay), wt()));
205
+ }, tt = () => {
206
+ if (Qe(), K(), !b.value) {
207
+ q();
207
208
  return;
208
209
  }
209
- T = window.setTimeout(() => {
210
- T = null, Y();
211
- }, y.hideDelay);
212
- }, Z = () => {
213
- !M.triggerPointerInside && !M.tooltipPointerInside && !M.focusInside && !M.touchActive && Je();
214
- }, Ye = (e) => {
215
- S.value && e.pointerType !== "touch" && (M.triggerPointerInside = !0, X());
216
- }, Xe = (e) => {
217
- e.pointerType !== "touch" && (M.triggerPointerInside = !1, Z());
218
- }, Ze = (e) => {
219
- e.pointerType !== "touch" && x.value && (M.tooltipPointerInside = !0, q());
220
- }, Qe = (e) => {
221
- e.pointerType !== "touch" && (M.tooltipPointerInside = !1, Z());
222
- }, $e = (e) => {
223
- S.value && e.pointerType === "touch" && (M.touchActive = !0, X());
224
- }, et = (e) => {
225
- e.pointerType === "touch" && (M.touchActive = !1, Z());
226
- }, tt = () => {
227
- S.value && (M.focusInside = !0, X());
228
- }, nt = (e) => {
229
- e.relatedTarget instanceof Node && A?.contains(e.relatedTarget) || (M.focusInside = !1, Z());
230
- }, rt = () => {
231
- if (A && j && D === null && A === j) throw b("focusOwner и pointerTarget должны быть разными владельцами одной интерактивной композиции. focusOwner and pointerTarget must be distinct owners in one interactive composition.");
232
- }, Q = (e) => {
233
- if (e !== null && !(S.value ? n(e) : t(e))) throw b("trigger/focusOwner должен владеть canonical focus owner; используйте интерактивный UI-kit leaf. trigger/focusOwner must own a canonical focus owner; use an interactive UI-kit leaf.");
234
- A = e, M.triggerPointerInside = !1, M.tooltipPointerInside = !1, M.focusInside = !1, M.touchActive = !1, e === null && Y(), rt();
235
- }, $ = (e) => {
236
- if (e !== null && D === null && t(e)) throw b("pointerTarget должен быть пассивным и не может создавать дополнительный tab stop. pointerTarget must be passive and cannot create an additional tab stop.");
237
- j = e, G.value = e, M.triggerPointerInside = !1, M.tooltipPointerInside = !1, M.touchActive = !1, e === null && Y(), rt();
210
+ w = window.setTimeout(() => {
211
+ w = null, q();
212
+ }, v.hideDelay);
213
+ }, Y = () => {
214
+ !j.triggerPointerInside && !j.tooltipPointerInside && !j.focusInside && !j.touchActive && tt();
215
+ }, nt = () => {
216
+ j.focusInside = k?.matches(":focus-within") === !0;
217
+ }, rt = (e) => {
218
+ J() && e.pointerType !== "touch" && (nt(), j.triggerPointerInside = !0, et());
238
219
  }, it = (e) => {
239
- if (e === "combined" && (O !== null || k !== null)) throw b("combined trigger нельзя смешивать со split trigger. combined trigger cannot be mixed with a split trigger.");
240
- if (e !== "combined" && D !== null) throw b("split trigger нельзя смешивать с combined trigger. A split trigger cannot be mixed with a combined trigger.");
220
+ let t = G.value;
221
+ if (!b.value || Xe.value || !t?.isConnected) return !1;
222
+ let n = t.getBoundingClientRect();
223
+ return n.width > 0 && n.height > 0 && e.clientX >= n.left && e.clientX < n.right && e.clientY >= n.top && e.clientY < n.bottom;
241
224
  }, at = (e) => {
225
+ e.pointerType !== "touch" && (j.triggerPointerInside = !1, j.tooltipPointerInside = it(e), j.tooltipPointerInside ? K() : Y());
226
+ }, ot = (e) => {
227
+ if (e.pointerType === "touch") return;
228
+ let t = it(e);
229
+ t !== j.tooltipPointerInside && (j.tooltipPointerInside = t, t ? K() : Y());
230
+ }, st = (e) => {
231
+ e.pointerType === "touch" || e.relatedTarget !== null || e.target !== document && e.target !== document.documentElement || (j.triggerPointerInside = !1, j.tooltipPointerInside = !1, Y());
232
+ }, ct = (e) => {
233
+ J() && e.pointerType === "touch" && (nt(), j.touchActive = !0, et());
234
+ }, lt = (e) => {
235
+ e.pointerType === "touch" && (j.touchActive = !1, Y());
236
+ }, ut = () => {
237
+ J() && (j.focusInside = !0, et());
238
+ }, dt = (e) => {
239
+ e.relatedTarget instanceof Node && k?.contains(e.relatedTarget) || (j.focusInside = !1, Y());
240
+ }, ft = () => {
241
+ if (k && A && E === null && k === A) throw y("focusOwner и pointerTarget должны быть разными владельцами одной интерактивной композиции. focusOwner and pointerTarget must be distinct owners in one interactive composition.");
242
+ }, X = (e) => {
243
+ if (e !== null && !t(e)) throw y("trigger/focusOwner должен владеть canonical focus owner; используйте интерактивный UI-kit leaf. trigger/focusOwner must own a canonical focus owner; use an interactive UI-kit leaf.");
244
+ k = e, j.triggerPointerInside = !1, j.tooltipPointerInside = !1, j.focusInside = !1, j.touchActive = !1, e === null && q(), ft();
245
+ }, Z = (e) => {
246
+ if (e !== null && E === null && t(e)) throw y("pointerTarget должен быть пассивным и не может создавать дополнительный tab stop. pointerTarget must be passive and cannot create an additional tab stop.");
247
+ A = e, Ke.value = e, j.triggerPointerInside = !1, j.tooltipPointerInside = !1, j.touchActive = !1, e === null && q(), ft();
248
+ }, Q = (e) => {
249
+ if (e === "combined" && (D !== null || O !== null)) throw y("combined trigger нельзя смешивать со split trigger. combined trigger cannot be mixed with a split trigger.");
250
+ if (e !== "combined" && E !== null) throw y("split trigger нельзя смешивать с combined trigger. A split trigger cannot be mixed with a combined trigger.");
251
+ }, pt = (e) => {
252
+ if (e !== E) {
253
+ if (e !== null && (Q("combined"), E !== null)) throw y("trigger binding применён более чем к одному leaf. The trigger binding was applied to more than one leaf.");
254
+ E = e, (e === null || e instanceof HTMLElement) && (X(e), Z(e));
255
+ }
256
+ }, mt = (e) => {
242
257
  if (e !== D) {
243
- if (e !== null && (it("combined"), D !== null)) throw b("trigger binding применён более чем к одному leaf. The trigger binding was applied to more than one leaf.");
244
- D = e, (e === null || e instanceof HTMLElement) && (Q(e), $(e));
258
+ if (e !== null && (Q("focusOwner"), D !== null)) throw y("focusOwner binding применён более чем к одному leaf. focusOwner binding was applied to more than one leaf.");
259
+ D = e, (e === null || e instanceof HTMLElement) && X(e);
245
260
  }
246
- }, ot = (e) => {
261
+ }, ht = (e) => {
247
262
  if (e !== O) {
248
- if (e !== null && (it("focusOwner"), O !== null)) throw b("focusOwner binding применён более чем к одному leaf. focusOwner binding was applied to more than one leaf.");
249
- O = e, (e === null || e instanceof HTMLElement) && Q(e);
250
- }
251
- }, st = (e) => {
252
- if (e !== k) {
253
- if (e !== null && (it("pointerTarget"), k !== null)) throw b("pointerTarget binding применён более чем к одному leaf. pointerTarget binding was applied to more than one leaf.");
254
- k = e, (e === null || e instanceof HTMLElement) && $(e);
263
+ if (e !== null && (Q("pointerTarget"), O !== null)) throw y("pointerTarget binding применён более чем к одному leaf. pointerTarget binding was applied to more than one leaf.");
264
+ O = e, (e === null || e instanceof HTMLElement) && Z(e);
255
265
  }
256
- }, ct = d(() => {
257
- if (y.triggerDescribedBy === void 0) return;
258
- if (typeof y.triggerDescribedBy != "string") throw b("triggerDescribedBy должен быть строкой DOM id references. triggerDescribedBy must be a string of DOM id references.");
259
- let e = y.triggerDescribedBy.trim().split(/\s+/u).filter(Boolean);
260
- if (e.length === 0) throw b("triggerDescribedBy должен содержать хотя бы один DOM id. triggerDescribedBy must contain at least one DOM id.");
266
+ }, gt = l(() => {
267
+ if (v.triggerDescribedBy === void 0) return;
268
+ if (typeof v.triggerDescribedBy != "string") throw y("triggerDescribedBy должен быть строкой DOM id references. triggerDescribedBy must be a string of DOM id references.");
269
+ let e = v.triggerDescribedBy.trim().split(/\s+/u).filter(Boolean);
270
+ if (e.length === 0) throw y("triggerDescribedBy должен содержать хотя бы один DOM id. triggerDescribedBy must contain at least one DOM id.");
261
271
  return e.map((e, t) => o("STooltip", `triggerDescribedBy[${t}]`, e)).join(" ");
262
- }), lt = d(() => ({
263
- ref: at,
264
- "aria-describedby": te(ct.value, x.value ? P : void 0),
265
- onPointerenter: Ye,
266
- onPointerleave: Xe,
267
- onPointerdown: $e,
268
- onPointerup: et,
269
- onPointercancel: et,
270
- onFocusin: tt,
271
- onFocusout: nt
272
- })), ut = d(() => ({
273
- ref: ot,
274
- "aria-describedby": te(ct.value, x.value ? P : void 0),
275
- onFocusin: tt,
276
- onFocusout: nt
277
- })), dt = d(() => ({
278
- ref: st,
279
- onPointerenter: Ye,
280
- onPointerleave: Xe
281
- })), ft = () => {
282
- Y();
283
- }, pt = () => {
284
- document.hidden && Y();
285
- }, mt = (e) => {
286
- e.key === "Escape" && E !== null && !x.value && Y();
287
- }, ht = () => {
288
- N || (N = !0, window.addEventListener("blur", ft), window.addEventListener("keydown", mt, !0), document.addEventListener("visibilitychange", pt));
289
- }, gt = () => {
290
- N && (N = !1, window.removeEventListener("blur", ft), window.removeEventListener("keydown", mt, !0), document.removeEventListener("visibilitychange", pt));
272
+ }), _t = l(() => ({
273
+ ref: pt,
274
+ "aria-describedby": re(gt.value, b.value ? F : void 0),
275
+ onPointerenter: rt,
276
+ onPointerleave: at,
277
+ onPointerdown: ct,
278
+ onPointerup: lt,
279
+ onPointercancel: lt,
280
+ onFocusin: ut,
281
+ onFocusout: dt
282
+ })), vt = l(() => ({
283
+ ref: mt,
284
+ "aria-describedby": re(gt.value, b.value ? F : void 0),
285
+ onFocusin: ut,
286
+ onFocusout: dt
287
+ })), yt = l(() => ({
288
+ ref: ht,
289
+ onPointerenter: rt,
290
+ onPointerleave: at
291
+ })), bt = () => {
292
+ q();
293
+ }, xt = () => {
294
+ document.hidden && q();
295
+ }, St = (e) => {
296
+ e.key === "Escape" && T !== null && !b.value && q();
297
+ }, Ct = (e) => {
298
+ let t = [];
299
+ for (let n = e; n;) t.push(n), n = n.parentNode ?? (n instanceof ShadowRoot ? n.host : null);
300
+ return t;
301
+ }, $ = () => {
302
+ if (!M || !k) return;
303
+ if (!k.isConnected || !n(k)) {
304
+ Ze(), j.triggerPointerInside = !1, j.tooltipPointerInside = !1, j.focusInside = !1, j.touchActive = !1, q();
305
+ return;
306
+ }
307
+ let e = Ct(k);
308
+ if (!(e.length === P.length && e.every((e, t) => e === P[t]))) {
309
+ N?.disconnect(), P = e, N ||= new MutationObserver($);
310
+ for (let t of e) N.observe(t, t instanceof Element ? {
311
+ childList: !0,
312
+ attributes: !0,
313
+ attributeFilter: [
314
+ "class",
315
+ "style",
316
+ "hidden",
317
+ "inert",
318
+ "aria-hidden",
319
+ "disabled",
320
+ "tabindex",
321
+ "href",
322
+ "contenteditable"
323
+ ]
324
+ } : { childList: !0 });
325
+ }
326
+ }, wt = () => {
327
+ M || (M = !0, $(), M && (window.addEventListener("resize", $, { passive: !0 }), window.addEventListener("blur", bt), window.addEventListener("keydown", St, !0), document.addEventListener("visibilitychange", xt)));
328
+ }, Tt = () => {
329
+ M && (M = !1, N?.disconnect(), N = null, P = [], window.removeEventListener("resize", $), window.removeEventListener("blur", bt), window.removeEventListener("keydown", St, !0), document.removeEventListener("visibilitychange", xt));
291
330
  };
292
- return ve(() => [y.disabled, Le.value], ([e, t]) => {
293
- (e || !t) && Y();
294
- }), ve(S, (e) => {
295
- e || (Ke(), M.triggerPointerInside = !1, M.tooltipPointerInside = !1, M.focusInside = !1, M.touchActive = !1, Y());
296
- }, { flush: "sync" }), ye(() => {
297
- Pe.reject("STooltip не рендерит public wrapper; используйте props и default trigger slot. STooltip renders no public wrapper; use props and the default trigger slot.");
298
- for (let [e, t] of [["showDelay", y.showDelay], ["hideDelay", y.hideDelay]]) if (!Number.isSafeInteger(t) || t < 0 || t > 6e4) throw b(`${e} должен быть целым числом миллисекунд от 0 до 60000. ${e} must be an integer number of milliseconds from 0 through 60000.`);
299
- s("STooltip", "position", y.position, [
331
+ return _(b, (e) => {
332
+ e ? (document.addEventListener("pointermove", ot, {
333
+ capture: !0,
334
+ passive: !0
335
+ }), document.addEventListener("pointerleave", st, {
336
+ capture: !0,
337
+ passive: !0
338
+ })) : (document.removeEventListener("pointermove", ot, !0), document.removeEventListener("pointerleave", st, !0));
339
+ }, { flush: "sync" }), _(G, () => C?.refreshModality(), { flush: "sync" }), _(() => [v.disabled, Ve.value], ([e, t]) => {
340
+ (e || !t) && q();
341
+ }), _(x, (e) => {
342
+ e || (Ze(), j.triggerPointerInside = !1, j.tooltipPointerInside = !1, j.focusInside = !1, j.touchActive = !1, q());
343
+ }, { flush: "sync" }), _(S, (e) => {
344
+ e === null && (Ze(), q());
345
+ }, { flush: "sync" }), xe(() => {
346
+ Ie.reject("STooltip не рендерит public wrapper; используйте props и default trigger slot. STooltip renders no public wrapper; use props and the default trigger slot.");
347
+ for (let [e, t] of [["showDelay", v.showDelay], ["hideDelay", v.hideDelay]]) if (!Number.isSafeInteger(t) || t < 0 || t > 6e4) throw y(`${e} должен быть целым числом миллисекунд от 0 до 60000. ${e} must be an integer number of milliseconds from 0 through 60000.`);
348
+ ee("STooltip", "position", v.position, [
300
349
  "top",
301
350
  "bottom",
302
351
  "left",
303
352
  "right"
304
- ]), a("STooltip", "disabled", y.disabled);
305
- }), pe(() => {
306
- if (D !== null && (O !== null || k !== null)) throw b("combined trigger нельзя смешивать со split trigger. combined trigger cannot be mixed with a split trigger.");
307
- if (D === null && (O === null || k === null)) throw b("default slot обязан применить combined trigger либо обе половины split trigger: focusOwner и pointerTarget. The default slot must apply the combined trigger or both split trigger bindings: focusOwner and pointerTarget.");
308
- if (D !== null) {
309
- let e = l("STooltip: trigger", D);
310
- Q(e), $(e);
353
+ ]), a("STooltip", "disabled", v.disabled);
354
+ }), ge(() => {
355
+ if (E !== null && (D !== null || O !== null)) throw y("combined trigger нельзя смешивать со split trigger. combined trigger cannot be mixed with a split trigger.");
356
+ if (E === null && (D === null || O === null)) throw y("default slot обязан применить combined trigger либо обе половины split trigger: focusOwner и pointerTarget. The default slot must apply the combined trigger or both split trigger bindings: focusOwner and pointerTarget.");
357
+ if (E !== null) {
358
+ let e = se("STooltip: trigger", E);
359
+ X(e), Z(e);
311
360
  return;
312
361
  }
313
- if (O === null || k === null) throw b("split trigger требует focusOwner и pointerTarget. A split trigger requires focusOwner and pointerTarget.");
314
- Q(l("STooltip: focusOwner", O)), $(l("STooltip: pointerTarget", k));
315
- }), fe(() => {
316
- Y(), D = null, O = null, k = null, A = null, j = null, G.value = null;
317
- }), (e, t) => (h(), p(u, null, [he(e.$slots, "default", {
318
- trigger: lt.value,
319
- focusOwner: ut.value,
320
- pointerTarget: dt.value,
321
- isOpen: x.value
322
- }), (h(), se(ae, { to: "body" }, [le(oe, {
323
- css: v(S),
324
- "enter-active-class": "transition-opacity duration-[var(--s-motion-fast)]",
325
- "enter-from-class": "opacity-0",
326
- "leave-active-class": "transition-opacity duration-[var(--s-motion-fast)]",
327
- "leave-from-class": "opacity-100",
328
- "leave-to-class": "opacity-0"
362
+ if (D === null || O === null) throw y("split trigger требует focusOwner и pointerTarget. A split trigger requires focusOwner and pointerTarget.");
363
+ X(se("STooltip: focusOwner", D)), Z(se("STooltip: pointerTarget", O));
364
+ }), he(() => {
365
+ q(), E = null, D = null, O = null, k = null, A = null, Ke.value = null;
366
+ }), (e, t) => (p(), d(c, null, [ve(e.$slots, "default", {
367
+ trigger: _t.value,
368
+ focusOwner: vt.value,
369
+ pointerTarget: yt.value,
370
+ isOpen: b.value
371
+ }), g(S) ? (p(), ue(ce, {
372
+ key: 0,
373
+ to: g(S)
374
+ }, [fe(le, {
375
+ css: g(x),
376
+ "enter-active-class": "transition-transform duration-[var(--s-motion-fast)]",
377
+ "enter-from-class": "translate-y-0.5",
378
+ "enter-to-class": "translate-y-0",
379
+ "leave-active-class": "transition-transform duration-[var(--s-motion-fast)]",
380
+ "leave-from-class": "translate-y-0",
381
+ "leave-to-class": "translate-y-0.5"
329
382
  }, {
330
- default: be(() => [x.value ? (h(), p("div", {
383
+ default: Se(() => [b.value ? (p(), d("div", {
331
384
  key: 0,
332
- id: P,
385
+ id: F,
333
386
  ref_key: "tooltipRef",
334
- ref: K,
335
- hidden: Ge.value,
336
- "^inert": Ge.value ? !0 : void 0,
387
+ ref: G,
388
+ hidden: Xe.value,
389
+ "^inert": Xe.value ? !0 : void 0,
337
390
  class: "s-tooltip",
338
- "data-placement": v(We),
339
- style: de(v(He)),
391
+ "data-placement": g(Ye),
392
+ style: me(g(qe)),
340
393
  role: "tooltip",
341
- onPointerenter: Ze,
342
- onPointerleave: Qe
343
- }, [m("div", Se, [
344
- V.value ? (h(), p("strong", Ce, _(V.value), 1)) : f("", !0),
345
- H.value ? (h(), p("p", we, _(H.value), 1)) : f("", !0),
346
- B.value ? (h(), p("div", Te, _(B.value), 1)) : f("", !0),
347
- U.value.length > 0 ? (h(), p("dl", Ee, [(h(!0), p(u, null, g(U.value, (e) => (h(), p("div", {
394
+ "aria-hidden": "true"
395
+ }, [f("div", we, [
396
+ H.value ? (p(), d("strong", Te, h(H.value), 1)) : u("", !0),
397
+ U.value ? (p(), d("p", Ee, h(U.value), 1)) : u("", !0),
398
+ V.value ? (p(), d("div", De, h(V.value), 1)) : u("", !0),
399
+ W.value.length > 0 ? (p(), d("dl", Oe, [(p(!0), d(c, null, m(W.value, (e) => (p(), d("div", {
348
400
  key: e.id,
349
401
  class: "s-tooltip__detail"
350
- }, [m("dt", De, _(e.label), 1), m("dd", {
402
+ }, [f("dt", ke, h(e.label), 1), f("dd", {
351
403
  class: "s-tooltip__detail-value",
352
404
  "data-presentation": e.presentation ?? "text",
353
- "data-s-tone": Be(e.tone)["data-s-tone"]
354
- }, [e.presentation === "badge" ? (h(), se(ie, {
405
+ "data-s-tone": We(e.tone)["data-s-tone"]
406
+ }, [e.presentation === "badge" ? (p(), ue(oe, {
355
407
  key: 0,
356
408
  size: "xs",
357
- severity: ze(e.tone)
409
+ severity: Ue(e.tone)
358
410
  }, {
359
- default: be(() => [ce(_(e.value), 1)]),
411
+ default: Se(() => [de(h(e.value), 1)]),
360
412
  _: 2
361
- }, 1032, ["severity"])) : (h(), p(u, { key: 1 }, [ce(_(e.value), 1)], 64))], 8, Oe)]))), 128))])) : f("", !0),
362
- W.value.length > 0 ? (h(), p("div", ke, [(h(!0), p(u, null, g(W.value, (e) => (h(), p("section", {
413
+ }, 1032, ["severity"])) : (p(), d(c, { key: 1 }, [de(h(e.value), 1)], 64))], 8, Ae)]))), 128))])) : u("", !0),
414
+ Be.value.length > 0 ? (p(), d("div", je, [(p(!0), d(c, null, m(Be.value, (e) => (p(), d("section", {
363
415
  key: e.id,
364
416
  class: "s-tooltip__section"
365
417
  }, [
366
- m("strong", Ae, _(e.title), 1),
367
- e.description ? (h(), p("p", je, _(e.description), 1)) : f("", !0),
368
- e.items?.length ? (h(), p("ul", Me, [(h(!0), p(u, null, g(e.items, (e) => (h(), p("li", { key: e.id }, _(e.label), 1))), 128))])) : f("", !0)
369
- ]))), 128))])) : f("", !0)
370
- ]), m("div", {
418
+ f("strong", Me, h(e.title), 1),
419
+ e.description ? (p(), d("p", Ne, h(e.description), 1)) : u("", !0),
420
+ e.items?.length ? (p(), d("ul", Pe, [(p(!0), d(c, null, m(e.items, (e) => (p(), d("li", { key: e.id }, h(e.label), 1))), 128))])) : u("", !0)
421
+ ]))), 128))])) : u("", !0)
422
+ ]), f("div", {
371
423
  class: "s-tooltip-arrow",
372
- style: de(v(Ue))
373
- }, null, 4)], 44, xe)) : f("", !0)]),
424
+ style: me(g(Je))
425
+ }, null, 4)], 12, Ce)) : u("", !0)]),
374
426
  _: 1
375
- }, 8, ["css"])]))], 64));
427
+ }, 8, ["css"])], 8, ["to"])) : u("", !0)], 64));
376
428
  }
377
429
  });
378
430
  //#endregion
379
- export { y as default };
431
+ export { v as default };