@bitrix24/b24ui-nuxt 0.5.2 → 0.5.3

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.CKEqlXJP.cjs');
5
+ const templates = require('./shared/b24ui-nuxt.Bh_5o1_9.cjs');
6
6
  require('node:url');
7
7
  require('scule');
8
8
 
package/dist/module.d.cts CHANGED
@@ -11,4 +11,5 @@ interface ModuleOptions {
11
11
  }
12
12
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
13
13
 
14
- export { type ModuleOptions, _default as default };
14
+ export { _default as default };
15
+ export type { ModuleOptions };
package/dist/module.d.mts CHANGED
@@ -11,4 +11,5 @@ interface ModuleOptions {
11
11
  }
12
12
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
13
13
 
14
- export { type ModuleOptions, _default as default };
14
+ export { _default as default };
15
+ export type { ModuleOptions };
package/dist/module.d.ts CHANGED
@@ -11,4 +11,5 @@ interface ModuleOptions {
11
11
  }
12
12
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
13
13
 
14
- export { type ModuleOptions, _default as default };
14
+ export { _default as default };
15
+ export type { ModuleOptions };
package/dist/module.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "nuxt": ">=3.16.0"
6
6
  },
7
7
  "docs": "https://bitrix24.github.io/b24ui/guide/installation-nuxt-app.html",
8
- "version": "0.5.2",
8
+ "version": "0.5.3",
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.DQ3Ix7rC.mjs';
3
+ import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.BIuy4yic.mjs';
4
4
  import 'node:url';
5
5
  import 'scule';
6
6
 
@@ -43,6 +43,10 @@ export interface NavigationMenuItem extends Omit<LinkProps, 'type' | 'raw' | 'cu
43
43
  slot?: string
44
44
  value?: string
45
45
  children?: NavigationMenuChildItem[]
46
+ /**
47
+ * With orientation=`horizontal` if `true` it will position the dropdown menu correctly
48
+ */
49
+ viewportRtl?: boolean
46
50
  onSelect?(e: Event): void
47
51
  }
48
52
 
@@ -272,7 +276,12 @@ const lists = computed(() => props.items?.length ? (Array.isArray(props.items[0]
272
276
  </B24LinkBase>
273
277
  </component>
274
278
 
275
- <NavigationMenuContent v-if="orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content'])" v-bind="contentProps" :class="b24ui.content({ class: props.b24ui?.content })">
279
+ <NavigationMenuContent
280
+ v-if="orientation === 'horizontal' && (item.children?.length || !!slots[item.slot ? `${item.slot}-content` : 'item-content'])"
281
+ v-bind="contentProps"
282
+ :data-viewport="item.viewportRtl ? 'rtl' : 'ltr'"
283
+ :class="b24ui.content({ class: props.b24ui?.content })"
284
+ >
276
285
  <slot :name="item.slot ? `${item.slot}-content` : 'item-content'" :item="(item as T)" :active="active" :index="index">
277
286
  <ul :class="b24ui.childList({ class: props.b24ui?.childList })">
278
287
  <li v-for="(childItem, childIndex) in item.children" :key="childIndex" :class="b24ui.childItem({ class: props.b24ui?.childItem })">
@@ -331,7 +340,13 @@ const lists = computed(() => props.items?.length ? (Array.isArray(props.items[0]
331
340
  >
332
341
  <template v-for="(list, listIndex) in lists" :key="`list-${listIndex}`">
333
342
  <NavigationMenuList :class="b24ui.list({ class: props.b24ui?.list })">
334
- <ReuseItemTemplate v-for="(item, index) in list" :key="`list-${listIndex}-${index}`" :item="item" :index="index" :class="b24ui.item({ class: props.b24ui?.item })" />
343
+ <ReuseItemTemplate
344
+ v-for="(item, index) in list"
345
+ :key="`list-${listIndex}-${index}`"
346
+ :item="item"
347
+ :index="index"
348
+ :class="b24ui.item({ class: props.b24ui?.item })"
349
+ />
335
350
  </NavigationMenuList>
336
351
 
337
352
  <div v-if="orientation === 'vertical' && listIndex < lists.length - 1" :class="b24ui.separator({ class: props.b24ui?.separator })" />
@@ -1,5 +1,4 @@
1
1
  import { defu } from "defu";
2
- // @__NO_SIDE_EFFECTS__
3
2
  export function defineLocale(options) {
4
3
  return defu(options, { dir: "ltr" });
5
4
  }
@@ -21,7 +21,6 @@ export function extractShortcuts(items) {
21
21
  traverse(items.flat());
22
22
  return shortcuts;
23
23
  }
24
- // @__NO_SIDE_EFFECTS__
25
24
  export function defineShortcuts(config, options = {}) {
26
25
  const chainedInputs = ref([]);
27
26
  const clearChainedInput = () => {
@@ -22,6 +22,6 @@ export interface UseComponentIconsProps {
22
22
  export declare function useComponentIcons(componentProps: MaybeRefOrGetter<UseComponentIconsProps>): {
23
23
  isLeading: import("vue").ComputedRef<any>;
24
24
  isTrailing: import("vue").ComputedRef<boolean>;
25
- leadingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
26
- trailingIconName: import("vue").ComputedRef<import("vue").FunctionalComponent<import("vue").HTMLAttributes & import("vue").VNodeProps, {}, any, {}> | undefined>;
25
+ leadingIconName: import("vue").ComputedRef<IconComponent | undefined>;
26
+ trailingIconName: import("vue").ComputedRef<IconComponent | undefined>;
27
27
  };
@@ -6,24 +6,24 @@ export declare function pickLinkProps(link: LinkProps & {
6
6
  replace: any;
7
7
  type: any;
8
8
  title: any;
9
+ href: any;
10
+ target: any;
11
+ as: any;
12
+ prefetch: any;
13
+ rel: any;
14
+ external: any;
15
+ exact: any;
9
16
  active: any;
17
+ disabled: any;
10
18
  activeClass: any;
11
19
  ariaCurrentValue: any;
12
20
  ariaLabel: any;
13
- as: any;
14
- disabled: any;
15
- exact: any;
16
21
  exactActiveClass: any;
17
22
  exactHash: any;
18
23
  exactQuery: any;
19
- external: any;
20
- href: any;
21
24
  inactiveClass: any;
22
25
  noPrefetch: any;
23
26
  noRel: any;
24
- prefetch: any;
25
27
  prefetchedClass: any;
26
- rel: any;
27
- target: any;
28
28
  to: any;
29
29
  };
@@ -12,7 +12,7 @@ export declare const useColorMode: () => {
12
12
  preference?: undefined;
13
13
  readonly value?: undefined;
14
14
  } | {
15
- preference: "light" | "dark" | "system";
15
+ preference: "dark" | "light" | "system";
16
16
  readonly value: import("@vueuse/core").BasicColorMode;
17
17
  forced: boolean;
18
18
  };
@@ -3566,7 +3566,6 @@ const navigationMenu = {
3566
3566
  "w-full",
3567
3567
  "bg-white dark:bg-base-dark",
3568
3568
  "shadow-[0_15px_21px_rgba(83,92,105,.15)]",
3569
- //
3570
3569
  "h-(--reka-navigation-menu-viewport-height)",
3571
3570
  "transition-[width,height] duration-200 origin-[top_center]"
3572
3571
  // left
@@ -3653,8 +3652,8 @@ const navigationMenu = {
3653
3652
  orientation: {
3654
3653
  horizontal: {
3655
3654
  root: "items-center justify-between",
3656
- list: "flex items-center",
3657
- item: "py-2",
3655
+ list: "flex items-center gap-x-1",
3656
+ item: "py-2 empty:hidden",
3658
3657
  link: "px-2.5 py-1.5 before:inset-x-px before:inset-y-0",
3659
3658
  childList: "grid p-2"
3660
3659
  },
@@ -3677,7 +3676,10 @@ const navigationMenu = {
3677
3676
  ].join(" ")
3678
3677
  },
3679
3678
  vertical: {
3680
- viewport: "sm:w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
3679
+ viewport: [
3680
+ "w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
3681
+ "[&:has(>[data-viewport=rtl])]:left-auto [&:has(>[data-viewport=rtl])]:-right-[calc(100%-var(--reka-navigation-menu-viewport-width))]"
3682
+ ].join(" "),
3681
3683
  content: "",
3682
3684
  childLinkLabel: [
3683
3685
  "text-md",
@@ -3764,6 +3766,16 @@ const navigationMenu = {
3764
3766
  },
3765
3767
  // endregion ////
3766
3768
  // region pill ////
3769
+ {
3770
+ disabled: true,
3771
+ orientation: "horizontal",
3772
+ variant: "pill",
3773
+ class: {
3774
+ link: [
3775
+ "hover:before:rounded-md"
3776
+ ].join(" ")
3777
+ }
3778
+ },
3767
3779
  {
3768
3780
  disabled: false,
3769
3781
  active: false,
@@ -3826,6 +3838,26 @@ const navigationMenu = {
3826
3838
  ].join(" ")
3827
3839
  }
3828
3840
  },
3841
+ {
3842
+ color: "default",
3843
+ orientation: "horizontal",
3844
+ variant: "pill",
3845
+ active: true,
3846
+ class: {
3847
+ link: [
3848
+ "min-h-9",
3849
+ "before:rounded-md",
3850
+ "before:bg-base-800 dark:before:bg-white/35",
3851
+ "hover:before:bg-base-800 hover:dark:before:bg-white/35",
3852
+ "data-[state=open]:before:bg-base-800 dark:data-[state=open]:before:bg-white/35"
3853
+ ].join(" "),
3854
+ linkLabelWrapper: [
3855
+ "min-h-9",
3856
+ "bg-inherit dark:bg-inherit",
3857
+ "rounded-none"
3858
+ ].join(" ")
3859
+ }
3860
+ },
3829
3861
  {
3830
3862
  color: "danger",
3831
3863
  variant: "pill",
@@ -3845,6 +3877,26 @@ const navigationMenu = {
3845
3877
  ].join(" ")
3846
3878
  }
3847
3879
  },
3880
+ {
3881
+ color: "danger",
3882
+ orientation: "horizontal",
3883
+ variant: "pill",
3884
+ active: true,
3885
+ class: {
3886
+ link: [
3887
+ "min-h-9",
3888
+ "before:rounded-md",
3889
+ "before:bg-red-800 dark:before:bg-red-800",
3890
+ "hover:before:bg-red-800 hover:dark:before:bg-red-800",
3891
+ "data-[state=open]:before:bg-red-800 dark:data-[state=open]:before:bg-red-800"
3892
+ ].join(" "),
3893
+ linkLabelWrapper: [
3894
+ "min-h-9",
3895
+ "bg-inherit dark:bg-inherit",
3896
+ "rounded-none"
3897
+ ].join(" ")
3898
+ }
3899
+ },
3848
3900
  {
3849
3901
  color: "success",
3850
3902
  variant: "pill",
@@ -3864,6 +3916,26 @@ const navigationMenu = {
3864
3916
  ].join(" ")
3865
3917
  }
3866
3918
  },
3919
+ {
3920
+ color: "success",
3921
+ orientation: "horizontal",
3922
+ variant: "pill",
3923
+ active: true,
3924
+ class: {
3925
+ link: [
3926
+ "min-h-9",
3927
+ "before:rounded-md",
3928
+ "before:bg-green-800 dark:before:bg-green-800",
3929
+ "hover:before:bg-green-800 hover:dark:before:bg-green-800",
3930
+ "data-[state=open]:before:bg-green-800 dark:data-[state=open]:before:bg-green-800"
3931
+ ].join(" "),
3932
+ linkLabelWrapper: [
3933
+ "min-h-9",
3934
+ "bg-inherit dark:bg-inherit",
3935
+ "rounded-none"
3936
+ ].join(" ")
3937
+ }
3938
+ },
3867
3939
  {
3868
3940
  color: "warning",
3869
3941
  variant: "pill",
@@ -3883,6 +3955,26 @@ const navigationMenu = {
3883
3955
  ].join(" ")
3884
3956
  }
3885
3957
  },
3958
+ {
3959
+ color: "warning",
3960
+ orientation: "horizontal",
3961
+ variant: "pill",
3962
+ active: true,
3963
+ class: {
3964
+ link: [
3965
+ "min-h-9",
3966
+ "before:rounded-md",
3967
+ "before:bg-orange-800 dark:before:bg-orange-800",
3968
+ "hover:before:bg-orange-800 hover:dark:before:bg-orange-800",
3969
+ "data-[state=open]:before:bg-orange-800 dark:data-[state=open]:before:bg-orange-800"
3970
+ ].join(" "),
3971
+ linkLabelWrapper: [
3972
+ "min-h-9",
3973
+ "bg-inherit dark:bg-inherit",
3974
+ "rounded-none"
3975
+ ].join(" ")
3976
+ }
3977
+ },
3886
3978
  {
3887
3979
  color: "primary",
3888
3980
  variant: "pill",
@@ -3902,6 +3994,26 @@ const navigationMenu = {
3902
3994
  ].join(" ")
3903
3995
  }
3904
3996
  },
3997
+ {
3998
+ color: "primary",
3999
+ orientation: "horizontal",
4000
+ variant: "pill",
4001
+ active: true,
4002
+ class: {
4003
+ link: [
4004
+ "min-h-9",
4005
+ "before:rounded-md",
4006
+ "before:bg-blue-800 dark:before:bg-blue-800",
4007
+ "hover:before:bg-blue-800 hover:dark:before:bg-blue-800",
4008
+ "data-[state=open]:before:bg-blue-800 dark:data-[state=open]:before:bg-blue-800"
4009
+ ].join(" "),
4010
+ linkLabelWrapper: [
4011
+ "min-h-9",
4012
+ "bg-inherit dark:bg-inherit",
4013
+ "rounded-none"
4014
+ ].join(" ")
4015
+ }
4016
+ },
3905
4017
  {
3906
4018
  color: "secondary",
3907
4019
  variant: "pill",
@@ -3921,6 +4033,26 @@ const navigationMenu = {
3921
4033
  ].join(" ")
3922
4034
  }
3923
4035
  },
4036
+ {
4037
+ color: "secondary",
4038
+ orientation: "horizontal",
4039
+ variant: "pill",
4040
+ active: true,
4041
+ class: {
4042
+ link: [
4043
+ "min-h-9",
4044
+ "before:rounded-md",
4045
+ "before:bg-cyan-800 dark:before:bg-cyan-800",
4046
+ "hover:before:bg-cyan-800 hover:dark:before:bg-cyan-800",
4047
+ "data-[state=open]:before:bg-cyan-800 dark:data-[state=open]:before:bg-cyan-800"
4048
+ ].join(" "),
4049
+ linkLabelWrapper: [
4050
+ "min-h-9",
4051
+ "bg-inherit dark:bg-inherit",
4052
+ "rounded-none"
4053
+ ].join(" ")
4054
+ }
4055
+ },
3924
4056
  {
3925
4057
  color: "collab",
3926
4058
  variant: "pill",
@@ -3940,6 +4072,26 @@ const navigationMenu = {
3940
4072
  ].join(" ")
3941
4073
  }
3942
4074
  },
4075
+ {
4076
+ color: "collab",
4077
+ orientation: "horizontal",
4078
+ variant: "pill",
4079
+ active: true,
4080
+ class: {
4081
+ link: [
4082
+ "min-h-9",
4083
+ "before:rounded-md",
4084
+ "before:bg-collab-800 dark:before:bg-collab-800",
4085
+ "hover:before:bg-collab-800 hover:dark:before:bg-collab-800",
4086
+ "data-[state=open]:before:bg-collab-800 dark:data-[state=open]:before:bg-collab-800"
4087
+ ].join(" "),
4088
+ linkLabelWrapper: [
4089
+ "min-h-9",
4090
+ "bg-inherit dark:bg-inherit",
4091
+ "rounded-none"
4092
+ ].join(" ")
4093
+ }
4094
+ },
3943
4095
  {
3944
4096
  color: "ai",
3945
4097
  variant: "pill",
@@ -3959,6 +4111,26 @@ const navigationMenu = {
3959
4111
  ].join(" ")
3960
4112
  }
3961
4113
  },
4114
+ {
4115
+ color: "ai",
4116
+ orientation: "horizontal",
4117
+ variant: "pill",
4118
+ active: true,
4119
+ class: {
4120
+ link: [
4121
+ "min-h-9",
4122
+ "before:rounded-md",
4123
+ "before:bg-ai-800 dark:before:bg-ai-800",
4124
+ "hover:before:bg-ai-800 hover:dark:before:bg-ai-800",
4125
+ "data-[state=open]:before:bg-ai-800 dark:data-[state=open]:before:bg-ai-800"
4126
+ ].join(" "),
4127
+ linkLabelWrapper: [
4128
+ "min-h-9",
4129
+ "bg-inherit dark:bg-inherit",
4130
+ "rounded-none"
4131
+ ].join(" ")
4132
+ }
4133
+ },
3962
4134
  {
3963
4135
  variant: "pill",
3964
4136
  active: true,
@@ -3980,6 +4152,17 @@ const navigationMenu = {
3980
4152
  ].join(" ")
3981
4153
  }
3982
4154
  },
4155
+ {
4156
+ variant: "pill",
4157
+ orientation: "horizontal",
4158
+ active: true,
4159
+ highlight: false,
4160
+ class: {
4161
+ linkLabelWrapper: [
4162
+ "bg-inherit dark:bg-inherit"
4163
+ ].join(" ")
4164
+ }
4165
+ },
3983
4166
  {
3984
4167
  variant: "pill",
3985
4168
  active: true,
@@ -3988,7 +4171,111 @@ const navigationMenu = {
3988
4171
  link: [
3989
4172
  "hover:before:bg-base-250/80 dark:hover:before:bg-white/10",
3990
4173
  "before:transition-colors"
3991
- ]
4174
+ ].join(" ")
4175
+ }
4176
+ },
4177
+ {
4178
+ color: "default",
4179
+ orientation: "horizontal",
4180
+ variant: "pill",
4181
+ active: true,
4182
+ highlight: true,
4183
+ class: {
4184
+ link: [
4185
+ "hover:before:bg-base-800 hover:dark:before:bg-white/35",
4186
+ "before:transition-colors"
4187
+ ].join(" ")
4188
+ }
4189
+ },
4190
+ {
4191
+ color: "danger",
4192
+ orientation: "horizontal",
4193
+ variant: "pill",
4194
+ active: true,
4195
+ highlight: true,
4196
+ class: {
4197
+ link: [
4198
+ "hover:before:bg-red-800 hover:dark:before:bg-red-800",
4199
+ "before:transition-colors"
4200
+ ].join(" ")
4201
+ }
4202
+ },
4203
+ {
4204
+ color: "success",
4205
+ orientation: "horizontal",
4206
+ variant: "pill",
4207
+ active: true,
4208
+ highlight: true,
4209
+ class: {
4210
+ link: [
4211
+ "hover:before:bg-green-800 hover:dark:before:bg-green-800",
4212
+ "before:transition-colors"
4213
+ ].join(" ")
4214
+ }
4215
+ },
4216
+ {
4217
+ color: "warning",
4218
+ orientation: "horizontal",
4219
+ variant: "pill",
4220
+ active: true,
4221
+ highlight: true,
4222
+ class: {
4223
+ link: [
4224
+ "hover:before:bg-orange-800 hover:dark:before:bg-orange-800",
4225
+ "before:transition-colors"
4226
+ ].join(" ")
4227
+ }
4228
+ },
4229
+ {
4230
+ color: "primary",
4231
+ orientation: "horizontal",
4232
+ variant: "pill",
4233
+ active: true,
4234
+ highlight: true,
4235
+ class: {
4236
+ link: [
4237
+ "hover:before:bg-blue-800 hover:dark:before:bg-blue-800",
4238
+ "before:transition-colors"
4239
+ ].join(" ")
4240
+ }
4241
+ },
4242
+ {
4243
+ color: "secondary",
4244
+ orientation: "horizontal",
4245
+ variant: "pill",
4246
+ active: true,
4247
+ highlight: true,
4248
+ class: {
4249
+ link: [
4250
+ "hover:before:bg-cyan-800 hover:dark:before:bg-cyan-800",
4251
+ "before:transition-colors"
4252
+ ].join(" ")
4253
+ }
4254
+ },
4255
+ {
4256
+ color: "collab",
4257
+ orientation: "horizontal",
4258
+ variant: "pill",
4259
+ active: true,
4260
+ highlight: true,
4261
+ class: {
4262
+ link: [
4263
+ "hover:before:bg-collab-800 hover:dark:before:bg-collab-800",
4264
+ "before:transition-colors"
4265
+ ].join(" ")
4266
+ }
4267
+ },
4268
+ {
4269
+ color: "ai",
4270
+ orientation: "horizontal",
4271
+ variant: "pill",
4272
+ active: true,
4273
+ highlight: true,
4274
+ class: {
4275
+ link: [
4276
+ "hover:before:bg-ai-800 hover:dark:before:bg-ai-800",
4277
+ "before:transition-colors"
4278
+ ].join(" ")
3992
4279
  }
3993
4280
  },
3994
4281
  // endregion ////
@@ -4001,11 +4288,12 @@ const navigationMenu = {
4001
4288
  "top-[calc(100%+0.4rem)]"
4002
4289
  ].join(" "),
4003
4290
  viewport: [
4004
- "rounded-b-md rounded-tr-md",
4291
+ "rounded-b-md",
4292
+ "[&:has(>[data-viewport=ltr])]:rounded-tr-md [&:has(>[data-viewport=rtl])]:rounded-tl-md",
4005
4293
  "clip-path-viewport-wrapper"
4006
4294
  ].join(" "),
4007
4295
  link: [
4008
- "before:-inset-x-px before:-inset-y-[6px] before:h-[70px]",
4296
+ "before:inset-x-[0px] before:-inset-y-[6px] before:h-[70px]",
4009
4297
  "before:rounded-t-md"
4010
4298
  ].join(" ")
4011
4299
  }