@pgcorp/ui-kit 0.10.1 → 0.11.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 (97) hide show
  1. package/README.md +89 -0
  2. package/dist/assets/src/components/shared/_internal/{SDialogSurface.css_vue_type_style_index_0_src_979bf586_scoped_979bf586_lang.css → SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css} +1 -1
  3. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +2 -0
  4. package/dist/assets/src/components/shared/containers/{SModal.css_vue_type_style_index_0_src_64c62e90_scoped_64c62e90_lang.css → SModal.css_vue_type_style_index_0_src_23373daf_scoped_23373daf_lang.css} +1 -1
  5. package/dist/assets/src/components/shared/controls/{SButton.css_vue_type_style_index_0_src_49f356bb_scoped_49f356bb_lang.css → SButton.css_vue_type_style_index_0_src_52ad38b1_scoped_52ad38b1_lang.css} +1 -1
  6. package/dist/assets/src/components/shared/controls/{SInputText.css_vue_type_style_index_0_src_6d42d245_scoped_6d42d245_lang.css → SInputText.css_vue_type_style_index_0_src_a9c5f1aa_scoped_a9c5f1aa_lang.css} +1 -1
  7. package/dist/assets/src/components/shared/controls/{SLink.css_vue_type_style_index_0_src_fc6fdfb3_scoped_fc6fdfb3_lang.css → SLink.css_vue_type_style_index_0_src_c7ae14e1_scoped_c7ae14e1_lang.css} +1 -1
  8. package/dist/assets/src/components/shared/data-display/SCodeBlock.css_vue_type_style_index_0_src_78557968_scoped_78557968_lang.css +2 -0
  9. package/dist/assets/src/components/shared/data-display/{SCodeEditor.css_vue_type_style_index_0_src_cad79088_scoped_cad79088_lang.css → SCodeEditor.css_vue_type_style_index_0_src_124ca461_scoped_124ca461_lang.css} +1 -1
  10. package/dist/assets/src/components/shared/data-display/SCodeWorkspaceEditor.css_vue_type_style_index_0_src_b200dc8e_scoped_b200dc8e_lang.css +2 -0
  11. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +2 -0
  12. package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_a0d16ca3_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css} +1 -1
  13. package/dist/assets/src/components/shared/navigation/{SBreadcrumbs.css_vue_type_style_index_0_src_e2c5851e_scoped_e2c5851e_lang.css → SBreadcrumbs.css_vue_type_style_index_0_src_f836963c_scoped_f836963c_lang.css} +1 -1
  14. package/dist/assets/src/components/shared/persona/_internal/SPersonaRunConsole.css_vue_type_style_index_0_src_21bf807e_scoped_21bf807e_lang.css +2 -0
  15. package/dist/index.js +4 -2
  16. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +243 -0
  17. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +7 -0
  18. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +721 -239
  19. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +244 -4
  20. package/dist/src/components/icons/_internal/sputnigUiIconRuntime.d.ts +18 -0
  21. package/dist/src/components/icons/_internal/sputnigUiIconRuntime.js +99 -0
  22. package/dist/src/components/icons/sputnigUiIcons.d.ts +5 -81
  23. package/dist/src/components/icons/sputnigUiIcons.js +238 -394
  24. package/dist/src/components/layout/SAppShell.vue.d.ts +2 -2
  25. package/dist/src/components/layout/SSideMenuButton.vue.d.ts +1 -1
  26. package/dist/src/components/layout/_internal/SAppBrand.vue.d.ts +3 -3
  27. package/dist/src/components/layout/types.d.ts +2 -2
  28. package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +2 -1
  29. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  30. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +38 -37
  31. package/dist/src/components/shared/_internal/SMenuItem.vue_vue_type_script_setup_true_lang.js +1 -1
  32. package/dist/src/components/shared/_internal/SToastItem.vue_vue_type_script_setup_true_lang.js +1 -1
  33. package/dist/src/components/shared/_internal/STreeNode.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/src/components/shared/_internal/dialogSurface.d.ts +3 -0
  35. package/dist/src/components/shared/_internal/dialogSurface.js +23 -19
  36. package/dist/src/components/shared/containers/SCloudChromeRow.vue_vue_type_script_setup_true_lang.js +44 -44
  37. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +7 -1
  38. package/dist/src/components/shared/containers/SDrawer.vue.js +2 -2
  39. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +49 -44
  40. package/dist/src/components/shared/containers/SModal.vue.d.ts +7 -1
  41. package/dist/src/components/shared/containers/SModal.vue.js +2 -2
  42. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +48 -41
  43. package/dist/src/components/shared/controls/SButton.vue.d.ts +32 -2
  44. package/dist/src/components/shared/controls/SButton.vue.js +2 -2
  45. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +77 -79
  46. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
  47. package/dist/src/components/shared/controls/SComboboxTrigger.vue_vue_type_script_setup_true_lang.js +1 -1
  48. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +1 -1
  49. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +21 -21
  50. package/dist/src/components/shared/controls/SInputText.vue.d.ts +6 -0
  51. package/dist/src/components/shared/controls/SInputText.vue.js +2 -2
  52. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +117 -97
  53. package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
  54. package/dist/src/components/shared/controls/SLink.vue.js +2 -2
  55. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +22 -22
  56. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +1 -1
  57. package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
  58. package/dist/src/components/shared/controls/STextarea.vue.d.ts +12 -18
  59. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +1 -1
  60. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +1 -1
  61. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +1 -1
  62. package/dist/src/components/shared/data-display/SCodeBlock.vue.d.ts +33 -11
  63. package/dist/src/components/shared/data-display/SCodeBlock.vue.js +2 -2
  64. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +77 -75
  65. package/dist/src/components/shared/data-display/SCodeEditor.vue.d.ts +22 -10
  66. package/dist/src/components/shared/data-display/SCodeEditor.vue.js +2 -2
  67. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +44 -44
  68. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +1 -1
  69. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue.js +2 -2
  70. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +3 -3
  71. package/dist/src/components/shared/data-display/SCopyField.vue_vue_type_script_setup_true_lang.js +1 -1
  72. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +1 -1
  73. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +1 -1
  74. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +1 -1
  75. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +1 -1
  76. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
  77. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +2 -2
  78. package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +7 -10
  79. package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
  80. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +70 -68
  81. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.js +2 -2
  82. package/dist/src/components/shared/navigation/SBreadcrumbs.vue_vue_type_script_setup_true_lang.js +20 -21
  83. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue_vue_type_script_setup_true_lang.js +1 -1
  84. package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue.js +2 -2
  85. package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue_vue_type_script_setup_true_lang.js +6 -3
  86. package/dist/src/composables/useDialogOverlay.d.ts +2 -0
  87. package/dist/src/composables/useDialogOverlay.js +14 -7
  88. package/dist/src/internal/feedbackPresentation.js +1 -1
  89. package/docs/accessibility.md +10 -0
  90. package/docs/public-api.md +12 -0
  91. package/docs/versioning.md +38 -10
  92. package/package.json +1 -1
  93. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_1226da98_scoped_1226da98_lang.css +0 -2
  94. package/dist/assets/src/components/shared/data-display/SCodeBlock.css_vue_type_style_index_0_src_aad45526_scoped_aad45526_lang.css +0 -2
  95. package/dist/assets/src/components/shared/data-display/SCodeWorkspaceEditor.css_vue_type_style_index_0_src_864bce1d_scoped_864bce1d_lang.css +0 -2
  96. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_63180598_scoped_63180598_lang.css +0 -2
  97. package/dist/assets/src/components/shared/persona/_internal/SPersonaRunConsole.css_vue_type_style_index_0_src_c71f59d4_scoped_c71f59d4_lang.css +0 -2
@@ -1,8 +1,8 @@
1
- import { RouteLocationRaw } from 'vue-router';
1
+ import { LinkRouterTarget } from '../shared/controls/SLink';
2
2
  import { AppShellNavigationItem, ShellBadgeSeverity } from './types';
3
3
  interface SharedProps {
4
4
  brandTitle: string;
5
- brandTo?: RouteLocationRaw | null;
5
+ brandTo?: LinkRouterTarget | null;
6
6
  brandSubtitle?: string;
7
7
  }
8
8
  export interface SAppShellAppProps extends SharedProps {
@@ -1,5 +1,5 @@
1
1
  import { Component } from 'vue';
2
- import { SMenuEntry, SMenuSelectableEntry } from '../shared/controls/menu.ts';
2
+ import { SMenuEntry } from '../shared/controls/menu.ts';
3
3
  import { BadgeSeverity } from '../shared/data-display/SBadge.vue';
4
4
  type __VLS_Props = {
5
5
  title: string;
@@ -1,8 +1,8 @@
1
- import { RouteLocationRaw } from 'vue-router';
1
+ import { LinkRouterTarget } from '../../shared/controls/SLink';
2
2
  type __VLS_Props = {
3
3
  title: string;
4
4
  subtitle?: string;
5
- to?: RouteLocationRaw | null;
5
+ to?: LinkRouterTarget | null;
6
6
  placement: 'sidebar' | 'header';
7
7
  };
8
8
  declare var __VLS_14: {}, __VLS_17: {}, __VLS_26: {}, __VLS_29: {};
@@ -16,7 +16,7 @@ type __VLS_Slots = {} & {
16
16
  icon?: (props: typeof __VLS_29) => any;
17
17
  };
18
18
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
- to: RouteLocationRaw | null;
19
+ to: LinkRouterTarget | null;
20
20
  subtitle: string;
21
21
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,7 +1,7 @@
1
1
  import { Component } from 'vue';
2
- import { RouteLocationRaw } from 'vue-router';
3
2
  import { BadgeSeverity } from '../shared/data-display/SBadge.vue';
4
3
  import { SAsyncStateContract } from '../shared/feedback/SAsyncState.vue';
4
+ import { LinkRouterTarget } from '../shared/controls/SLink';
5
5
  export type ShellBadgeSeverity = BadgeSeverity;
6
6
  /**
7
7
  * Точное взаимоисключающее состояние рабочей панели.
@@ -20,7 +20,7 @@ export type WorkbenchPanelState = {
20
20
  export interface AppShellNavigationItem {
21
21
  key: string;
22
22
  label: string;
23
- to: RouteLocationRaw;
23
+ to: LinkRouterTarget;
24
24
  icon?: Component;
25
25
  badgeLabel?: string;
26
26
  badgeSeverity?: ShellBadgeSeverity;
@@ -1,9 +1,10 @@
1
1
  import { ComponentPublicInstance } from 'vue';
2
- import { DialogSurfacePresentation } from './dialogSurface';
2
+ import { DialogSurfaceHeadingLevel, DialogSurfacePresentation } from './dialogSurface';
3
3
  type __VLS_Props = {
4
4
  presentation: DialogSurfacePresentation;
5
5
  title?: string;
6
6
  accessibleName: string;
7
+ headingLevel: DialogSurfaceHeadingLevel;
7
8
  closable: boolean;
8
9
  setSurfaceElement: (element: Element | ComponentPublicInstance | null) => void;
9
10
  };
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_979bf586_scoped_979bf586_lang.css";
1
+ import "../../../../assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SDialogSurface.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/_internal/SDialogSurface.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-979bf586"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-d1b65adf"]]);
7
7
  //#endregion
8
8
  export { n as default };
@@ -1,76 +1,77 @@
1
- import { X as e } from "../../icons/sputnigUiIcons.js";
1
+ import { X as e } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
2
  import { useUiKitLocale as t } from "../../../composables/useUiKitLocale.js";
3
3
  import { useInteractiveLeafRegistration as n } from "../../../internal/passiveContentContract.js";
4
4
  import r from "../controls/SButton.vue.js";
5
- import { assertDialogSurfacePresentation as i } from "./dialogSurface.js";
6
- import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, defineComponent as f, mergeProps as p, openBlock as m, renderSlot as h, resolveDynamicComponent as g, toDisplayString as _, unref as v, useId as y, useSlots as b, withCtx as x } from "vue";
5
+ import { assertDialogSurfacePresentation as i, validateDialogSurfaceHeadingLevel as a } from "./dialogSurface.js";
6
+ import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, defineComponent as p, mergeProps as m, openBlock as h, renderSlot as g, resolveDynamicComponent as _, toDisplayString as v, unref as y, useId as b, useSlots as x, withCtx as S } from "vue";
7
7
  //#region src/components/shared/_internal/SDialogSurface.vue?vue&type=script&setup=true&lang.ts
8
- var S = { class: "s-dialog-surface__body" }, C = ["data-layout"], w = {
8
+ var C = { class: "s-dialog-surface__body" }, w = ["data-layout"], T = {
9
9
  key: 0,
10
10
  class: "s-dialog-surface__footer-start"
11
- }, T = {
11
+ }, E = {
12
12
  key: 1,
13
13
  class: "s-dialog-surface__footer-end"
14
- }, E = "div", D = /*@__PURE__*/ f({
14
+ }, D = "div", O = /*@__PURE__*/ p({
15
15
  inheritAttrs: !1,
16
16
  __name: "SDialogSurface",
17
17
  props: {
18
18
  presentation: {},
19
19
  title: {},
20
20
  accessibleName: {},
21
+ headingLevel: {},
21
22
  closable: { type: Boolean },
22
23
  setSurfaceElement: { type: Function }
23
24
  },
24
25
  emits: ["request-close"],
25
- setup(f, { emit: D }) {
26
- let O = f, k = D, { t: A } = t();
27
- i(O.presentation), n({ owner: "SDialogSurface" });
28
- let j = b(), M = `s-dialog-title-${y()}`, N = o(() => O.presentation.kind === "modal"), P = o(() => O.presentation.kind === "modal" ? O.presentation : null), F = o(() => O.presentation.kind === "drawer" ? O.presentation : null), I = o(() => !!(O.title || j.header)), L = o(() => N.value && !!(j["footer-start"] || j["footer-end"])), R = o(() => L.value || !!j.footer), z = o(() => N.value ? "div" : "header"), B = o(() => N.value ? "h3" : "h2"), V = o(() => {
29
- let e = O.presentation;
26
+ setup(p, { emit: O }) {
27
+ let k = p, A = O, { t: j } = t();
28
+ i(k.presentation), n({ owner: "SDialogSurface" });
29
+ let M = x(), N = `s-dialog-title-${b()}`, P = s(() => k.presentation.kind === "modal"), F = s(() => k.presentation.kind === "modal" ? k.presentation : null), I = s(() => k.presentation.kind === "drawer" ? k.presentation : null), L = s(() => !!(k.title || M.header)), R = s(() => P.value && !!(M["footer-start"] || M["footer-end"])), z = s(() => R.value || !!M.footer), B = s(() => P.value ? "div" : "header"), V = s(() => a("SDialogSurface", k.headingLevel)), H = s(() => `h${V.value}`), U = s(() => {
30
+ let e = k.presentation;
30
31
  return e.kind === "drawer" ? e.placement === "bottom" ? "bottom-sheet" : e.mobileFullScreen ? "mobile-fullscreen" : "side-panel" : e.fullscreen || e.size === "full" ? "fullscreen" : "contained";
31
- }), H = () => k("request-close");
32
- return (t, n) => (m(), s(g(E), p({ ref: f.setSurfaceElement }, t.$attrs, {
32
+ }), W = () => A("request-close");
33
+ return (t, n) => (h(), c(_(D), m({ ref: p.setSurfaceElement }, t.$attrs, {
33
34
  class: "s-dialog-surface",
34
- "data-presentation": f.presentation.kind,
35
- "data-layout": V.value,
36
- "data-size": f.presentation.size,
37
- "data-placement": F.value?.placement,
38
- "data-surface": P.value?.surface,
39
- "data-scroll": P.value?.scrollBehavior,
35
+ "data-presentation": p.presentation.kind,
36
+ "data-layout": U.value,
37
+ "data-size": p.presentation.size,
38
+ "data-placement": I.value?.placement,
39
+ "data-surface": F.value?.surface,
40
+ "data-scroll": F.value?.scrollBehavior,
40
41
  tabindex: "-1",
41
42
  role: "dialog",
42
43
  "aria-modal": "true",
43
- "aria-labelledby": I.value ? M : void 0,
44
- "aria-label": I.value ? void 0 : f.accessibleName
44
+ "aria-labelledby": L.value ? N : void 0,
45
+ "aria-label": L.value ? void 0 : p.accessibleName
45
46
  }), {
46
- default: x(() => [
47
- I.value ? (m(), s(g(z.value), {
47
+ default: S(() => [
48
+ L.value ? (h(), c(_(B.value), {
48
49
  key: 0,
49
50
  class: "s-dialog-surface__header"
50
51
  }, {
51
- default: x(() => [(m(), s(g(B.value), {
52
- id: M,
52
+ default: S(() => [(h(), c(_(H.value), {
53
+ id: N,
53
54
  class: "s-dialog-surface__title"
54
55
  }, {
55
- default: x(() => [h(t.$slots, "header", {}, () => [d(_(f.title), 1)], !0)]),
56
+ default: S(() => [g(t.$slots, "header", {}, () => [f(v(p.title), 1)], !0)]),
56
57
  _: 3
57
- })), f.closable ? (m(), s(r, {
58
+ })), p.closable ? (h(), c(r, {
58
59
  key: 0,
59
- "leading-icon": v(e),
60
+ "leading-icon": y(e),
60
61
  "icon-only": "",
61
62
  appearance: "text",
62
63
  size: "sm",
63
- "aria-label": v(A)("dialog.close"),
64
- onClick: H
65
- }, null, 8, ["leading-icon", "aria-label"])) : c("", !0)]),
64
+ "aria-label": y(j)("dialog.close"),
65
+ onClick: W
66
+ }, null, 8, ["leading-icon", "aria-label"])) : l("", !0)]),
66
67
  _: 3
67
- })) : c("", !0),
68
- u("div", S, [h(t.$slots, "default", {}, void 0, !0)]),
69
- R.value ? (m(), l("div", {
68
+ })) : l("", !0),
69
+ d("div", C, [g(t.$slots, "default", {}, void 0, !0)]),
70
+ z.value ? (h(), u("div", {
70
71
  key: 1,
71
72
  class: "s-dialog-surface__footer",
72
- "data-layout": L.value ? "split" : "end"
73
- }, [L.value ? (m(), l(a, { key: 0 }, [t.$slots["footer-start"] ? (m(), l("div", w, [h(t.$slots, "footer-start", { close: H }, void 0, !0)])) : c("", !0), t.$slots["footer-end"] ? (m(), l("div", T, [h(t.$slots, "footer-end", { close: H }, void 0, !0)])) : c("", !0)], 64)) : h(t.$slots, "footer", { close: H }, void 0, !0, 1)], 8, C)) : c("", !0)
73
+ "data-layout": R.value ? "split" : "end"
74
+ }, [R.value ? (h(), u(o, { key: 0 }, [t.$slots["footer-start"] ? (h(), u("div", T, [g(t.$slots, "footer-start", { close: W }, void 0, !0)])) : l("", !0), t.$slots["footer-end"] ? (h(), u("div", E, [g(t.$slots, "footer-end", { close: W }, void 0, !0)])) : l("", !0)], 64)) : g(t.$slots, "footer", { close: W }, void 0, !0, 1)], 8, w)) : l("", !0)
74
75
  ]),
75
76
  _: 3
76
77
  }, 16, [
@@ -86,4 +87,4 @@ var S = { class: "s-dialog-surface__body" }, C = ["data-layout"], w = {
86
87
  }
87
88
  });
88
89
  //#endregion
89
- export { D as default };
90
+ export { O as default };
@@ -1,4 +1,4 @@
1
- import { Check as e, ChevronRight as t } from "../../icons/sputnigUiIcons.js";
1
+ import { Check as e, ChevronRight as t } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
2
  import n from "../data-display/SBadge.vue.js";
3
3
  import { useInteractiveLeafRegistration as r } from "../../../internal/passiveContentContract.js";
4
4
  import { resolveLinkTarget as i } from "../../../internal/linkTarget.js";
@@ -1,4 +1,4 @@
1
- import { X as e } from "../../icons/sputnigUiIcons.js";
1
+ import { X as e } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
2
  import { useUiKitLocale as t } from "../../../composables/useUiKitLocale.js";
3
3
  import { resolveSemanticToneBinding as n } from "../../../internal/semanticTone.js";
4
4
  import { resolveFeedbackLive as r, resolveFeedbackPresentation as i } from "../../../internal/feedbackPresentation.js";
@@ -1,4 +1,4 @@
1
- import { Check as e, ChevronDown as t, ChevronRight as n, Minus as r } from "../../icons/sputnigUiIcons.js";
1
+ import { Check as e, ChevronDown as t, ChevronRight as n, Minus as r } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
2
  import { useUiKitLocale as i } from "../../../composables/useUiKitLocale.js";
3
3
  import { PassiveContentBoundary as a, useInteractiveLeafRegistration as o } from "../../../internal/passiveContentContract.js";
4
4
  import { TREE_ACTION_CONTEXT_KEY as s, TREE_RUNTIME_KEY as ee, TreeActionRegistrationStore as te } from "./treeRuntime.js";
@@ -3,6 +3,9 @@ export type DialogSurfaceDrawerSize = 'sm' | 'md' | 'lg';
3
3
  export type DialogSurfaceDrawerPlacement = 'right' | 'bottom';
4
4
  export type DialogSurfaceTone = 'default' | 'subtle';
5
5
  export type DialogSurfaceScrollBehavior = 'page' | 'body';
6
+ export type DialogSurfaceHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
7
+ /** Проверяет уровень native heading без числового coercion. / Validates a native heading level without numeric coercion. */
8
+ export declare function validateDialogSurfaceHeadingLevel(owner: string, value: unknown): DialogSurfaceHeadingLevel;
6
9
  export interface ModalDialogSurfacePresentation {
7
10
  kind: 'modal';
8
11
  size: DialogSurfaceModalSize;
@@ -1,20 +1,24 @@
1
1
  //#region src/components/shared/_internal/dialogSurface.ts
2
- var e = class extends Error {
2
+ function e(e, t) {
3
+ if (t === 1 || t === 2 || t === 3 || t === 4 || t === 5 || t === 6) return t;
4
+ throw TypeError(`${e}: headingLevel должен быть целым числом от 1 до 6; получено ${String(t)}. / ${e}: headingLevel must be an integer from 1 to 6; received ${String(t)}.`);
5
+ }
6
+ var t = class extends Error {
3
7
  constructor(e, t) {
4
8
  super(t), this.name = "DialogSurfaceContractError", this.code = e;
5
9
  }
6
- }, t = /* @__PURE__ */ new Set([
10
+ }, n = /* @__PURE__ */ new Set([
7
11
  "kind",
8
12
  "size",
9
13
  "fullscreen",
10
14
  "surface",
11
15
  "scrollBehavior"
12
- ]), n = /* @__PURE__ */ new Set([
16
+ ]), r = /* @__PURE__ */ new Set([
13
17
  "kind",
14
18
  "size",
15
19
  "placement",
16
20
  "mobileFullScreen"
17
- ]), r = /* @__PURE__ */ new Set([
21
+ ]), i = /* @__PURE__ */ new Set([
18
22
  "sm",
19
23
  "md",
20
24
  "lg",
@@ -23,30 +27,30 @@ var e = class extends Error {
23
27
  "3xl",
24
28
  "wide",
25
29
  "full"
26
- ]), i = /* @__PURE__ */ new Set([
30
+ ]), a = /* @__PURE__ */ new Set([
27
31
  "sm",
28
32
  "md",
29
33
  "lg"
30
- ]), a = /* @__PURE__ */ new Set(["right", "bottom"]), o = /* @__PURE__ */ new Set(["default", "subtle"]), s = /* @__PURE__ */ new Set(["page", "body"]), c = (t, n, r) => {
31
- let i = Object.keys(t).find((e) => !r.has(e));
32
- if (i) throw new e("invalid-presentation", `SDialogSurface presentation kind="${n}" содержит недопустимое поле ${i}`);
34
+ ]), o = /* @__PURE__ */ new Set(["right", "bottom"]), s = /* @__PURE__ */ new Set(["default", "subtle"]), c = /* @__PURE__ */ new Set(["page", "body"]), l = (e, n, r) => {
35
+ let i = Object.keys(e).find((e) => !r.has(e));
36
+ if (i) throw new t("invalid-presentation", `SDialogSurface presentation kind="${n}" содержит недопустимое поле ${i}`);
33
37
  };
34
- function l(l) {
35
- let u = l;
38
+ function u(e) {
39
+ let u = e;
36
40
  if (u.kind === "modal") {
37
- if (c(u, "modal", t), !r.has(u.size)) throw new e("invalid-size", `Недопустимый размер SModal: ${String(u.size)}`);
38
- if (typeof u.fullscreen != "boolean") throw new e("invalid-presentation", "SModal presentation требует boolean fullscreen");
39
- if (!o.has(u.surface)) throw new e("invalid-surface", `Недопустимая поверхность SModal: ${String(u.surface)}`);
40
- if (!s.has(u.scrollBehavior)) throw new e("invalid-scroll-behavior", `Недопустимый scroll behavior SModal: ${String(u.scrollBehavior)}`);
41
+ if (l(u, "modal", n), !i.has(u.size)) throw new t("invalid-size", `Недопустимый размер SModal: ${String(u.size)}`);
42
+ if (typeof u.fullscreen != "boolean") throw new t("invalid-presentation", "SModal presentation требует boolean fullscreen");
43
+ if (!s.has(u.surface)) throw new t("invalid-surface", `Недопустимая поверхность SModal: ${String(u.surface)}`);
44
+ if (!c.has(u.scrollBehavior)) throw new t("invalid-scroll-behavior", `Недопустимый scroll behavior SModal: ${String(u.scrollBehavior)}`);
41
45
  return;
42
46
  }
43
47
  if (u.kind === "drawer") {
44
- if (c(u, "drawer", n), !i.has(u.size)) throw new e("invalid-size", `Недопустимый размер SDrawer: ${String(u.size)}`);
45
- if (!a.has(u.placement)) throw new e("invalid-presentation", `Недопустимое размещение SDrawer: ${String(u.placement)}`);
46
- if (typeof u.mobileFullScreen != "boolean") throw new e("invalid-presentation", "SDrawer presentation требует boolean mobileFullScreen");
48
+ if (l(u, "drawer", r), !a.has(u.size)) throw new t("invalid-size", `Недопустимый размер SDrawer: ${String(u.size)}`);
49
+ if (!o.has(u.placement)) throw new t("invalid-presentation", `Недопустимое размещение SDrawer: ${String(u.placement)}`);
50
+ if (typeof u.mobileFullScreen != "boolean") throw new t("invalid-presentation", "SDrawer presentation требует boolean mobileFullScreen");
47
51
  return;
48
52
  }
49
- throw new e("invalid-presentation", `Неизвестный kind SDialogSurface: ${String(u.kind)}`);
53
+ throw new t("invalid-presentation", `Неизвестный kind SDialogSurface: ${String(u.kind)}`);
50
54
  }
51
55
  //#endregion
52
- export { e as DialogSurfaceContractError, l as assertDialogSurfacePresentation };
56
+ export { t as DialogSurfaceContractError, u as assertDialogSurfacePresentation, e as validateDialogSurfaceHeadingLevel };
@@ -1,16 +1,16 @@
1
- import { getSputnigUiIconComponent as e } from "../../icons/sputnigUiIcons.js";
2
- import { useOwnedAttrs as t } from "../../../internal/ownedAttrs.js";
3
- import n from "../controls/SButton.vue.js";
4
- import r from "../controls/SDragHandle.vue.js";
5
- import { createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, mergeProps as u, openBlock as d, renderSlot as f, unref as p } from "vue";
1
+ import { Hide as e, Reset as t } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
+ import { useOwnedAttrs as n } from "../../../internal/ownedAttrs.js";
3
+ import r from "../controls/SButton.vue.js";
4
+ import i from "../controls/SDragHandle.vue.js";
5
+ import { createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeProps as d, openBlock as f, renderSlot as p, unref as m } from "vue";
6
6
  //#region src/components/shared/containers/SCloudChromeRow.vue?vue&type=script&setup=true&lang.ts
7
- var m = ["data-item-id"], h = {
7
+ var h = ["data-item-id"], g = {
8
8
  key: 0,
9
9
  class: "s-cloud-chrome-row__drag-handle"
10
- }, g = { class: "s-cloud-chrome-row__content" }, _ = {
10
+ }, _ = { class: "s-cloud-chrome-row__content" }, v = {
11
11
  key: 1,
12
12
  class: "s-cloud-chrome-row__actions"
13
- }, v = /*@__PURE__*/ l({
13
+ }, y = /*@__PURE__*/ u({
14
14
  inheritAttrs: !1,
15
15
  __name: "SCloudChromeRow",
16
16
  props: {
@@ -53,74 +53,74 @@ var m = ["data-item-id"], h = {
53
53
  "move-up",
54
54
  "move-down"
55
55
  ],
56
- setup(l, { emit: v }) {
57
- let y = e("hide"), b = e("reset"), x = t({
56
+ setup(u, { emit: y }) {
57
+ let b = n({
58
58
  component: "SCloudChromeRow",
59
59
  owner: "cloud chrome row root"
60
- }), S = v;
61
- function C(e) {
60
+ }), x = y;
61
+ function S(e) {
62
62
  if (e === -1) {
63
- S("move-up");
63
+ x("move-up");
64
64
  return;
65
65
  }
66
- S("move-down");
66
+ x("move-down");
67
67
  }
68
- return (e, t) => (d(), o("div", u(p(x).bindings(), {
68
+ return (n, y) => (f(), s("div", d(m(b).bindings(), {
69
69
  class: ["s-cloud-chrome-row", {
70
- "s-cloud-chrome-row--static": !l.editing || !l.draggable,
71
- "s-cloud-chrome-row--hidden": l.hidden,
72
- "s-cloud-chrome-row--embedded": l.appearance === "embedded"
70
+ "s-cloud-chrome-row--static": !u.editing || !u.draggable,
71
+ "s-cloud-chrome-row--hidden": u.hidden,
72
+ "s-cloud-chrome-row--embedded": u.appearance === "embedded"
73
73
  }],
74
- "data-item-id": l.itemId
74
+ "data-item-id": u.itemId
75
75
  }), [
76
- l.editing && l.draggable ? (d(), o("div", h, [c(r, {
76
+ u.editing && u.draggable ? (f(), s("div", g, [l(i, {
77
77
  size: "xs",
78
- label: l.label,
79
- "can-move-previous": l.canMoveUp,
80
- "can-move-next": l.canMoveDown,
81
- onDragStart: t[0] ||= (t) => e.$emit("drag-start", t),
82
- onReorder: C
78
+ label: u.label,
79
+ "can-move-previous": u.canMoveUp,
80
+ "can-move-next": u.canMoveDown,
81
+ onDragStart: y[0] ||= (e) => n.$emit("drag-start", e),
82
+ onReorder: S
83
83
  }, null, 8, [
84
84
  "label",
85
85
  "can-move-previous",
86
86
  "can-move-next"
87
- ])])) : a("", !0),
88
- s("div", g, [f(e.$slots, "default")]),
89
- l.editing || e.$slots.actions ? (d(), o("div", _, [
90
- f(e.$slots, "actions"),
91
- l.editing && l.canHide && !l.hidden ? (d(), i(n, {
87
+ ])])) : o("", !0),
88
+ c("div", _, [p(n.$slots, "default")]),
89
+ u.editing || n.$slots.actions ? (f(), s("div", v, [
90
+ p(n.$slots, "actions"),
91
+ u.editing && u.canHide && !u.hidden ? (f(), a(r, {
92
92
  key: 0,
93
93
  size: "xs",
94
94
  severity: "secondary",
95
95
  appearance: "ghost",
96
96
  "icon-only": "",
97
- "leading-icon": p(y),
98
- title: `Скрыть: ${l.label}`,
99
- "aria-label": `Скрыть: ${l.label}`,
100
- onClick: t[1] ||= (t) => e.$emit("hide")
97
+ "leading-icon": m(e),
98
+ title: `Скрыть: ${u.label}`,
99
+ "aria-label": `Скрыть: ${u.label}`,
100
+ onClick: y[1] ||= (e) => n.$emit("hide")
101
101
  }, null, 8, [
102
102
  "leading-icon",
103
103
  "title",
104
104
  "aria-label"
105
- ])) : a("", !0),
106
- l.editing && l.canRestore ? (d(), i(n, {
105
+ ])) : o("", !0),
106
+ u.editing && u.canRestore ? (f(), a(r, {
107
107
  key: 1,
108
108
  size: "xs",
109
109
  severity: "secondary",
110
110
  appearance: "ghost",
111
111
  "icon-only": "",
112
- "leading-icon": p(b),
113
- title: `Вернуть: ${l.label}`,
114
- "aria-label": `Вернуть: ${l.label}`,
115
- onClick: t[2] ||= (t) => e.$emit("restore")
112
+ "leading-icon": m(t),
113
+ title: `Вернуть: ${u.label}`,
114
+ "aria-label": `Вернуть: ${u.label}`,
115
+ onClick: y[2] ||= (e) => n.$emit("restore")
116
116
  }, null, 8, [
117
117
  "leading-icon",
118
118
  "title",
119
119
  "aria-label"
120
- ])) : a("", !0)
121
- ])) : a("", !0)
122
- ], 16, m));
120
+ ])) : o("", !0)
121
+ ])) : o("", !0)
122
+ ], 16, h));
123
123
  }
124
124
  });
125
125
  //#endregion
126
- export { v as default };
126
+ export { y as default };
@@ -1,6 +1,7 @@
1
- import { DialogSurfaceDrawerPlacement, DialogSurfaceDrawerSize } from '../_internal/dialogSurface';
1
+ import { DialogSurfaceDrawerPlacement, DialogSurfaceDrawerSize, DialogSurfaceHeadingLevel } from '../_internal/dialogSurface';
2
2
  export type DrawerSize = DialogSurfaceDrawerSize;
3
3
  export type DrawerPlacement = DialogSurfaceDrawerPlacement;
4
+ export type DrawerHeadingLevel = DialogSurfaceHeadingLevel;
4
5
  export interface Props {
5
6
  open: boolean;
6
7
  title?: string;
@@ -9,6 +10,8 @@ export interface Props {
9
10
  placement?: DrawerPlacement;
10
11
  mobileFullScreen?: boolean;
11
12
  ariaLabel?: string;
13
+ /** Уровень видимого заголовка в document outline. / Visible title level in the document outline. */
14
+ headingLevel?: DrawerHeadingLevel;
12
15
  }
13
16
  declare var __VLS_28: {}, __VLS_30: {}, __VLS_33: {
14
17
  close: () => void;
@@ -22,8 +25,10 @@ type __VLS_Slots = {} & {
22
25
  };
23
26
  declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
27
  "update:open": (value: boolean) => any;
28
+ opened: () => any;
25
29
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
30
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
31
+ onOpened?: (() => any) | undefined;
27
32
  }>, {
28
33
  title: string;
29
34
  size: DrawerSize;
@@ -31,6 +36,7 @@ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, i
31
36
  ariaLabel: string;
32
37
  placement: DrawerPlacement;
33
38
  mobileFullScreen: boolean;
39
+ headingLevel: DrawerHeadingLevel;
34
40
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
35
41
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
42
  declare const _default: typeof __VLS_export;
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_1226da98_scoped_1226da98_lang.css";
1
+ import "../../../../assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SDrawer.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/containers/SDrawer.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-1226da98"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-091d7325"]]);
7
7
  //#endregion
8
8
  export { n as default };