@bitrix24/b24ui-nuxt 2.1.12 → 2.1.16

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 (35) hide show
  1. package/.nuxt/b24ui.css +2 -0
  2. package/dist/meta.d.mts +522 -42
  3. package/dist/meta.mjs +522 -42
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +3 -5
  6. package/dist/runtime/air-design-tokens/003_b24_context_light.css +1 -1
  7. package/dist/runtime/air-design-tokens/004_b24_context_dark.css +1 -1
  8. package/dist/runtime/air-design-tokens/008_ui_global.css +1 -1
  9. package/dist/runtime/air-design-tokens/components/popup.css +1 -1
  10. package/dist/runtime/air-design-tokens/tw-style/font-size.css +1 -1
  11. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  12. package/dist/runtime/components/DropdownMenu.vue +2 -2
  13. package/dist/runtime/components/DropdownMenuContent.vue +3 -2
  14. package/dist/runtime/components/EditorToolbar.d.vue.ts +1 -1
  15. package/dist/runtime/components/EditorToolbar.vue +5 -3
  16. package/dist/runtime/components/EditorToolbar.vue.d.ts +1 -1
  17. package/dist/runtime/components/PageCard.vue +2 -1
  18. package/dist/runtime/components/User.vue +0 -1
  19. package/dist/runtime/components/locale/LocaleSelect.vue +5 -3
  20. package/dist/runtime/components/prose/Callout.vue +0 -1
  21. package/dist/runtime/components/prose/Card.vue +0 -1
  22. package/dist/runtime/components/prose/Pre.vue +1 -1
  23. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  24. package/dist/runtime/composables/defineShortcuts.js +2 -2
  25. package/dist/runtime/locale/in.d.ts +3 -0
  26. package/dist/runtime/locale/in.js +136 -0
  27. package/dist/runtime/locale/index.d.ts +25 -23
  28. package/dist/runtime/locale/index.js +11 -10
  29. package/dist/runtime/types/prose.d.ts +2 -0
  30. package/dist/runtime/types/prose.js +2 -0
  31. package/dist/runtime/utils/tv.js +2 -1
  32. package/dist/shared/{b24ui-nuxt.C8MyFqPm.mjs → b24ui-nuxt.DdKajqQs.mjs} +173 -170
  33. package/dist/unplugin.mjs +1 -1
  34. package/dist/vite.mjs +1 -1
  35. package/package.json +14 -13
@@ -30,7 +30,7 @@ type EditorToolbarBaseProps<T extends ArrayOrNested<EditorToolbarItem> = ArrayOr
30
30
  color?: ButtonProps['color'];
31
31
  /**
32
32
  * The color of the active toolbar control.
33
- * @defaultValue 'air-primary'
33
+ * @defaultValue 'air-tertiary-accent'
34
34
  */
35
35
  activeColor?: ButtonProps['color'];
36
36
  /**
@@ -19,7 +19,7 @@ defineOptions({ inheritAttrs: false });
19
19
  const props = defineProps({
20
20
  as: { type: null, required: false },
21
21
  color: { type: null, required: false, default: "air-tertiary-no-accent" },
22
- activeColor: { type: null, required: false, default: "air-primary" },
22
+ activeColor: { type: null, required: false, default: "air-tertiary-accent" },
23
23
  size: { type: null, required: false, default: "sm" },
24
24
  items: { type: null, required: false },
25
25
  editor: { type: Object, required: true },
@@ -145,18 +145,20 @@ function getDropdownProps(item) {
145
145
  });
146
146
  }
147
147
  function mapDropdownItem(item) {
148
+ const children = "children" in item && Array.isArray(item.children) ? item.children.map(mapDropdownItem) : void 0;
148
149
  if (!("kind" in item)) {
149
- return item;
150
+ return children ? { ...item, children } : item;
150
151
  }
151
152
  const editorToolbarItem = item;
152
153
  return {
153
154
  ...editorToolbarItem,
155
+ ...children && { children },
154
156
  // @ts-expect-error: need test at nuxt.ui? but this work
155
157
  active: isActive(editorToolbarItem),
156
158
  // @ts-expect-error: need test at nuxt.ui? but this work
157
159
  disabled: isDisabled(editorToolbarItem),
158
160
  // @ts-expect-error: need test at nuxt.ui? but this work
159
- onClick: (e) => onClick(e, editorToolbarItem)
161
+ onSelect: (e) => onClick(e, editorToolbarItem)
160
162
  };
161
163
  }
162
164
  function getDropdownItems(item) {
@@ -30,7 +30,7 @@ type EditorToolbarBaseProps<T extends ArrayOrNested<EditorToolbarItem> = ArrayOr
30
30
  color?: ButtonProps['color'];
31
31
  /**
32
32
  * The color of the active toolbar control.
33
- * @defaultValue 'air-primary'
33
+ * @defaultValue 'air-tertiary-accent'
34
34
  */
35
35
  activeColor?: ButtonProps['color'];
36
36
  /**
@@ -51,6 +51,7 @@ const ariaLabel = computed(() => {
51
51
  :data-orientation="orientation"
52
52
  data-slot="root"
53
53
  :class="b24ui.root({ class: [props.b24ui?.root, props.class] })"
54
+ v-bind="$attrs"
54
55
  @click="onClick"
55
56
  >
56
57
  <div data-slot="container" :class="b24ui.container({ class: props.b24ui?.container })">
@@ -92,7 +93,7 @@ const ariaLabel = computed(() => {
92
93
  <B24Link
93
94
  v-if="to"
94
95
  :aria-label="ariaLabel"
95
- v-bind="{ to, target, ...$attrs }"
96
+ v-bind="{ to, target }"
96
97
  class="focus:outline-none peer"
97
98
  raw
98
99
  >
@@ -77,7 +77,6 @@ const chipSize = computed(() => {
77
77
  :aria-label="name"
78
78
  v-bind="{ to, target, ...$attrs }"
79
79
  class="focus:outline-none peer"
80
- tabindex="-1"
81
80
  raw
82
81
  >
83
82
  <span class="absolute inset-0" aria-hidden="true" />
@@ -61,7 +61,7 @@ function getEmojiFlag(locale) {
61
61
  // English -> USA
62
62
  de: "de",
63
63
  // Deutsch
64
- la: "es",
64
+ es: "es",
65
65
  // Catalan -> Spain
66
66
  br: "br",
67
67
  // Português
@@ -93,8 +93,10 @@ function getEmojiFlag(locale) {
93
93
  // ภาษาไทย
94
94
  ar: "sa",
95
95
  // Arabic -> Saudi Arabia
96
- kz: "kz"
96
+ kk: "kz",
97
97
  // Kazakh -> Kazakhstan
98
+ hi: "in"
99
+ // Indian (हिन्दी)
98
100
  };
99
101
  const baseLanguage = locale.split("-")[0]?.toLowerCase() || locale;
100
102
  const countryCode = languageToCountry[baseLanguage] || locale.replace(/^.*-/, "").slice(0, 2);
@@ -116,7 +118,7 @@ function getEmojiFlag(locale) {
116
118
 
117
119
  <template #item-leading="{ item }">
118
120
  <span class="size-5 text-center">
119
- {{ getEmojiFlag(item.code) }}
121
+ {{ getEmojiFlag(item.locale) }}
120
122
  </span>
121
123
  </template>
122
124
  </B24SelectMenu>
@@ -50,7 +50,6 @@ const iconFromIconName = computed(() => {
50
50
  v-if="to"
51
51
  v-bind="{ to, target, ...$attrs }"
52
52
  class="focus:outline-none"
53
- tabindex="-1"
54
53
  raw
55
54
  >
56
55
  <span class="absolute inset-0" aria-hidden="true" />
@@ -37,7 +37,6 @@ const ariaLabel = computed(() => (props.title || "Card link").trim());
37
37
  :aria-label="ariaLabel"
38
38
  v-bind="{ to, target, ...$attrs }"
39
39
  class="focus:outline-none"
40
- tabindex="-1"
41
40
  raw
42
41
  >
43
42
  <span class="absolute inset-0" aria-hidden="true" />
@@ -57,5 +57,5 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.prose?.
57
57
  </template>
58
58
 
59
59
  <style>
60
- .shiki span.line{display:block}.shiki span.line.highlight{margin:0 -16px;padding:0 16px;@apply bg-(--ui-color-gray-15)/10}
60
+ .shiki span.line{display:block}.shiki span.line.highlight{margin:0 -16px;padding:0 16px;@apply bg-(--ui-color-g-plastic-bluish-bg)/30}
61
61
  </style>
@@ -11,6 +11,6 @@ export interface ShortcutsOptions {
11
11
  chainDelay?: number;
12
12
  layoutIndependent?: boolean;
13
13
  }
14
- export declare function extractShortcuts(items: any[] | any[][]): Record<string, Handler>;
14
+ export declare function extractShortcuts(items: any[] | any[][], separator?: '_' | '-'): Record<string, Handler>;
15
15
  export declare function defineShortcuts(config: MaybeRef<ShortcutsConfig>, options?: ShortcutsOptions): import("@vueuse/shared").Fn;
16
16
  export {};
@@ -28,12 +28,12 @@ function convertKeyToCode(key) {
28
28
  };
29
29
  return specialKeys[key.toLowerCase()] || key;
30
30
  }
31
- export function extractShortcuts(items) {
31
+ export function extractShortcuts(items, separator = "_") {
32
32
  const shortcuts = {};
33
33
  function traverse(items2) {
34
34
  items2.forEach((item) => {
35
35
  if (item.kbds?.length && (item.onSelect || item.onClick)) {
36
- const shortcutKey = item.kbds.join("_");
36
+ const shortcutKey = item.kbds.join(separator);
37
37
  shortcuts[shortcutKey] = item.onSelect || item.onClick;
38
38
  }
39
39
  if (item.children) {
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,136 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "Indian",
4
+ code: "in",
5
+ locale: "hi_IN",
6
+ messages: {
7
+ alert: {
8
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
9
+ },
10
+ authForm: {
11
+ hidePassword: "\u092A\u093E\u0938\u0935\u0930\u094D\u0921 \u091B\u093F\u092A\u093E\u090F\u0902",
12
+ showPassword: "\u092A\u093E\u0938\u0935\u0930\u094D\u0921 \u0926\u093F\u0916\u093E\u090F\u0902",
13
+ submit: "\u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
14
+ },
15
+ banner: {
16
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
17
+ },
18
+ calendar: {
19
+ nextMonth: "\u0905\u0917\u0932\u093E \u092E\u0939\u0940\u0928\u093E",
20
+ nextYear: "\u0905\u0917\u0932\u093E \u0938\u093E\u0932",
21
+ prevMonth: "\u092A\u093F\u091B\u0932\u093E \u092E\u0939\u0940\u0928\u093E",
22
+ prevYear: "\u092A\u093F\u091B\u0932\u093E \u0938\u093E\u0932"
23
+ },
24
+ carousel: {
25
+ dots: "\u0926\u093F\u0916\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0932\u093E\u0907\u0921 \u091A\u0941\u0928\u0947\u0902",
26
+ goto: "{slide} \u092A\u0930 \u091C\u093E\u090F\u0902",
27
+ next: "\u0905\u0917\u0932\u093E",
28
+ prev: "\u092A\u093F\u091B\u0932\u093E"
29
+ },
30
+ chatPrompt: {
31
+ placeholder: "\u0905\u092A\u0928\u093E \u0938\u0902\u0926\u0947\u0936 \u092F\u0939\u093E\u0901 \u0926\u0930\u094D\u091C \u0915\u0930\u0947\u0902..."
32
+ },
33
+ chatPromptSubmit: {
34
+ label: "\u092D\u0947\u091C\u0947\u0902"
35
+ },
36
+ colorMode: {
37
+ dark: "\u0921\u093E\u0930\u094D\u0915",
38
+ light: "\u0932\u093E\u0907\u091F",
39
+ switchToDark: "\u0921\u093E\u0930\u094D\u0915 \u092E\u094B\u0921 \u092A\u0930 \u0938\u094D\u0935\u093F\u091A \u0915\u0930\u0947\u0902",
40
+ switchToLight: "\u0932\u093E\u0907\u091F \u092E\u094B\u0921 \u092A\u0930 \u0938\u094D\u0935\u093F\u091A \u0915\u0930\u0947\u0902",
41
+ system: "\u0938\u093F\u0938\u094D\u091F\u092E"
42
+ },
43
+ commandPalette: {
44
+ back: "\u0935\u093E\u092A\u0938",
45
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
46
+ noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
47
+ noMatch: "\u0915\u094B\u0908 \u092E\u0948\u091A \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",
48
+ placeholder: "\u0915\u092E\u093E\u0902\u0921 \u0926\u0930\u094D\u091C \u0915\u0930\u0947\u0902 \u092F\u093E \u0916\u094B\u091C\u0947\u0902..."
49
+ },
50
+ contentSearch: {
51
+ links: "\u092A\u0930\u093F\u0923\u093E\u092E",
52
+ theme: "\u0925\u0940\u092E"
53
+ },
54
+ contentSearchButton: {
55
+ label: "\u0916\u094B\u091C\u0947\u0902..."
56
+ },
57
+ contentToc: {
58
+ title: "\u0907\u0938 \u092A\u0947\u091C \u092A\u0930"
59
+ },
60
+ dashboardSearch: {
61
+ theme: "\u0925\u0940\u092E"
62
+ },
63
+ dashboardSearchButton: {
64
+ label: "\u0916\u094B\u091C\u0947\u0902..."
65
+ },
66
+ dashboardSidebarCollapse: {
67
+ collapse: "\u0938\u093E\u0907\u0921\u092C\u093E\u0930 \u0938\u0902\u0915\u0941\u091A\u093F\u0924 \u0915\u0930\u0947\u0902",
68
+ expand: "\u0938\u093E\u0907\u0921\u092C\u093E\u0930 \u0935\u093F\u0938\u094D\u0924\u0943\u0924 \u0915\u0930\u0947\u0902"
69
+ },
70
+ dashboardSidebarToggle: {
71
+ close: "\u0938\u093E\u0907\u0921\u092C\u093E\u0930 \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
72
+ open: "\u0938\u093E\u0907\u0921\u092C\u093E\u0930 \u0916\u094B\u0932\u0947\u0902"
73
+ },
74
+ error: {
75
+ clear: "\u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902"
76
+ },
77
+ fileUpload: {
78
+ removeFile: "{filename} \u0939\u091F\u093E\u090F\u0902"
79
+ },
80
+ header: {
81
+ close: "\u092E\u0947\u0928\u0942 \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
82
+ open: "\u092E\u0947\u0928\u0942 \u0916\u094B\u0932\u0947\u0902"
83
+ },
84
+ inputMenu: {
85
+ create: '"{label}" \u092C\u0928\u093E\u090F\u0902',
86
+ noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
87
+ noMatch: "\u0915\u094B\u0908 \u092E\u0948\u091A \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E"
88
+ },
89
+ inputNumber: {
90
+ decrement: "\u0918\u091F\u093E\u090F\u0902",
91
+ increment: "\u092C\u0922\u093C\u093E\u090F\u0902"
92
+ },
93
+ modal: {
94
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
95
+ },
96
+ pricingTable: {
97
+ caption: "\u092E\u0942\u0932\u094D\u092F \u0928\u093F\u0930\u094D\u0927\u093E\u0930\u0923 \u092F\u094B\u091C\u0928\u093E\u0913\u0902 \u0915\u0940 \u0924\u0941\u0932\u0928\u093E"
98
+ },
99
+ prose: {
100
+ codeCollapse: {
101
+ closeText: "\u091B\u093F\u092A\u093E\u090F\u0902",
102
+ name: "\u0915\u094B\u0921",
103
+ openText: "\u0926\u093F\u0916\u093E\u090F\u0902"
104
+ },
105
+ collapsible: {
106
+ closeText: "\u091B\u093F\u092A\u093E\u090F\u0902",
107
+ name: "\u0917\u0941\u0923",
108
+ openText: "\u0926\u093F\u0916\u093E\u090F\u0902"
109
+ },
110
+ pre: {
111
+ copy: "\u0915\u0949\u092A\u0940 \u0915\u0930\u0947\u0902"
112
+ }
113
+ },
114
+ selectMenu: {
115
+ create: '"{label}" \u092C\u0928\u093E\u090F\u0902',
116
+ noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
117
+ noMatch: "\u0915\u094B\u0908 \u092E\u0948\u091A \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",
118
+ search: "\u0916\u094B\u091C\u0947\u0902..."
119
+ },
120
+ slideover: {
121
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
122
+ },
123
+ table: {
124
+ noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902"
125
+ },
126
+ toast: {
127
+ close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
128
+ },
129
+ sidebarLayout: {
130
+ open: "\u0928\u0947\u0935\u093F\u0917\u0947\u0936\u0928 \u0916\u094B\u0932\u0947\u0902",
131
+ close: "\u0928\u0947\u0935\u093F\u0917\u0947\u0936\u0928 \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
132
+ slideoverTitle: "\u0928\u0947\u0935\u093F\u0917\u0947\u0936\u0928",
133
+ slideoverDescription: "\u0938\u093E\u092E\u0917\u094D\u0930\u0940 \u0928\u0947\u0935\u093F\u0917\u0947\u0936\u0928"
134
+ }
135
+ }
136
+ });
@@ -1,46 +1,48 @@
1
1
  /**
2
- * en English
2
+ * ru Русский
3
+ * id Bahasa Indonesia
4
+ * ms Bahasa Melayu
5
+ *
3
6
  * de Deutsch
7
+ * en English
4
8
  * la Español
5
9
  *
6
- * br Português (Brasil)
7
10
  * fr Français
11
+ * in Indian (हिन्दी)
8
12
  * it Italiano
9
13
  *
10
14
  * pl Polski
11
- * ru Русский
12
- * ua Українська
15
+ * br Português (Brasil)
16
+ * vn Tiếng Việt
13
17
  *
14
18
  * tr Türkçe
15
- * sc 中文(简体)
16
- * tc 中文(繁體)
17
- *
18
- * ja 日本語
19
- * vn Tiếng Việt
20
- * id Bahasa Indonesia
19
+ * kz Қазақша
20
+ * ua Українська
21
21
  *
22
- * ms Bahasa Melayu
23
- * th ภาษาไทย
24
22
  * ar عربي,
23
+ * th ภาษาไทย
24
+ * sc 中文(简体)
25
25
  *
26
- * kz Қазақша
26
+ * tc 中文(繁體)
27
+ * ja 日本語
27
28
  */
28
- export { default as en } from './en';
29
+ export { default as ru } from './ru';
30
+ export { default as id } from './id';
31
+ export { default as ms } from './ms';
29
32
  export { default as de } from './de';
33
+ export { default as en } from './en';
30
34
  export { default as la } from './la';
31
- export { default as br } from './br';
32
35
  export { default as fr } from './fr';
36
+ export { default as in } from './in';
33
37
  export { default as it } from './it';
34
38
  export { default as pl } from './pl';
35
- export { default as ru } from './ru';
36
- export { default as ua } from './ua';
39
+ export { default as br } from './br';
40
+ export { default as vn } from './vn';
37
41
  export { default as tr } from './tr';
42
+ export { default as kz } from './kz';
43
+ export { default as ua } from './ua';
44
+ export { default as ar } from './ar';
45
+ export { default as th } from './th';
38
46
  export { default as sc } from './sc';
39
47
  export { default as tc } from './tc';
40
48
  export { default as ja } from './ja';
41
- export { default as vn } from './vn';
42
- export { default as id } from './id';
43
- export { default as ms } from './ms';
44
- export { default as th } from './th';
45
- export { default as ar } from './ar';
46
- export { default as kz } from './kz';
@@ -1,19 +1,20 @@
1
- export { default as en } from "./en.js";
1
+ export { default as ru } from "./ru.js";
2
+ export { default as id } from "./id.js";
3
+ export { default as ms } from "./ms.js";
2
4
  export { default as de } from "./de.js";
5
+ export { default as en } from "./en.js";
3
6
  export { default as la } from "./la.js";
4
- export { default as br } from "./br.js";
5
7
  export { default as fr } from "./fr.js";
8
+ export { default as in } from "./in.js";
6
9
  export { default as it } from "./it.js";
7
10
  export { default as pl } from "./pl.js";
8
- export { default as ru } from "./ru.js";
9
- export { default as ua } from "./ua.js";
11
+ export { default as br } from "./br.js";
12
+ export { default as vn } from "./vn.js";
10
13
  export { default as tr } from "./tr.js";
14
+ export { default as kz } from "./kz.js";
15
+ export { default as ua } from "./ua.js";
16
+ export { default as ar } from "./ar.js";
17
+ export { default as th } from "./th.js";
11
18
  export { default as sc } from "./sc.js";
12
19
  export { default as tc } from "./tc.js";
13
20
  export { default as ja } from "./ja.js";
14
- export { default as vn } from "./vn.js";
15
- export { default as id } from "./id.js";
16
- export { default as ms } from "./ms.js";
17
- export { default as th } from "./th.js";
18
- export { default as ar } from "./ar.js";
19
- export { default as kz } from "./kz.js";
@@ -19,6 +19,8 @@ export * from '../components/prose/H1.vue';
19
19
  export * from '../components/prose/H2.vue';
20
20
  export * from '../components/prose/H3.vue';
21
21
  export * from '../components/prose/H4.vue';
22
+ export * from '../components/prose/H5.vue';
23
+ export * from '../components/prose/H6.vue';
22
24
  export * from '../components/prose/Hr.vue';
23
25
  export * from '../components/prose/Img.vue';
24
26
  export * from '../components/prose/Kbd.vue';
@@ -19,6 +19,8 @@ export * from "../components/prose/H1.vue";
19
19
  export * from "../components/prose/H2.vue";
20
20
  export * from "../components/prose/H3.vue";
21
21
  export * from "../components/prose/H4.vue";
22
+ export * from "../components/prose/H5.vue";
23
+ export * from "../components/prose/H6.vue";
22
24
  export * from "../components/prose/Hr.vue";
23
25
  export * from "../components/prose/Img.vue";
24
26
  export * from "../components/prose/Kbd.vue";
@@ -9,7 +9,8 @@ const twMergeConfig = {
9
9
  "dark",
10
10
  "edge-light",
11
11
  "edge-dark",
12
- "inherit"
12
+ "inherit",
13
+ "base-mode"
13
14
  ],
14
15
  "b24-colors": [
15
16
  // primary ////