@bitrix24/b24ui-nuxt 0.2.4 → 0.2.5

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.
package/dist/module.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const defu = require('defu');
4
4
  const kit = require('@nuxt/kit');
5
- const templates = require('./shared/b24ui-nuxt.DGjopCKm.cjs');
5
+ const templates = require('./shared/b24ui-nuxt.BfbMerCZ.cjs');
6
6
  require('node:url');
7
7
  require('scule');
8
8
 
package/dist/module.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "nuxt": ">=3.13.1"
6
6
  },
7
7
  "docs": "https://bitrix24.github.io/b24ui/guide/installation-nuxt-app.html",
8
- "version": "0.2.4",
8
+ "version": "0.2.5",
9
9
  "builder": {
10
10
  "@nuxt/module-builder": "0.8.4",
11
11
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defu } from 'defu';
2
2
  import { defineNuxtModule, createResolver, addVitePlugin, addPlugin, addComponentsDir, addImportsDir, hasNuxtModule, installModule } from '@nuxt/kit';
3
- import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.V9TzyCqH.mjs';
3
+ import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.BYTVBEky.mjs';
4
4
  import 'node:url';
5
5
  import 'scule';
6
6
 
@@ -155,6 +155,7 @@ import {
155
155
  ComboboxSeparator,
156
156
  ComboboxItem,
157
157
  ComboboxItemIndicator,
158
+ FocusScope,
158
159
  useForwardPropsEmits,
159
160
  useFilter,
160
161
  Primitive
@@ -286,7 +287,7 @@ function onUpdate(value: any) {
286
287
  }
287
288
 
288
289
  function onUpdateOpen(value: boolean) {
289
- let timeoutId
290
+ let timeoutId: ReturnType<typeof setTimeout> | undefined
290
291
 
291
292
  if (!value) {
292
293
  const event = new FocusEvent('blur')
@@ -307,7 +308,9 @@ function onUpdateOpen(value: boolean) {
307
308
  const event = new FocusEvent('focus')
308
309
  emits('focus', event)
309
310
  emitFormFocus()
310
- clearTimeout(timeoutId)
311
+ if (timeoutId) {
312
+ clearTimeout(timeoutId)
313
+ }
311
314
  }
312
315
  }
313
316
  </script>
@@ -387,76 +390,77 @@ function onUpdateOpen(value: boolean) {
387
390
 
388
391
  <ComboboxPortal :disabled="!portal">
389
392
  <ComboboxContent :class="b24ui.content({ class: props.b24ui?.content })" v-bind="contentProps">
390
- <ComboboxInput v-if="!!searchInput" v-model="searchTerm" :display-value="() => searchTerm" as-child>
391
- <B24Input no-border autofocus autocomplete="off" v-bind="searchInputProps" :class="b24ui.input({ class: props.b24ui?.input })" />
392
- </ComboboxInput>
393
-
394
- <ComboboxEmpty :class="b24ui.empty({ class: props.b24ui?.empty })">
395
- <slot name="empty" :search-term="searchTerm">
396
- {{ searchTerm ? t('selectMenu.noMatch', { searchTerm }) : t('selectMenu.noData') }}
397
- </slot>
398
- </ComboboxEmpty>
399
-
400
- <ComboboxViewport :class="b24ui.viewport({ class: props.b24ui?.viewport })">
401
- <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
402
-
403
- <ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" :class="b24ui.group({ class: props.b24ui?.group })">
404
- <template v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`">
405
- <ComboboxLabel v-if="item?.type === 'label'" :class="b24ui.label({ class: props.b24ui?.label })">
406
- {{ get(item, props.labelKey as string) }}
407
- </ComboboxLabel>
408
-
409
- <ComboboxSeparator v-else-if="item?.type === 'separator'" :class="b24ui.separator({ class: props.b24ui?.separator })" />
410
-
411
- <ComboboxItem
412
- v-else
413
- :class="b24ui.item({ class: props.b24ui?.item })"
414
- :disabled="item.disabled"
415
- :value="valueKey && typeof item === 'object' ? get(item, props.valueKey as string) : item"
416
- @select="item.onSelect"
417
- >
418
- <slot name="item" :item="(item as T)" :index="index">
419
- <slot name="item-leading" :item="(item as T)" :index="index">
420
- <Component
421
- :is="item.icon"
422
- v-if="item.icon"
423
- :class="b24ui.itemLeadingIcon({ class: props.b24ui?.itemLeadingIcon })"
424
- />
425
- <B24Avatar v-else-if="item.avatar" :size="((props.b24ui?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()) as AvatarProps['size'])" v-bind="item.avatar" :class="b24ui.itemLeadingAvatar({ class: props.b24ui?.itemLeadingAvatar })" />
426
- <B24Chip
427
- v-else-if="item.chip"
428
- :size="((props.b24ui?.itemLeadingChipSize || b24ui.itemLeadingChipSize()) as ChipProps['size'])"
429
- inset
430
- standalone
431
- v-bind="item.chip"
432
- :class="b24ui.itemLeadingChip({ class: props.b24ui?.itemLeadingChip })"
433
- />
434
- </slot>
435
-
436
- <span :class="b24ui.itemLabel({ class: props.b24ui?.itemLabel })">
437
- <slot name="item-label" :item="(item as T)" :index="index">
438
- {{ typeof item === 'object' ? get(item, props.labelKey as string) : item }}
439
- </slot>
440
- </span>
441
-
442
- <span :class="b24ui.itemTrailing({ class: props.b24ui?.itemTrailing })">
443
- <slot name="item-trailing" :item="(item as T)" :index="index" />
444
-
445
- <ComboboxItemIndicator as-child>
393
+ <FocusScope trapped :class="b24ui.focusScope({ class: props.b24ui?.focusScope })">
394
+ <ComboboxInput v-if="!!searchInput" v-model="searchTerm" :display-value="() => searchTerm" as-child>
395
+ <B24Input no-border autofocus autocomplete="off" v-bind="searchInputProps" :class="b24ui.input({ class: props.b24ui?.input })" />
396
+ </ComboboxInput>
397
+
398
+ <ComboboxEmpty :class="b24ui.empty({ class: props.b24ui?.empty })">
399
+ <slot name="empty" :search-term="searchTerm">
400
+ {{ searchTerm ? t('selectMenu.noMatch', { searchTerm }) : t('selectMenu.noData') }}
401
+ </slot>
402
+ </ComboboxEmpty>
403
+
404
+ <ComboboxViewport :class="b24ui.viewport({ class: props.b24ui?.viewport })">
405
+ <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'top'" />
406
+
407
+ <ComboboxGroup v-for="(group, groupIndex) in filteredGroups" :key="`group-${groupIndex}`" :class="b24ui.group({ class: props.b24ui?.group })">
408
+ <template v-for="(item, index) in group" :key="`group-${groupIndex}-${index}`">
409
+ <ComboboxLabel v-if="item?.type === 'label'" :class="b24ui.label({ class: props.b24ui?.label })">
410
+ {{ get(item, props.labelKey as string) }}
411
+ </ComboboxLabel>
412
+
413
+ <ComboboxSeparator v-else-if="item?.type === 'separator'" :class="b24ui.separator({ class: props.b24ui?.separator })" />
414
+
415
+ <ComboboxItem
416
+ v-else
417
+ :class="b24ui.item({ class: props.b24ui?.item })"
418
+ :disabled="item.disabled"
419
+ :value="valueKey && typeof item === 'object' ? get(item, props.valueKey as string) : item"
420
+ @select="item.onSelect"
421
+ >
422
+ <slot name="item" :item="(item as T)" :index="index">
423
+ <slot name="item-leading" :item="(item as T)" :index="index">
446
424
  <Component
447
- :is="selectedIcon || icons.check"
448
- :class="b24ui.itemTrailingIcon({ class: props.b24ui?.itemTrailingIcon })"
425
+ :is="item.icon"
426
+ v-if="item.icon"
427
+ :class="b24ui.itemLeadingIcon({ class: props.b24ui?.itemLeadingIcon })"
428
+ />
429
+ <B24Avatar v-else-if="item.avatar" :size="((props.b24ui?.itemLeadingAvatarSize || b24ui.itemLeadingAvatarSize()) as AvatarProps['size'])" v-bind="item.avatar" :class="b24ui.itemLeadingAvatar({ class: props.b24ui?.itemLeadingAvatar })" />
430
+ <B24Chip
431
+ v-else-if="item.chip"
432
+ :size="((props.b24ui?.itemLeadingChipSize || b24ui.itemLeadingChipSize()) as ChipProps['size'])"
433
+ inset
434
+ standalone
435
+ v-bind="item.chip"
436
+ :class="b24ui.itemLeadingChip({ class: props.b24ui?.itemLeadingChip })"
449
437
  />
450
- </ComboboxItemIndicator>
451
- </span>
452
- </slot>
453
- </ComboboxItem>
454
- </template>
455
- </ComboboxGroup>
438
+ </slot>
456
439
 
457
- <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'bottom'" />
458
- </ComboboxViewport>
440
+ <span :class="b24ui.itemLabel({ class: props.b24ui?.itemLabel })">
441
+ <slot name="item-label" :item="(item as T)" :index="index">
442
+ {{ typeof item === 'object' ? get(item, props.labelKey as string) : item }}
443
+ </slot>
444
+ </span>
445
+
446
+ <span :class="b24ui.itemTrailing({ class: props.b24ui?.itemTrailing })">
447
+ <slot name="item-trailing" :item="(item as T)" :index="index" />
448
+
449
+ <ComboboxItemIndicator as-child>
450
+ <Component
451
+ :is="selectedIcon || icons.check"
452
+ :class="b24ui.itemTrailingIcon({ class: props.b24ui?.itemTrailingIcon })"
453
+ />
454
+ </ComboboxItemIndicator>
455
+ </span>
456
+ </slot>
457
+ </ComboboxItem>
458
+ </template>
459
+ </ComboboxGroup>
459
460
 
461
+ <ReuseCreateItemTemplate v-if="createItem && createItemPosition === 'bottom'" />
462
+ </ComboboxViewport>
463
+ </FocusScope>
460
464
  <ComboboxArrow v-if="!!arrow" v-bind="arrowProps" :class="b24ui.arrow({ class: props.b24ui?.arrow })" />
461
465
  </ComboboxContent>
462
466
  </ComboboxPortal>
@@ -3469,7 +3469,7 @@ const radioGroup = {
3469
3469
  slots: {
3470
3470
  root: "relative",
3471
3471
  fieldset: "flex",
3472
- legend: "mb-1.5 block font-medium text-base-master dark:text-base-400",
3472
+ legend: "mb-1.5 block text-base-900 dark:text-base-400",
3473
3473
  item: "flex items-start",
3474
3474
  base: [
3475
3475
  "cursor-pointer rounded-full",
@@ -3841,7 +3841,8 @@ const select = () => {
3841
3841
  const selectMenu = () => {
3842
3842
  return defu({
3843
3843
  slots: {
3844
- input: "border-b border-base-300 dark:dark:border-base-800"
3844
+ input: "border-b border-base-300 dark:dark:border-base-800",
3845
+ focusScope: "flex flex-col min-h-0"
3845
3846
  },
3846
3847
  variants: {
3847
3848
  addNew: {
@@ -4992,8 +4993,12 @@ const descriptionList = {
4992
4993
  avatar: "shrink-0",
4993
4994
  avatarSize: "",
4994
4995
  label: "",
4995
- descriptionWrapper: "text-base-950 sm:border-t sm:border-base-950/5 dark:text-white dark:sm:border-white/5 sm:[&:nth-child(2)]:border-none",
4996
- description: "text-base-900 dark:text-base-150",
4996
+ descriptionWrapper: [
4997
+ "sm:border-t sm:[&:nth-child(2)]:border-none",
4998
+ "text-base-900 sm:border-base-950/5",
4999
+ "dark:text-base-150 dark:sm:border-white/5"
5000
+ ].join(" "),
5001
+ description: "",
4997
5002
  actions: "flex flex-wrap gap-1.5 shrink-0",
4998
5003
  footer: "border-t border-base-950/5 dark:border-white/5"
4999
5004
  },
@@ -3471,7 +3471,7 @@ const radioGroup = {
3471
3471
  slots: {
3472
3472
  root: "relative",
3473
3473
  fieldset: "flex",
3474
- legend: "mb-1.5 block font-medium text-base-master dark:text-base-400",
3474
+ legend: "mb-1.5 block text-base-900 dark:text-base-400",
3475
3475
  item: "flex items-start",
3476
3476
  base: [
3477
3477
  "cursor-pointer rounded-full",
@@ -3843,7 +3843,8 @@ const select = () => {
3843
3843
  const selectMenu = () => {
3844
3844
  return defu.defu({
3845
3845
  slots: {
3846
- input: "border-b border-base-300 dark:dark:border-base-800"
3846
+ input: "border-b border-base-300 dark:dark:border-base-800",
3847
+ focusScope: "flex flex-col min-h-0"
3847
3848
  },
3848
3849
  variants: {
3849
3850
  addNew: {
@@ -4994,8 +4995,12 @@ const descriptionList = {
4994
4995
  avatar: "shrink-0",
4995
4996
  avatarSize: "",
4996
4997
  label: "",
4997
- descriptionWrapper: "text-base-950 sm:border-t sm:border-base-950/5 dark:text-white dark:sm:border-white/5 sm:[&:nth-child(2)]:border-none",
4998
- description: "text-base-900 dark:text-base-150",
4998
+ descriptionWrapper: [
4999
+ "sm:border-t sm:[&:nth-child(2)]:border-none",
5000
+ "text-base-900 sm:border-base-950/5",
5001
+ "dark:text-base-150 dark:sm:border-white/5"
5002
+ ].join(" "),
5003
+ description: "",
4999
5004
  actions: "flex flex-wrap gap-1.5 shrink-0",
5000
5005
  footer: "border-t border-base-950/5 dark:border-white/5"
5001
5006
  },
package/dist/unplugin.cjs CHANGED
@@ -5,7 +5,7 @@ const pathe = require('pathe');
5
5
  const unplugin = require('unplugin');
6
6
  const defu = require('defu');
7
7
  const tailwind = require('@tailwindcss/vite');
8
- const templates = require('./shared/b24ui-nuxt.DGjopCKm.cjs');
8
+ const templates = require('./shared/b24ui-nuxt.BfbMerCZ.cjs');
9
9
  const tinyglobby = require('tinyglobby');
10
10
  const knitwork = require('knitwork');
11
11
  const MagicString = require('magic-string');
package/dist/unplugin.mjs CHANGED
@@ -3,7 +3,7 @@ import { join, normalize } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { g as getTemplates, d as defaultOptions, a as getDefaultUiConfig } from './shared/b24ui-nuxt.V9TzyCqH.mjs';
6
+ import { g as getTemplates, d as defaultOptions, a as getDefaultUiConfig } from './shared/b24ui-nuxt.BYTVBEky.mjs';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { genSafeVariableName } from 'knitwork';
9
9
  import MagicString from 'magic-string';
package/dist/vite.cjs CHANGED
@@ -6,7 +6,7 @@ require('pathe');
6
6
  require('unplugin');
7
7
  require('defu');
8
8
  require('@tailwindcss/vite');
9
- require('./shared/b24ui-nuxt.DGjopCKm.cjs');
9
+ require('./shared/b24ui-nuxt.BfbMerCZ.cjs');
10
10
  require('scule');
11
11
  require('@nuxt/kit');
12
12
  require('tinyglobby');
package/dist/vite.mjs CHANGED
@@ -4,7 +4,7 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/b24ui-nuxt.V9TzyCqH.mjs';
7
+ import './shared/b24ui-nuxt.BYTVBEky.mjs';
8
8
  import 'scule';
9
9
  import '@nuxt/kit';
10
10
  import 'tinyglobby';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitrix24/b24ui-nuxt",
3
3
  "description": "Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE",
4
- "version": "0.2.4",
4
+ "version": "0.2.5",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/bitrix24/b24ui.git"
@@ -71,8 +71,8 @@
71
71
  "@nuxt/kit": "^3.15.4",
72
72
  "@nuxt/schema": "^3.15.4",
73
73
  "@nuxtjs/color-mode": "^3.5.2",
74
- "@tailwindcss/postcss": "^4.0.4",
75
- "@tailwindcss/vite": "^4.0.4",
74
+ "@tailwindcss/postcss": "^4.0.6",
75
+ "@tailwindcss/vite": "^4.0.6",
76
76
  "@tanstack/vue-table": "^8.20.5",
77
77
  "@unhead/vue": "^1.11.18",
78
78
  "@vueuse/core": "^12.5.0",
@@ -96,21 +96,21 @@
96
96
  "reka-ui": "1.0.0-alpha.9",
97
97
  "scule": "^1.3.0",
98
98
  "tailwind-variants": "^0.3.1",
99
- "tailwindcss": "^4.0.4",
99
+ "tailwindcss": "^4.0.6",
100
100
  "tinyglobby": "^0.2.10",
101
- "unplugin": "^2.1.2",
101
+ "unplugin": "^2.2.0",
102
102
  "unplugin-auto-import": "^19.0.0",
103
103
  "unplugin-vue-components": "^28.0.0",
104
104
  "vaul-vue": "^0.2.1"
105
105
  },
106
106
  "devDependencies": {
107
- "@nuxt/eslint-config": "^1.0.0",
107
+ "@nuxt/eslint-config": "^1.0.1",
108
108
  "@nuxt/module-builder": "^0.8.4",
109
109
  "@nuxt/test-utils": "^3.15.4",
110
110
  "@standard-schema/spec": "^1.0.0",
111
111
  "@vue/test-utils": "^2.4.6",
112
112
  "embla-carousel": "^8.5.2",
113
- "eslint": "^9.19.0",
113
+ "eslint": "^9.20.1",
114
114
  "happy-dom": "15.7.4",
115
115
  "joi": "^17.13.3",
116
116
  "knitwork": "^1.2.0",
@@ -137,7 +137,7 @@
137
137
  "typescript": "5.6.3",
138
138
  "unimport": "3.14.5",
139
139
  "vue-tsc": "^2.2.0",
140
- "unplugin": "^2.1.2",
140
+ "unplugin": "^2.2.0",
141
141
  "vite": "^6.0.7"
142
142
  },
143
143
  "keywords": [
@@ -165,6 +165,7 @@
165
165
  "dev-window": "set DEV=true && nuxi dev playground",
166
166
  "dev:build": "nuxi build playground",
167
167
  "dev:generate": "nuxt generate playground",
168
+ "dev:preview": "nuxt preview playground",
168
169
  "dev:vue": "DEV=true vite playground-vue",
169
170
  "dev:vue-window": "set DEV=true && vite playground-vue",
170
171
  "docs:full:dev": "pnpm build && vitepress dev docs",