@bitrix24/b24ui-nuxt 2.1.12 → 2.1.15

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 (33) hide show
  1. package/.nuxt/b24ui.css +2 -0
  2. package/dist/meta.d.mts +521 -41
  3. package/dist/meta.mjs +521 -41
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +1 -1
  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/components/popup.css +1 -1
  9. package/dist/runtime/air-design-tokens/tw-style/font-size.css +1 -1
  10. package/dist/runtime/components/ContextMenuContent.vue +1 -0
  11. package/dist/runtime/components/DropdownMenu.vue +2 -2
  12. package/dist/runtime/components/DropdownMenuContent.vue +3 -2
  13. package/dist/runtime/components/EditorToolbar.d.vue.ts +1 -1
  14. package/dist/runtime/components/EditorToolbar.vue +5 -3
  15. package/dist/runtime/components/EditorToolbar.vue.d.ts +1 -1
  16. package/dist/runtime/components/PageCard.vue +2 -1
  17. package/dist/runtime/components/User.vue +0 -1
  18. package/dist/runtime/components/locale/LocaleSelect.vue +5 -3
  19. package/dist/runtime/components/prose/Callout.vue +0 -1
  20. package/dist/runtime/components/prose/Card.vue +0 -1
  21. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  22. package/dist/runtime/composables/defineShortcuts.js +2 -2
  23. package/dist/runtime/locale/in.d.ts +3 -0
  24. package/dist/runtime/locale/in.js +136 -0
  25. package/dist/runtime/locale/index.d.ts +25 -23
  26. package/dist/runtime/locale/index.js +11 -10
  27. package/dist/runtime/types/prose.d.ts +2 -0
  28. package/dist/runtime/types/prose.js +2 -0
  29. package/dist/runtime/utils/tv.js +2 -1
  30. package/dist/shared/{b24ui-nuxt.C8MyFqPm.mjs → b24ui-nuxt.BYDi-4ID.mjs} +161 -152
  31. package/dist/unplugin.mjs +1 -1
  32. package/dist/vite.mjs +1 -1
  33. package/package.json +7 -6
@@ -1,14 +1,14 @@
1
1
  import 'node:url';
2
2
  import { pascalCase, kebabCase, camelCase } from 'scule';
3
3
  import { genExport } from 'knitwork';
4
- import { hasNuxtModule, addTypeTemplate, addTemplate, updateTemplates, logger } from '@nuxt/kit';
4
+ import { hasNuxtModule, addTypeTemplate, addTemplate, updateTemplates, getLayerDirectories, logger } from '@nuxt/kit';
5
5
  import { readFile } from 'node:fs/promises';
6
6
  import { join } from 'pathe';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { defuFn } from 'defu';
9
9
 
10
10
  const name = "@bitrix24/b24ui-nuxt";
11
- const version = "2.1.12";
11
+ const version = "2.1.15";
12
12
 
13
13
  function getDefaultConfig(theme) {
14
14
  return {
@@ -2512,10 +2512,10 @@ const container = {
2512
2512
  const contextMenu = {
2513
2513
  slots: {
2514
2514
  content: [
2515
- "light",
2516
- "bg-(--popup-window-background-color)",
2515
+ "base-mode",
2516
+ "bg-(--ui-color-bg-content-primary)",
2517
2517
  "shadow-(--popup-window-box-shadow)",
2518
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
2518
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
2519
2519
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
2520
2520
  "origin-(--reka-context-menu-content-transform-origin)",
2521
2521
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -2526,7 +2526,7 @@ const contextMenu = {
2526
2526
  ].join(" "),
2527
2527
  viewport: [
2528
2528
  "relative",
2529
- "w-full max-h-[40vh] min-w-[120px]",
2529
+ "w-full max-h-[40vh] min-w-[192px]",
2530
2530
  "scroll-py-1",
2531
2531
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
2532
2532
  // scrollbar-transparent
@@ -2538,12 +2538,12 @@ const contextMenu = {
2538
2538
  "flex flex-row rtl:flex-row-reverse items-center",
2539
2539
  "select-none outline-none whitespace-nowrap",
2540
2540
  "text-start",
2541
- "text-(length:--popup-window-delimiter-font-size)",
2542
- "text-(--popup-window-delimiter-text-color)",
2543
- "font-(--popup-window-delimiter-font-weight)",
2544
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
2541
+ "text-(length:--ui-size-sm)",
2542
+ "text-(--b24ui-typography-legend-color)",
2543
+ "font-(--ui-font-weight-normal)",
2544
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
2545
2545
  ].join(" "),
2546
- separator: "my-[8px] mx-[18px] h-[1px] bg-(--popup-window-delimiter-bg-color)",
2546
+ separator: "my-[8px] mx-[18px] h-[1px] bg-(--ui-color-divider-vibrant-default)",
2547
2547
  item: [
2548
2548
  "group",
2549
2549
  "w-full h-[36px]",
@@ -2554,13 +2554,13 @@ const contextMenu = {
2554
2554
  "cursor-pointer",
2555
2555
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
2556
2556
  "text-start",
2557
- "text-(length:--menu-popup-item-font-size)",
2558
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
2559
- "data-highlighted:text-(--menu-popup-item-color-hover)",
2560
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
2561
- "hover:bg-(--menu-popup-item-bg-color-hover)",
2562
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
2563
- "data-[state=open]:bg-(--menu-popup-item-bg-color-hover)",
2557
+ "text-(length:--ui-font-size-md)",
2558
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
2559
+ "data-highlighted:text-(--b24ui-typography-label-color)",
2560
+ "data-[state=open]:text-(--b24ui-typography-label-color)",
2561
+ "hover:bg-(--ui-color-divider-optical-1-alt)",
2562
+ "data-highlighted:bg-(--ui-color-divider-optical-1-alt)",
2563
+ "data-[state=open]:bg-(--ui-color-divider-optical-1-alt)",
2564
2564
  "transition-colors"
2565
2565
  ].join(" "),
2566
2566
  itemLeadingIcon: [
@@ -2854,10 +2854,10 @@ const descriptionList = {
2854
2854
  const dropdownMenu = {
2855
2855
  slots: {
2856
2856
  content: [
2857
- "light",
2858
- "bg-(--popup-window-background-color)",
2857
+ "base-mode",
2858
+ "bg-(--ui-color-bg-content-primary)",
2859
2859
  "shadow-(--popup-window-box-shadow)",
2860
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
2860
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
2861
2861
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
2862
2862
  "origin-(--reka-dropdown-menu-content-transform-origin)",
2863
2863
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -2868,12 +2868,11 @@ const dropdownMenu = {
2868
2868
  ].join(" "),
2869
2869
  viewport: [
2870
2870
  "relative",
2871
- "w-full max-h-[40vh] min-w-[120px]",
2872
- //
2871
+ "w-full max-h-[40vh] min-w-[192px]",
2873
2872
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
2874
2873
  // scrollbar-transparent
2875
2874
  ].join(" "),
2876
- arrow: "fill-(--popup-window-background-color)",
2875
+ arrow: "fill-(--ui-color-bg-content-primary)",
2877
2876
  // for content bottom|top::start -> ml-[12px]
2878
2877
  group: "grid",
2879
2878
  // p-1 isolate
@@ -2884,12 +2883,12 @@ const dropdownMenu = {
2884
2883
  "flex flex-row rtl:flex-row-reverse items-center",
2885
2884
  "select-none outline-none whitespace-nowrap",
2886
2885
  "text-start",
2887
- "text-(length:--popup-window-delimiter-font-size)",
2888
- "text-(--popup-window-delimiter-text-color)",
2889
- "font-(--popup-window-delimiter-font-weight)",
2890
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
2886
+ "text-(length:--ui-size-sm)",
2887
+ "text-(--b24ui-typography-legend-color)",
2888
+ "font-(--ui-font-weight-normal)",
2889
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
2891
2890
  ].join(" "),
2892
- separator: "my-[8px] mx-[18px] h-[1px] bg-(--popup-window-delimiter-bg-color)",
2891
+ separator: "my-[8px] mx-[18px] h-[1px] bg-(--ui-color-divider-vibrant-default)",
2893
2892
  item: [
2894
2893
  "group",
2895
2894
  "w-full h-[36px]",
@@ -2901,13 +2900,13 @@ const dropdownMenu = {
2901
2900
  "cursor-pointer",
2902
2901
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
2903
2902
  "text-start",
2904
- "text-(length:--menu-popup-item-font-size)",
2905
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
2906
- "data-highlighted:text-(--menu-popup-item-color-hover)",
2907
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
2908
- "hover:bg-(--menu-popup-item-bg-color-hover)",
2909
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
2910
- "data-[state=open]:bg-(--menu-popup-item-bg-color-hover)",
2903
+ "text-(length:--ui-font-size-md)",
2904
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
2905
+ "data-highlighted:text-(--b24ui-typography-label-color)",
2906
+ "data-[state=open]:text-(--b24ui-typography-label-color)",
2907
+ "hover:bg-(--ui-color-divider-optical-1-alt)",
2908
+ "data-highlighted:bg-(--ui-color-divider-optical-1-alt)",
2909
+ "data-[state=open]:bg-(--ui-color-divider-optical-1-alt)",
2911
2910
  "transition-colors"
2912
2911
  ].join(" "),
2913
2912
  itemLeadingIcon: [
@@ -3037,12 +3036,13 @@ const dropdownMenu = {
3037
3036
 
3038
3037
  const editor = {
3039
3038
  slots: {
3040
- root: "light",
3039
+ root: "",
3041
3040
  content: "relative size-full flex-1",
3042
3041
  base: [
3042
+ "text-(--b24ui-typography-label-color)",
3043
3043
  "w-full outline-none *:my-5 *:first:mt-0 *:last:mb-0 sm:px-8 selection:bg-(--ui-color-design-selection-bg)",
3044
3044
  // Placeholder
3045
- "[&_:is(p,h1,h2,h3,h4).is-empty]:before:content-[attr(data-placeholder)] [&_:is(p,h1,h2,h3,h4).is-empty]:before:text-(--b24ui-typography-label-color) [&_:is(p,h1,h2,h3,h4).is-empty]:before:float-left [&_:is(p,h1,h2,h3,h4).is-empty]:before:h-0 [&_:is(p,h1,h2,h3,h4).is-empty]:before:pointer-events-none",
3045
+ "[&_:is(p,h1,h2,h3,h4).is-empty]:before:content-[attr(data-placeholder)] [&_:is(p,h1,h2,h3,h4).is-empty]:before:text-(--b24ui-typography-description-color) [&_:is(p,h1,h2,h3,h4).is-empty]:before:float-left [&_:is(p,h1,h2,h3,h4).is-empty]:before:h-0 [&_:is(p,h1,h2,h3,h4).is-empty]:before:pointer-events-none",
3046
3046
  "[&_li_.is-empty]:before:content-none",
3047
3047
  // Paragraph
3048
3048
  "[&_p]:leading-7",
@@ -3094,10 +3094,10 @@ const editorDragHandle = {
3094
3094
  const editorSuggestionMenu = {
3095
3095
  slots: {
3096
3096
  content: [
3097
- "light",
3098
- "bg-(--popup-window-background-color)",
3097
+ "base-mode",
3098
+ "bg-(--ui-color-bg-content-primary)",
3099
3099
  "shadow-(--popup-window-box-shadow)",
3100
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
3100
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
3101
3101
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
3102
3102
  "origin-(--reka-dropdown-menu-content-transform-origin)",
3103
3103
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -3108,7 +3108,7 @@ const editorSuggestionMenu = {
3108
3108
  ].join(" "),
3109
3109
  viewport: [
3110
3110
  "relative",
3111
- "w-full max-h-[40vh] min-w-[120px] max-w-[192px]",
3111
+ "w-full max-h-[40vh] min-w-[192px] max-w-[240px]",
3112
3112
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
3113
3113
  // scrollbar-transparent
3114
3114
  ].join(" "),
@@ -3116,15 +3116,14 @@ const editorSuggestionMenu = {
3116
3116
  // p-1 isolate
3117
3117
  label: [
3118
3118
  "w-full h-(--popup-window-delimiter-section-height)",
3119
- // min-w-[195px]
3120
3119
  "px-[18px] mt-(--menu-item-block-stack-space)",
3121
3120
  "flex flex-row rtl:flex-row-reverse items-center",
3122
3121
  "select-none outline-none whitespace-nowrap",
3123
3122
  "text-start",
3124
- "text-(length:--popup-window-delimiter-font-size)",
3125
- "text-(--popup-window-delimiter-text-color)",
3126
- "font-(--popup-window-delimiter-font-weight)",
3127
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
3123
+ "text-(length:--ui-size-sm)",
3124
+ "text-(--b24ui-typography-legend-color)",
3125
+ "font-(--ui-font-weight-normal)",
3126
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
3128
3127
  ].join(" "),
3129
3128
  item: [
3130
3129
  "group",
@@ -3137,13 +3136,13 @@ const editorSuggestionMenu = {
3137
3136
  "cursor-pointer",
3138
3137
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
3139
3138
  "text-start",
3140
- "text-(length:--menu-popup-item-font-size)",
3141
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
3142
- "data-highlighted:text-(--menu-popup-item-color-hover)",
3143
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
3144
- "hover:bg-(--menu-popup-item-bg-color-hover)",
3145
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
3146
- "data-[state=open]:bg-(--menu-popup-item-bg-color-hover)",
3139
+ "text-(length:--ui-font-size-md)",
3140
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
3141
+ "data-highlighted:text-(--b24ui-typography-label-color)",
3142
+ "data-[state=open]:text-(--b24ui-typography-label-color)",
3143
+ "hover:bg-(--ui-color-divider-optical-1-alt)",
3144
+ "data-highlighted:bg-(--ui-color-divider-optical-1-alt)",
3145
+ "data-[state=open]:bg-(--ui-color-divider-optical-1-alt)",
3147
3146
  "transition-colors"
3148
3147
  ].join(" "),
3149
3148
  itemLeadingIcon: [
@@ -3199,10 +3198,10 @@ const editorToolbar = {
3199
3198
  variants: {
3200
3199
  layout: {
3201
3200
  bubble: {
3202
- base: "bg-(--popup-window-background-color) border border-(--ui-color-divider-default) rounded-md p-1"
3201
+ base: "backdrop-blur-3xl bg-(--ui-color-bg-content-primary) border border-(--ui-color-divider-default) rounded-md p-1"
3203
3202
  },
3204
3203
  floating: {
3205
- base: "bg-(--popup-window-background-color) border border-(--ui-color-divider-default) rounded-md p-1"
3204
+ base: "backdrop-blur-3xl bg-(--ui-color-bg-content-primary) border border-(--ui-color-divider-default) rounded-md p-1"
3206
3205
  },
3207
3206
  fixed: {
3208
3207
  base: ""
@@ -4072,11 +4071,11 @@ const inputMenu = () => {
4072
4071
  "disabled:opacity-30"
4073
4072
  ].join(" "),
4074
4073
  content: [
4075
- "light",
4074
+ "base-mode",
4076
4075
  // w-(--reka-combobox-trigger-width)
4077
- "bg-(--popup-window-background-color)",
4076
+ "bg-(--ui-color-bg-content-primary)",
4078
4077
  "shadow-(--popup-window-box-shadow)",
4079
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
4078
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
4080
4079
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
4081
4080
  "origin-(--reka-dropdown-menu-content-transform-origin)",
4082
4081
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -4092,7 +4091,7 @@ const inputMenu = () => {
4092
4091
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
4093
4092
  // scrollbar-transparent
4094
4093
  ].join(" "),
4095
- arrow: "fill-(--popup-window-background-color)",
4094
+ arrow: "fill-(--ui-color-bg-content-primary)",
4096
4095
  // for content bottom|top::start -> ml-[12px]
4097
4096
  group: "grid",
4098
4097
  empty: [
@@ -4101,9 +4100,9 @@ const inputMenu = () => {
4101
4100
  "py-[8px]",
4102
4101
  "select-none outline-none whitespace-nowrap",
4103
4102
  "text-center",
4104
- "text-(length:--popup-window-delimiter-font-size)/(--ui-font-line-height-lg)",
4105
- "text-(--popup-window-delimiter-text-color)",
4106
- "font-(--popup-window-delimiter-font-weight)"
4103
+ "text-(length:--ui-size-sm)/(--ui-font-line-height-lg)",
4104
+ "text-(--b24ui-typography-legend-color)",
4105
+ "font-(--ui-font-weight-normal)"
4107
4106
  ].join(" "),
4108
4107
  label: [
4109
4108
  "w-full min-w-[195px] h-(--popup-window-delimiter-section-height)",
@@ -4111,12 +4110,12 @@ const inputMenu = () => {
4111
4110
  "flex flex-row rtl:flex-row-reverse items-center",
4112
4111
  "select-none outline-none whitespace-nowrap",
4113
4112
  "text-start",
4114
- "text-(length:--popup-window-delimiter-font-size)",
4115
- "text-(--popup-window-delimiter-text-color)",
4116
- "font-(--popup-window-delimiter-font-weight)",
4117
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
4113
+ "text-(length:--ui-size-sm)",
4114
+ "text-(--b24ui-typography-legend-color)",
4115
+ "font-(--ui-font-weight-normal)",
4116
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
4118
4117
  ].join(" "),
4119
- separator: "my-[8px] mx-[18px] h-[1px] bg-(--popup-window-delimiter-bg-color)",
4118
+ separator: "my-[8px] mx-[18px] h-[1px] bg-(--ui-color-divider-vibrant-default)",
4120
4119
  item: [
4121
4120
  "group",
4122
4121
  "w-full min-w-[195px] h-[36px]",
@@ -4128,14 +4127,14 @@ const inputMenu = () => {
4128
4127
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
4129
4128
  "data-disabled:select-none",
4130
4129
  "text-start",
4131
- "text-(length:--menu-popup-item-font-size)",
4132
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
4133
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
4134
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
4135
- "data-[state=checked]:text-(--menu-popup-item-color-hover)",
4136
- "hover:bg-(--menu-popup-item-bg-color-hover)",
4137
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
4138
- "data-[state=open]:bg-(--menu-popup-item-bg-color-hover)",
4130
+ "text-(length:--ui-font-size-md)",
4131
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
4132
+ "data-highlighted:not-data-disabled:text-(--b24ui-typography-label-color)",
4133
+ "data-[state=open]:text-(--b24ui-typography-label-color)",
4134
+ "data-[state=checked]:text-(--b24ui-typography-label-color)",
4135
+ "hover:bg-(--ui-color-divider-optical-1-alt)",
4136
+ "data-highlighted:bg-(--ui-color-divider-optical-1-alt)",
4137
+ "data-[state=open]:bg-(--ui-color-divider-optical-1-alt)",
4139
4138
  "transition-colors"
4140
4139
  ].join(" "),
4141
4140
  itemLeadingIcon: [
@@ -4200,9 +4199,9 @@ const inputMenu = () => {
4200
4199
  group: "",
4201
4200
  // p-0 isolate -m-px
4202
4201
  item: [
4203
- "text-(--menu-popup-item-color)",
4204
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
4205
- "data-[state=checked]:text-(--menu-popup-item-color-hover)"
4202
+ "text-(--b24ui-typography-legend-color)",
4203
+ "data-highlighted:not-data-disabled:text-(--b24ui-typography-label-color)",
4204
+ "data-[state=checked]:text-(--b24ui-typography-label-color)"
4206
4205
  ].join(" "),
4207
4206
  itemLabel: "flex flex-row flex-nowrap items-center justify-start gap-2",
4208
4207
  itemLeadingIcon: [
@@ -5179,8 +5178,8 @@ const modal = {
5179
5178
  slots: {
5180
5179
  overlay: "fixed inset-0",
5181
5180
  content: [
5182
- "light",
5183
- "bg-(--popup-window-background-color)",
5181
+ "base-mode",
5182
+ "bg-(--ui-color-bg-content-primary)",
5184
5183
  "flex flex-col gap-[20px]",
5185
5184
  "focus:outline-none",
5186
5185
  "p-[24px] pt-[20px]"
@@ -5229,7 +5228,7 @@ const modal = {
5229
5228
  // // 'top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',
5230
5229
  "w-[calc(100vw-2rem)] max-w-[32rem]",
5231
5230
  // // 'max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)]',
5232
- "rounded-[calc(var(--popup-window-border-radius)-2px)] shadow-lg"
5231
+ "rounded-[calc(var(--ui-border-radius-xl)-2px)] shadow-lg"
5233
5232
  // @memo see components/popup.css
5234
5233
  // 'ring ring-(--popup-window-border)'
5235
5234
  ].join(" "),
@@ -5361,15 +5360,14 @@ const navigationMenu = {
5361
5360
  popoverWrapper: "px-0 py-(--menu-popup-padding)",
5362
5361
  viewportWrapper: "absolute top-[53px] left-0 flex w-full",
5363
5362
  viewport: [
5364
- "light",
5365
5363
  "relative overflow-hidden",
5366
5364
  "w-full",
5367
- "bg-(--popup-window-background-color)",
5368
- // 'bg-(--ui-color-base-white-fixed)/94',
5365
+ "base-mode",
5366
+ "bg-(--ui-color-bg-content-primary)",
5369
5367
  "shadow-(--popup-window-box-shadow)",
5370
5368
  "h-(--reka-navigation-menu-viewport-height)",
5371
5369
  "w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
5372
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
5370
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
5373
5371
  "[&:has(>[data-viewport=rtl])]:left-auto [&:has(>[data-viewport=rtl])]:-right-[calc(100%-var(--reka-navigation-menu-viewport-width))]",
5374
5372
  "transition-[width,height] duration-200 origin-[top_center]",
5375
5373
  // left
@@ -5401,9 +5399,9 @@ const navigationMenu = {
5401
5399
  "min-w-[195px]",
5402
5400
  "whitespace-nowrap",
5403
5401
  "font-[family-name:var(--ui-font-family-primary)]",
5404
- "text-(length:--menu-popup-item-font-size)",
5405
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
5406
- "hover:bg-(--menu-popup-item-bg-color-hover)"
5402
+ "text-(length:--ui-font-size-md)",
5403
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
5404
+ "hover:bg-(--ui-color-divider-optical-1-alt)"
5407
5405
  ].join(" "),
5408
5406
  childLinkLabel: "",
5409
5407
  content: "absolute top-0 left-0 w-full max-h-[70vh] overflow-y-auto scrollbar-thin scrollbar-transparent"
@@ -5435,9 +5433,9 @@ const navigationMenu = {
5435
5433
  "min-w-[195px]",
5436
5434
  "whitespace-nowrap",
5437
5435
  "font-[family-name:var(--ui-font-family-primary)]",
5438
- "text-(length:--menu-popup-item-font-size)",
5439
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
5440
- "hover:bg-(--menu-popup-item-bg-color-hover)"
5436
+ "text-(length:--ui-font-size-md)",
5437
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
5438
+ "hover:bg-(--ui-color-divider-optical-1-alt)"
5441
5439
  ].join(" "),
5442
5440
  // @memo 10 + 15 = 25 != 18
5443
5441
  childLabel: [
@@ -5446,10 +5444,10 @@ const navigationMenu = {
5446
5444
  "flex flex-row rtl:flex-row-reverse items-center",
5447
5445
  "select-none outline-none whitespace-nowrap",
5448
5446
  "text-start",
5449
- "text-(length:--popup-window-delimiter-font-size)",
5450
- "text-(--popup-window-delimiter-text-color)",
5451
- "font-(--popup-window-delimiter-font-weight)",
5452
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
5447
+ "text-(length:--ui-size-sm)",
5448
+ "text-(--b24ui-typography-legend-color)",
5449
+ "font-(--ui-font-weight-normal)",
5450
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
5453
5451
  ].join(" ")
5454
5452
  }
5455
5453
  },
@@ -5575,7 +5573,7 @@ const pageCard = {
5575
5573
  vertical: { container: "" }
5576
5574
  },
5577
5575
  reverse: {
5578
- true: { wrapper: "lg:order-last" }
5576
+ true: { wrapper: "order-last" }
5579
5577
  },
5580
5578
  variant: {
5581
5579
  "filled": {
@@ -5851,7 +5849,7 @@ const pageCard = {
5851
5849
  },
5852
5850
  to: {
5853
5851
  true: {
5854
- root: "transition"
5852
+ root: "has-focus-visible:ring-2 has-focus-visible:ring-(--ui-color-design-filled-stroke) transition"
5855
5853
  }
5856
5854
  },
5857
5855
  title: {
@@ -6087,15 +6085,9 @@ const pageCard = {
6087
6085
  highlightColor: "air-primary-warning",
6088
6086
  highlight: true,
6089
6087
  class: { root: "ring-(--ui-color-design-filled-warning-stroke)" }
6090
- },
6088
+ }
6091
6089
  // endregion ////
6092
6090
  // region to ////
6093
- {
6094
- to: true,
6095
- class: {
6096
- root: "has-focus-visible:ring-2 has-focus-visible:ring-(--ui-color-design-filled-stroke)"
6097
- }
6098
- }
6099
6091
  // endregion ////
6100
6092
  ],
6101
6093
  defaultVariants: {
@@ -6334,15 +6326,15 @@ const pinInput = () => ({
6334
6326
  const popover = {
6335
6327
  slots: {
6336
6328
  content: [
6337
- "light",
6338
- "bg-(--popup-window-background-color)",
6329
+ "base-mode",
6330
+ "bg-(--ui-color-bg-content-primary)",
6339
6331
  "shadow-(--popup-window-box-shadow)",
6340
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
6332
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
6341
6333
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
6342
6334
  "origin-(--reka-popover-content-transform-origin)",
6343
6335
  "focus:outline-none pointer-events-auto"
6344
6336
  ].join(" "),
6345
- arrow: "fill-(--popup-window-background-color)"
6337
+ arrow: "fill-(--ui-color-bg-content-primary)"
6346
6338
  }
6347
6339
  };
6348
6340
 
@@ -7006,11 +6998,11 @@ const select = () => {
7006
6998
  value: "truncate pointer-events-none",
7007
6999
  placeholder: "truncate text-(--ui-color-design-plain-na-content-secondary)",
7008
7000
  content: [
7009
- "light",
7010
7001
  // w-(--reka-combobox-trigger-width)
7011
- "bg-(--popup-window-background-color)",
7002
+ "base-mode",
7003
+ "bg-(--ui-color-bg-content-primary)",
7012
7004
  "shadow-(--popup-window-box-shadow)",
7013
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
7005
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
7014
7006
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
7015
7007
  "origin-(--reka-dropdown-menu-content-transform-origin)",
7016
7008
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -7026,7 +7018,7 @@ const select = () => {
7026
7018
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
7027
7019
  // scrollbar-transparent
7028
7020
  ].join(" "),
7029
- arrow: "fill-(--popup-window-background-color)",
7021
+ arrow: "fill-(--ui-color-bg-content-primary)",
7030
7022
  // for content bottom|top::start -> ml-[12px]
7031
7023
  group: "grid",
7032
7024
  empty: [
@@ -7036,8 +7028,8 @@ const select = () => {
7036
7028
  "select-none outline-none whitespace-nowrap",
7037
7029
  "text-center",
7038
7030
  "text-(length:--popup-window-delimiter-font-size)/(--ui-font-line-height-lg)",
7039
- "text-(--popup-window-delimiter-text-color)",
7040
- "font-(--popup-window-delimiter-font-weight)"
7031
+ "text-(--b24ui-typography-legend-color)",
7032
+ "font-(--ui-font-weight-normal)"
7041
7033
  ].join(" "),
7042
7034
  label: [
7043
7035
  "w-full min-w-[195px] h-(--popup-window-delimiter-section-height)",
@@ -7045,12 +7037,12 @@ const select = () => {
7045
7037
  "flex flex-row rtl:flex-row-reverse items-center",
7046
7038
  "select-none outline-none whitespace-nowrap",
7047
7039
  "text-start",
7048
- "text-(length:--popup-window-delimiter-font-size)",
7049
- "text-(--popup-window-delimiter-text-color)",
7050
- "font-(--popup-window-delimiter-font-weight)",
7051
- "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--popup-window-delimiter-bg-color)"
7040
+ "text-(length:--ui-size-sm)",
7041
+ "text-(--b24ui-typography-legend-color)",
7042
+ "font-(--ui-font-weight-normal)",
7043
+ "after:ms-[10px] after:block after:flex-1 after:min-w-[15px] after:h-px after:bg-(--ui-color-divider-vibrant-default)"
7052
7044
  ].join(" "),
7053
- separator: "my-[8px] mx-[18px] h-[1px] bg-(--popup-window-delimiter-bg-color)",
7045
+ separator: "my-[8px] mx-[18px] h-[1px] bg-(--ui-color-divider-vibrant-default)",
7054
7046
  item: [
7055
7047
  "group",
7056
7048
  "w-full min-w-[195px] h-[36px]",
@@ -7061,14 +7053,14 @@ const select = () => {
7061
7053
  "cursor-pointer",
7062
7054
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
7063
7055
  "text-start",
7064
- "text-(length:--menu-popup-item-font-size)",
7065
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
7066
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
7067
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
7068
- "data-[state=checked]:text-(--menu-popup-item-color-hover)",
7069
- "hover:bg-(--menu-popup-item-bg-color-hover)",
7070
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
7071
- "data-[state=open]:bg-(--menu-popup-item-bg-color-hover)",
7056
+ "text-(length:--ui-font-size-md)",
7057
+ "text-(--b24ui-typography-legend-color) hover:text-(--b24ui-typography-label-color)",
7058
+ "data-highlighted:not-data-disabled:text-(--b24ui-typography-label-color)",
7059
+ "data-[state=open]:text-(--b24ui-typography-label-color)",
7060
+ "data-[state=checked]:text-(--b24ui-typography-label-color)",
7061
+ "hover:bg-(--ui-color-divider-optical-1-alt)",
7062
+ "data-highlighted:bg-(--ui-color-divider-optical-1-alt)",
7063
+ "data-[state=open]:bg-(--ui-color-divider-optical-1-alt)",
7072
7064
  "transition-colors"
7073
7065
  ].join(" "),
7074
7066
  itemLeadingIcon: [
@@ -7242,7 +7234,7 @@ function replaceFocus$1(str) {
7242
7234
  const selectMenu = () => {
7243
7235
  return defuFn({
7244
7236
  slots: {
7245
- input: "border-b border-(--popup-window-delimiter-bg-color)",
7237
+ input: "border-b border-(--ui-color-divider-vibrant-default)",
7246
7238
  focusScope: "flex flex-col min-h-0",
7247
7239
  viewport: [
7248
7240
  "relative",
@@ -7272,9 +7264,9 @@ const selectMenu = () => {
7272
7264
  group: "",
7273
7265
  // p-0 isolate -m-px
7274
7266
  item: [
7275
- "text-(--menu-popup-item-color)",
7276
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
7277
- "data-[state=checked]:text-(--menu-popup-item-color-hover)"
7267
+ "text-(--b24ui-typography-legend-color)",
7268
+ "data-highlighted:not-data-disabled:text-(--b24ui-typography-label-color)",
7269
+ "data-[state=checked]:text-(--b24ui-typography-label-color)"
7278
7270
  ].join(" "),
7279
7271
  itemLabel: "flex flex-row flex-nowrap items-center justify-start gap-2",
7280
7272
  itemLeadingIcon: [
@@ -7462,8 +7454,7 @@ const slideover = {
7462
7454
  ].join(" "),
7463
7455
  footer: [
7464
7456
  "absolute inset-x-0 bottom-0",
7465
- "light",
7466
- "bg-(--popup-window-background-color)",
7457
+ "bg-(--ui-color-bg-content-primary)",
7467
7458
  // --ui-color-bg-content-primary
7468
7459
  "flex items-center justify-center gap-3",
7469
7460
  "border-t border-t-1 border-t-(--ui-color-divider-less)",
@@ -8817,7 +8808,7 @@ const tooltip = {
8817
8808
  "text-(length:--ui-font-size-sm)/(--ui-font-line-height-reset) font-[family-name:var(--ui-font-family-primary)]",
8818
8809
  "bg-(--ui-color-bg-content-primary)/80",
8819
8810
  "text-(--ui-color-design-plain-na-focused-content)",
8820
- "rounded-[calc(var(--popup-window-border-radius)-2px)]",
8811
+ "rounded-[calc(var(--ui-border-radius-xl)-2px)]",
8821
8812
  // @memo see components/popup.css
8822
8813
  // 'border border-(--popup-window-border)'
8823
8814
  "origin-(--reka-tooltip-content-transform-origin)",
@@ -9252,13 +9243,15 @@ const user = {
9252
9243
  true: {
9253
9244
  name: [
9254
9245
  "text-(--b24ui-typography-label-color) peer-hover:text-(--ui-color-design-selection-content)",
9246
+ "peer-focus-visible:text-(--ui-color-design-selection-content)",
9255
9247
  "transition-colors"
9256
9248
  ].join(" "),
9257
9249
  description: [
9258
9250
  "peer-hover:text-(--ui-color-design-selection-content)",
9251
+ "peer-focus-visible:text-(--ui-color-design-selection-content)",
9259
9252
  "transition-colors"
9260
9253
  ].join(" "),
9261
- avatar: "transform transition-transform duration-200 group-hover/user:scale-115"
9254
+ avatar: "transform transition-transform duration-200 group-hover/user:scale-115 group-has-focus-visible/user:scale-115"
9262
9255
  },
9263
9256
  false: {
9264
9257
  name: "text-(--b24ui-typography-label-color)",
@@ -9655,11 +9648,13 @@ const a = {
9655
9648
  "hover:underline underline-offset-2",
9656
9649
  "hover:text-(--ui-color-accent-main-primary-alt) dark:hover:text-(--ui-color-blue-50)",
9657
9650
  "focus-visible:outline-info-text",
9651
+ "focus-visible:has-[>code]:outline-0",
9658
9652
  "transition-colors [&>code]:transition-colors",
9659
9653
  // '[&>code]:ring-dashed',
9660
9654
  "hover:[&>code]:text-(--ui-color-accent-main-primary-alt-2)",
9661
9655
  "hover:[&>code]:bg-(--ui-color-design-selection-bg)",
9662
- "hover:[&>code]:ring-(--ui-color-design-selection-stroke)"
9656
+ "hover:[&>code]:ring-(--ui-color-design-selection-stroke)",
9657
+ "focus-visible:[&>code]:ring-(--ui-color-design-selection-stroke) focus-visible:[&>code]:text-(--ui-color-accent-main-primary-alt-2)"
9663
9658
  ].join(" ")
9664
9659
  }
9665
9660
  };
@@ -9773,7 +9768,7 @@ const callout = {
9773
9768
  {
9774
9769
  to: true,
9775
9770
  class: {
9776
- base: "hover:border-(--b24ui-border-color-hover)",
9771
+ base: "hover:border-(--b24ui-border-color-hover) has-focus-visible:border-(--b24ui-border-color-hover)",
9777
9772
  externalIcon: "group-hover:text-(--b24ui-icon)"
9778
9773
  }
9779
9774
  },
@@ -9842,7 +9837,7 @@ const card = {
9842
9837
  {
9843
9838
  to: true,
9844
9839
  class: {
9845
- base: "hover:bg-(--ui-color-bg-content-secondary) hover:border-(--b24ui-border-color-hover)",
9840
+ base: "hover:bg-(--ui-color-bg-content-secondary) hover:border-(--b24ui-border-color-hover) has-focus-visible:border-(--b24ui-border-color-hover)",
9846
9841
  title: "group-hover:text-(--b24ui-border-color)",
9847
9842
  description: "group-hover:text-(--b24ui-border-color) [&_p]:group-hover:text-(--b24ui-border-color)",
9848
9843
  externalIcon: "group-hover:text-(--b24ui-icon)"
@@ -10575,14 +10570,27 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
10575
10570
  }
10576
10571
  writeThemeTemplate(theme);
10577
10572
  async function generateSources() {
10578
- let sources = "";
10579
- if (!!nuxt && !!resolve && options.experimental?.componentDetection) {
10580
- const dirs = [.../* @__PURE__ */ new Set([
10581
- nuxt.options.rootDir,
10582
- ...nuxt.options._layers?.map((layer) => layer.config.rootDir).filter(Boolean) || []
10583
- ])];
10573
+ if (!nuxt) {
10574
+ return '@source "./b24ui";';
10575
+ }
10576
+ const sources = [];
10577
+ const layers = getLayerDirectories(nuxt).map((layer) => layer.app);
10578
+ for (const layer of layers) {
10579
+ sources.push(`@source "${layer}**/*";`);
10580
+ }
10581
+ const inlineConfigs = [
10582
+ nuxt.options.app?.rootAttrs?.class,
10583
+ nuxt.options.app?.head?.htmlAttrs?.class,
10584
+ nuxt.options.app?.head?.bodyAttrs?.class
10585
+ ];
10586
+ for (const value of inlineConfigs) {
10587
+ if (value && typeof value === "string") {
10588
+ sources.push(`@source inline(${JSON.stringify(value)});`);
10589
+ }
10590
+ }
10591
+ if (resolve && options.experimental?.componentDetection) {
10584
10592
  const detectedComponents = await detectUsedComponents(
10585
- dirs,
10593
+ layers,
10586
10594
  "B24",
10587
10595
  resolve("./runtime/components"),
10588
10596
  Array.isArray(options.experimental.componentDetection) ? options.experimental.componentDetection : void 0
@@ -10599,28 +10607,29 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
10599
10607
  logger.success(`Bitrix24 UI detected ${detectedComponents.size} components in use (including dependencies)`);
10600
10608
  }
10601
10609
  previousDetectedComponents = detectedComponents;
10602
- const sourcesList = [];
10603
10610
  if (hasProse) {
10604
- sourcesList.push('@source "./b24ui/prose";');
10611
+ sources.push('@source "./b24ui/prose";');
10605
10612
  }
10606
10613
  for (const component of detectedComponents) {
10607
10614
  const kebabComponent = kebabCase(component);
10608
10615
  const camelComponent = camelCase(component);
10609
10616
  if (hasContent && themeContent[camelComponent]) {
10610
- sourcesList.push(`@source "./b24ui/content/${kebabComponent}.ts";`);
10617
+ sources.push(`@source "./b24ui/content/${kebabComponent}.ts";`);
10611
10618
  } else if (theme[camelComponent]) {
10612
- sourcesList.push(`@source "./b24ui/${kebabComponent}.ts";`);
10619
+ sources.push(`@source "./b24ui/${kebabComponent}.ts";`);
10613
10620
  }
10614
10621
  }
10615
- sources = sourcesList.join("\n");
10616
10622
  } else {
10617
10623
  if (!previousDetectedComponents || previousDetectedComponents.size > 0) {
10618
10624
  logger.info("Bitrix24 UI detected no components in use, including all components");
10619
10625
  }
10620
10626
  previousDetectedComponents = /* @__PURE__ */ new Set();
10627
+ sources.push('@source "./b24ui";');
10621
10628
  }
10629
+ } else {
10630
+ sources.push('@source "./b24ui";');
10622
10631
  }
10623
- return sources || '@source "./b24ui";';
10632
+ return sources.join("\n");
10624
10633
  }
10625
10634
  templates.push({
10626
10635
  filename: "b24ui.css",