@bitrix24/b24ui-nuxt 2.1.11 → 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 (78) hide show
  1. package/.nuxt/b24ui.css +2 -0
  2. package/README-AI.md +1 -1
  3. package/dist/meta.d.mts +98705 -785
  4. package/dist/meta.mjs +98705 -785
  5. package/dist/module.json +1 -1
  6. package/dist/module.mjs +1 -1
  7. package/dist/runtime/air-design-tokens/003_b24_context_light.css +1 -1
  8. package/dist/runtime/air-design-tokens/004_b24_context_dark.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/ContextMenu.d.vue.ts +6 -2
  12. package/dist/runtime/components/ContextMenu.vue.d.ts +6 -2
  13. package/dist/runtime/components/ContextMenuContent.vue +3 -2
  14. package/dist/runtime/components/DropdownMenu.d.vue.ts +6 -2
  15. package/dist/runtime/components/DropdownMenu.vue +2 -2
  16. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -2
  17. package/dist/runtime/components/DropdownMenuContent.vue +5 -4
  18. package/dist/runtime/components/Editor.d.vue.ts +87 -0
  19. package/dist/runtime/components/Editor.vue +185 -0
  20. package/dist/runtime/components/Editor.vue.d.ts +87 -0
  21. package/dist/runtime/components/EditorDragHandle.d.vue.ts +60 -0
  22. package/dist/runtime/components/EditorDragHandle.vue +128 -0
  23. package/dist/runtime/components/EditorDragHandle.vue.d.ts +60 -0
  24. package/dist/runtime/components/EditorEmojiMenu.d.vue.ts +35 -0
  25. package/dist/runtime/components/EditorEmojiMenu.vue +70 -0
  26. package/dist/runtime/components/EditorEmojiMenu.vue.d.ts +35 -0
  27. package/dist/runtime/components/EditorMentionMenu.d.vue.ts +39 -0
  28. package/dist/runtime/components/EditorMentionMenu.vue +74 -0
  29. package/dist/runtime/components/EditorMentionMenu.vue.d.ts +39 -0
  30. package/dist/runtime/components/EditorSuggestionMenu.d.vue.ts +52 -0
  31. package/dist/runtime/components/EditorSuggestionMenu.vue +79 -0
  32. package/dist/runtime/components/EditorSuggestionMenu.vue.d.ts +52 -0
  33. package/dist/runtime/components/EditorToolbar.d.vue.ts +80 -0
  34. package/dist/runtime/components/EditorToolbar.vue +241 -0
  35. package/dist/runtime/components/EditorToolbar.vue.d.ts +80 -0
  36. package/dist/runtime/components/FormField.vue +2 -2
  37. package/dist/runtime/components/InputMenu.d.vue.ts +2 -0
  38. package/dist/runtime/components/InputMenu.vue +14 -1
  39. package/dist/runtime/components/InputMenu.vue.d.ts +2 -0
  40. package/dist/runtime/components/PageCard.vue +2 -1
  41. package/dist/runtime/components/Pagination.d.vue.ts +0 -1
  42. package/dist/runtime/components/Pagination.vue.d.ts +0 -1
  43. package/dist/runtime/components/Select.d.vue.ts +2 -0
  44. package/dist/runtime/components/Select.vue +14 -1
  45. package/dist/runtime/components/Select.vue.d.ts +2 -0
  46. package/dist/runtime/components/SelectMenu.d.vue.ts +2 -0
  47. package/dist/runtime/components/SelectMenu.vue +14 -1
  48. package/dist/runtime/components/SelectMenu.vue.d.ts +2 -0
  49. package/dist/runtime/components/User.vue +0 -1
  50. package/dist/runtime/components/color-mode/ColorModeSelect.vue +1 -0
  51. package/dist/runtime/components/locale/LocaleSelect.vue +6 -3
  52. package/dist/runtime/components/prose/Accordion.vue +1 -1
  53. package/dist/runtime/components/prose/Callout.vue +0 -1
  54. package/dist/runtime/components/prose/Card.vue +0 -1
  55. package/dist/runtime/composables/defineShortcuts.d.ts +2 -1
  56. package/dist/runtime/composables/defineShortcuts.js +62 -15
  57. package/dist/runtime/composables/useEditorMenu.d.ts +64 -0
  58. package/dist/runtime/composables/useEditorMenu.js +448 -0
  59. package/dist/runtime/dictionary/icons.d.ts +1 -0
  60. package/dist/runtime/dictionary/icons.js +5 -3
  61. package/dist/runtime/locale/in.d.ts +3 -0
  62. package/dist/runtime/locale/in.js +136 -0
  63. package/dist/runtime/locale/index.d.ts +25 -23
  64. package/dist/runtime/locale/index.js +11 -10
  65. package/dist/runtime/types/editor.d.ts +69 -0
  66. package/dist/runtime/types/editor.js +0 -0
  67. package/dist/runtime/types/index.d.ts +7 -0
  68. package/dist/runtime/types/index.js +7 -0
  69. package/dist/runtime/types/prose.d.ts +2 -0
  70. package/dist/runtime/types/prose.js +2 -0
  71. package/dist/runtime/utils/editor.d.ts +69 -0
  72. package/dist/runtime/utils/editor.js +364 -0
  73. package/dist/runtime/utils/tv.js +2 -1
  74. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +1 -0
  75. package/dist/shared/{b24ui-nuxt.Dh5A-7HA.mjs → b24ui-nuxt.BYDi-4ID.mjs} +323 -132
  76. package/dist/unplugin.mjs +1 -1
  77. package/dist/vite.mjs +1 -1
  78. package/package.json +22 -8
@@ -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.11";
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: [
@@ -3035,6 +3034,182 @@ const dropdownMenu = {
3035
3034
  defaultVariants: {}
3036
3035
  };
3037
3036
 
3037
+ const editor = {
3038
+ slots: {
3039
+ root: "",
3040
+ content: "relative size-full flex-1",
3041
+ base: [
3042
+ "text-(--b24ui-typography-label-color)",
3043
+ "w-full outline-none *:my-5 *:first:mt-0 *:last:mb-0 sm:px-8 selection:bg-(--ui-color-design-selection-bg)",
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-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
+ "[&_li_.is-empty]:before:content-none",
3047
+ // Paragraph
3048
+ "[&_p]:leading-7",
3049
+ // Links
3050
+ "[&_a]:text-(--ui-color-accent-main-primary) [&_a]:border-b [&_a]:border-transparent [&_a]:hover:border-(--ui-color-accent-main-primary) [&_a]:font-(--ui-font-weight-medium)",
3051
+ "[&_a]:transition-colors",
3052
+ // Mentions
3053
+ "[&_.mention]:text-(--ui-color-accent-main-primary) [&_.mention]:font-(--ui-font-weight-medium)",
3054
+ // Headings - shared styles
3055
+ "[&_:is(h1,h2,h3,h4)]:text-(--b24ui-typography-label-color) [&_:is(h1,h2,h3,h4)]:font-(--ui-font-weight-bold)",
3056
+ // Headings - unique styles
3057
+ "[&_h1]:text-3xl",
3058
+ "[&_h2]:text-2xl",
3059
+ "[&_h3]:text-xl",
3060
+ "[&_h4]:text-lg",
3061
+ // Code inside headings
3062
+ "[&_:is(h1,h2,h3,h4)>code]:border-dashed [&_:is(h1,h2,h3,h4)>code]:font-(--ui-font-weight-bold)",
3063
+ "[&_h2>code]:text-xl/6",
3064
+ "[&_h3>code]:text-lg/5",
3065
+ // Blockquote & HR
3066
+ "[&_blockquote]:border-s-4 [&_blockquote]:border-(--ui-color-accent-soft-element-blue) [&_blockquote]:ps-4 [&_blockquote]:italic",
3067
+ "[&_[data-type=horizontalRule]]:my-8 [&_[data-type=horizontalRule]]:py-2",
3068
+ "[&_hr]:border-t [&_hr]:border-(--ui-color-divider-default)",
3069
+ // Code blocks
3070
+ "[&_pre]:text-sm/6 [&_pre]:border [&_pre]:border-(--ui-color-design-tinted-na-stroke) [&_pre]:bg-(--ui-color-design-tinted-na-bg) [&_pre]:rounded-md [&_pre]:px-4 [&_pre]:py-3 [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:overflow-x-auto",
3071
+ "[&_pre_code]:p-0 [&_pre_code]:text-inherit [&_pre_code]:font-inherit [&_pre_code]:rounded-none [&_pre_code]:inline [&_pre_code]:border-0 [&_pre_code]:bg-transparent",
3072
+ // Inline code
3073
+ "[&_code]:px-1.5 [&_code]:py-0.5 [&_code]:text-sm [&_code]:font-[family-name:var(--ui-font-family-system-mono)] [&_code]:font-(--ui-font-weight-medium) [&_code]:rounded-md [&_code]:inline-block [&_code]:border [&_code]:border-(--ui-color-design-tinted-na-stroke) [&_code]:text-(--b24ui-typography-label-color) [&_code]:bg-(--ui-color-design-tinted-na-bg)",
3074
+ // Lists
3075
+ "[&_:is(ul,ol)]:ps-6",
3076
+ "[&_ul]:list-disc [&_ul]:marker:text-(--ui-color-accent-soft-element-blue)",
3077
+ "[&_ol]:list-decimal [&_ol]:marker:text-(--b24ui-typography-label-color)",
3078
+ "[&_li]:my-1.5 [&_li]:ps-1.5",
3079
+ // Images
3080
+ "[&_img]:rounded-md [&_img]:block [&_img]:max-w-full [&_img.ProseMirror-selectednode]:outline-2 [&_img.ProseMirror-selectednode]:outline-(--ui-color-accent-main-primary)",
3081
+ // Selected nodes
3082
+ "[&_.ProseMirror-selectednode:not(img):not(pre):not([data-node-view-wrapper])]:bg-(--ui-color-design-selection-bg)"
3083
+ ].join(" ")
3084
+ }
3085
+ };
3086
+
3087
+ const editorDragHandle = {
3088
+ slots: {
3089
+ root: "hidden sm:flex items-center justify-center transition-all duration-200 ease-out",
3090
+ handle: "cursor-grab px-1"
3091
+ }
3092
+ };
3093
+
3094
+ const editorSuggestionMenu = {
3095
+ slots: {
3096
+ content: [
3097
+ "base-mode",
3098
+ "bg-(--ui-color-bg-content-primary)",
3099
+ "shadow-(--popup-window-box-shadow)",
3100
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
3101
+ "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
3102
+ "origin-(--reka-dropdown-menu-content-transform-origin)",
3103
+ "font-[family-name:var(--ui-font-family-primary)]",
3104
+ "relative",
3105
+ "isolate",
3106
+ "px-0 py-(--menu-popup-padding)",
3107
+ "pointer-events-auto"
3108
+ ].join(" "),
3109
+ viewport: [
3110
+ "relative",
3111
+ "w-full max-h-[40vh] min-w-[192px] max-w-[240px]",
3112
+ "overflow-x-hidden overflow-y-auto scrollbar-thin"
3113
+ // scrollbar-transparent
3114
+ ].join(" "),
3115
+ group: "grid",
3116
+ // p-1 isolate
3117
+ label: [
3118
+ "w-full h-(--popup-window-delimiter-section-height)",
3119
+ "px-[18px] mt-(--menu-item-block-stack-space)",
3120
+ "flex flex-row rtl:flex-row-reverse items-center",
3121
+ "select-none outline-none whitespace-nowrap",
3122
+ "text-start",
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)"
3127
+ ].join(" "),
3128
+ item: [
3129
+ "group",
3130
+ "w-full h-[36px]",
3131
+ // min-w-[195px]
3132
+ "px-[18px] mt-(--menu-item-block-stack-space)",
3133
+ "relative",
3134
+ "flex flex-row rtl:flex-row-reverse items-center",
3135
+ "select-none outline-none whitespace-nowrap",
3136
+ "cursor-pointer",
3137
+ "data-disabled:cursor-not-allowed data-disabled:opacity-30",
3138
+ "text-start",
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)",
3146
+ "transition-colors"
3147
+ ].join(" "),
3148
+ itemLeadingIcon: [
3149
+ "shrink-0",
3150
+ "size-[18px]",
3151
+ "text-(--ui-color-design-plain-content-icon-secondary)",
3152
+ "group-data-highlighted:text-(--ui-color-accent-main-primary)",
3153
+ "group-data-[state=open]:text-(--ui-color-accent-main-primary)",
3154
+ "group-data-[state=checked]:text-(--ui-color-accent-main-primary)",
3155
+ "transition-colors"
3156
+ ].join(" "),
3157
+ itemLeadingAvatar: "shrink-0 size-[16px] me-[8px]",
3158
+ // @memo 18-2px
3159
+ itemLeadingAvatarSize: "2xs",
3160
+ // @memo this wrong
3161
+ itemWrapper: "ms-[4px] flex-1 flex flex-col text-start min-w-0",
3162
+ itemLabel: [
3163
+ "max-w-[240px] truncate -mt-px",
3164
+ "group-data-[state=checked]:text-(--ui-color-accent-main-primary)"
3165
+ ].join(" "),
3166
+ itemDescription: "max-w-[240px] truncate -mt-[6px] text-(--b24ui-typography-description-color) text-(length:--ui-font-size-sm)",
3167
+ itemLabelExternalIcon: "inline-block size-[16px] text-(--ui-color-design-plain-content-icon-secondary)"
3168
+ },
3169
+ variants: {
3170
+ active: {
3171
+ true: {
3172
+ item: [
3173
+ "text-(--ui-color-accent-main-primary)",
3174
+ "hover:text-(--ui-color-accent-main-primary)"
3175
+ ].join(" "),
3176
+ itemLeadingIcon: [
3177
+ "text-(--ui-color-accent-main-primary)",
3178
+ "hover:text-(--ui-color-accent-main-primary)",
3179
+ "group-data-[state=open]:text-(--ui-color-accent-main-primary)"
3180
+ ].join(" ")
3181
+ },
3182
+ false: {}
3183
+ }
3184
+ }
3185
+ };
3186
+
3187
+ const editorEmojiMenu = () => editorSuggestionMenu;
3188
+
3189
+ const editorMentionMenu = () => editorSuggestionMenu;
3190
+
3191
+ const editorToolbar = {
3192
+ slots: {
3193
+ root: "focus:outline-none",
3194
+ base: "flex items-stretch gap-1.5",
3195
+ group: "flex items-center gap-0.5",
3196
+ separator: "w-px self-stretch bg-(--ui-color-design-tinted-na-stroke)"
3197
+ },
3198
+ variants: {
3199
+ layout: {
3200
+ bubble: {
3201
+ base: "backdrop-blur-3xl bg-(--ui-color-bg-content-primary) border border-(--ui-color-divider-default) rounded-md p-1"
3202
+ },
3203
+ floating: {
3204
+ base: "backdrop-blur-3xl bg-(--ui-color-bg-content-primary) border border-(--ui-color-divider-default) rounded-md p-1"
3205
+ },
3206
+ fixed: {
3207
+ base: ""
3208
+ }
3209
+ }
3210
+ }
3211
+ };
3212
+
3038
3213
  const empty = {
3039
3214
  slots: {
3040
3215
  root: [
@@ -3896,11 +4071,11 @@ const inputMenu = () => {
3896
4071
  "disabled:opacity-30"
3897
4072
  ].join(" "),
3898
4073
  content: [
3899
- "light",
4074
+ "base-mode",
3900
4075
  // w-(--reka-combobox-trigger-width)
3901
- "bg-(--popup-window-background-color)",
4076
+ "bg-(--ui-color-bg-content-primary)",
3902
4077
  "shadow-(--popup-window-box-shadow)",
3903
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
4078
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
3904
4079
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
3905
4080
  "origin-(--reka-dropdown-menu-content-transform-origin)",
3906
4081
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -3916,7 +4091,7 @@ const inputMenu = () => {
3916
4091
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
3917
4092
  // scrollbar-transparent
3918
4093
  ].join(" "),
3919
- arrow: "fill-(--popup-window-background-color)",
4094
+ arrow: "fill-(--ui-color-bg-content-primary)",
3920
4095
  // for content bottom|top::start -> ml-[12px]
3921
4096
  group: "grid",
3922
4097
  empty: [
@@ -3925,9 +4100,9 @@ const inputMenu = () => {
3925
4100
  "py-[8px]",
3926
4101
  "select-none outline-none whitespace-nowrap",
3927
4102
  "text-center",
3928
- "text-(length:--popup-window-delimiter-font-size)/(--ui-font-line-height-lg)",
3929
- "text-(--popup-window-delimiter-text-color)",
3930
- "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)"
3931
4106
  ].join(" "),
3932
4107
  label: [
3933
4108
  "w-full min-w-[195px] h-(--popup-window-delimiter-section-height)",
@@ -3935,12 +4110,12 @@ const inputMenu = () => {
3935
4110
  "flex flex-row rtl:flex-row-reverse items-center",
3936
4111
  "select-none outline-none whitespace-nowrap",
3937
4112
  "text-start",
3938
- "text-(length:--popup-window-delimiter-font-size)",
3939
- "text-(--popup-window-delimiter-text-color)",
3940
- "font-(--popup-window-delimiter-font-weight)",
3941
- "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)"
3942
4117
  ].join(" "),
3943
- 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)",
3944
4119
  item: [
3945
4120
  "group",
3946
4121
  "w-full min-w-[195px] h-[36px]",
@@ -3952,14 +4127,14 @@ const inputMenu = () => {
3952
4127
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
3953
4128
  "data-disabled:select-none",
3954
4129
  "text-start",
3955
- "text-(length:--menu-popup-item-font-size)",
3956
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
3957
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
3958
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
3959
- "data-[state=checked]:text-(--menu-popup-item-color-hover)",
3960
- "hover:bg-(--menu-popup-item-bg-color-hover)",
3961
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
3962
- "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)",
3963
4138
  "transition-colors"
3964
4139
  ].join(" "),
3965
4140
  itemLeadingIcon: [
@@ -4024,9 +4199,9 @@ const inputMenu = () => {
4024
4199
  group: "",
4025
4200
  // p-0 isolate -m-px
4026
4201
  item: [
4027
- "text-(--menu-popup-item-color)",
4028
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
4029
- "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)"
4030
4205
  ].join(" "),
4031
4206
  itemLabel: "flex flex-row flex-nowrap items-center justify-start gap-2",
4032
4207
  itemLeadingIcon: [
@@ -5003,8 +5178,8 @@ const modal = {
5003
5178
  slots: {
5004
5179
  overlay: "fixed inset-0",
5005
5180
  content: [
5006
- "light",
5007
- "bg-(--popup-window-background-color)",
5181
+ "base-mode",
5182
+ "bg-(--ui-color-bg-content-primary)",
5008
5183
  "flex flex-col gap-[20px]",
5009
5184
  "focus:outline-none",
5010
5185
  "p-[24px] pt-[20px]"
@@ -5053,7 +5228,7 @@ const modal = {
5053
5228
  // // 'top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',
5054
5229
  "w-[calc(100vw-2rem)] max-w-[32rem]",
5055
5230
  // // 'max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)]',
5056
- "rounded-[calc(var(--popup-window-border-radius)-2px)] shadow-lg"
5231
+ "rounded-[calc(var(--ui-border-radius-xl)-2px)] shadow-lg"
5057
5232
  // @memo see components/popup.css
5058
5233
  // 'ring ring-(--popup-window-border)'
5059
5234
  ].join(" "),
@@ -5185,15 +5360,14 @@ const navigationMenu = {
5185
5360
  popoverWrapper: "px-0 py-(--menu-popup-padding)",
5186
5361
  viewportWrapper: "absolute top-[53px] left-0 flex w-full",
5187
5362
  viewport: [
5188
- "light",
5189
5363
  "relative overflow-hidden",
5190
5364
  "w-full",
5191
- "bg-(--popup-window-background-color)",
5192
- // 'bg-(--ui-color-base-white-fixed)/94',
5365
+ "base-mode",
5366
+ "bg-(--ui-color-bg-content-primary)",
5193
5367
  "shadow-(--popup-window-box-shadow)",
5194
5368
  "h-(--reka-navigation-menu-viewport-height)",
5195
5369
  "w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
5196
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
5370
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
5197
5371
  "[&:has(>[data-viewport=rtl])]:left-auto [&:has(>[data-viewport=rtl])]:-right-[calc(100%-var(--reka-navigation-menu-viewport-width))]",
5198
5372
  "transition-[width,height] duration-200 origin-[top_center]",
5199
5373
  // left
@@ -5225,9 +5399,9 @@ const navigationMenu = {
5225
5399
  "min-w-[195px]",
5226
5400
  "whitespace-nowrap",
5227
5401
  "font-[family-name:var(--ui-font-family-primary)]",
5228
- "text-(length:--menu-popup-item-font-size)",
5229
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
5230
- "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)"
5231
5405
  ].join(" "),
5232
5406
  childLinkLabel: "",
5233
5407
  content: "absolute top-0 left-0 w-full max-h-[70vh] overflow-y-auto scrollbar-thin scrollbar-transparent"
@@ -5259,9 +5433,9 @@ const navigationMenu = {
5259
5433
  "min-w-[195px]",
5260
5434
  "whitespace-nowrap",
5261
5435
  "font-[family-name:var(--ui-font-family-primary)]",
5262
- "text-(length:--menu-popup-item-font-size)",
5263
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
5264
- "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)"
5265
5439
  ].join(" "),
5266
5440
  // @memo 10 + 15 = 25 != 18
5267
5441
  childLabel: [
@@ -5270,10 +5444,10 @@ const navigationMenu = {
5270
5444
  "flex flex-row rtl:flex-row-reverse items-center",
5271
5445
  "select-none outline-none whitespace-nowrap",
5272
5446
  "text-start",
5273
- "text-(length:--popup-window-delimiter-font-size)",
5274
- "text-(--popup-window-delimiter-text-color)",
5275
- "font-(--popup-window-delimiter-font-weight)",
5276
- "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)"
5277
5451
  ].join(" ")
5278
5452
  }
5279
5453
  },
@@ -5399,7 +5573,7 @@ const pageCard = {
5399
5573
  vertical: { container: "" }
5400
5574
  },
5401
5575
  reverse: {
5402
- true: { wrapper: "lg:order-last" }
5576
+ true: { wrapper: "order-last" }
5403
5577
  },
5404
5578
  variant: {
5405
5579
  "filled": {
@@ -5675,7 +5849,7 @@ const pageCard = {
5675
5849
  },
5676
5850
  to: {
5677
5851
  true: {
5678
- root: "transition"
5852
+ root: "has-focus-visible:ring-2 has-focus-visible:ring-(--ui-color-design-filled-stroke) transition"
5679
5853
  }
5680
5854
  },
5681
5855
  title: {
@@ -5911,15 +6085,9 @@ const pageCard = {
5911
6085
  highlightColor: "air-primary-warning",
5912
6086
  highlight: true,
5913
6087
  class: { root: "ring-(--ui-color-design-filled-warning-stroke)" }
5914
- },
6088
+ }
5915
6089
  // endregion ////
5916
6090
  // region to ////
5917
- {
5918
- to: true,
5919
- class: {
5920
- root: "has-focus-visible:ring-2 has-focus-visible:ring-(--ui-color-design-filled-stroke)"
5921
- }
5922
- }
5923
6091
  // endregion ////
5924
6092
  ],
5925
6093
  defaultVariants: {
@@ -6158,15 +6326,15 @@ const pinInput = () => ({
6158
6326
  const popover = {
6159
6327
  slots: {
6160
6328
  content: [
6161
- "light",
6162
- "bg-(--popup-window-background-color)",
6329
+ "base-mode",
6330
+ "bg-(--ui-color-bg-content-primary)",
6163
6331
  "shadow-(--popup-window-box-shadow)",
6164
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
6332
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
6165
6333
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
6166
6334
  "origin-(--reka-popover-content-transform-origin)",
6167
6335
  "focus:outline-none pointer-events-auto"
6168
6336
  ].join(" "),
6169
- arrow: "fill-(--popup-window-background-color)"
6337
+ arrow: "fill-(--ui-color-bg-content-primary)"
6170
6338
  }
6171
6339
  };
6172
6340
 
@@ -6830,11 +6998,11 @@ const select = () => {
6830
6998
  value: "truncate pointer-events-none",
6831
6999
  placeholder: "truncate text-(--ui-color-design-plain-na-content-secondary)",
6832
7000
  content: [
6833
- "light",
6834
7001
  // w-(--reka-combobox-trigger-width)
6835
- "bg-(--popup-window-background-color)",
7002
+ "base-mode",
7003
+ "bg-(--ui-color-bg-content-primary)",
6836
7004
  "shadow-(--popup-window-box-shadow)",
6837
- "rounded-(--popup-window-border-radius) will-change-[opacity]",
7005
+ "rounded-(--ui-border-radius-xl) will-change-[opacity]",
6838
7006
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
6839
7007
  "origin-(--reka-dropdown-menu-content-transform-origin)",
6840
7008
  "font-[family-name:var(--ui-font-family-primary)]",
@@ -6850,7 +7018,7 @@ const select = () => {
6850
7018
  "overflow-x-hidden overflow-y-auto scrollbar-thin"
6851
7019
  // scrollbar-transparent
6852
7020
  ].join(" "),
6853
- arrow: "fill-(--popup-window-background-color)",
7021
+ arrow: "fill-(--ui-color-bg-content-primary)",
6854
7022
  // for content bottom|top::start -> ml-[12px]
6855
7023
  group: "grid",
6856
7024
  empty: [
@@ -6860,8 +7028,8 @@ const select = () => {
6860
7028
  "select-none outline-none whitespace-nowrap",
6861
7029
  "text-center",
6862
7030
  "text-(length:--popup-window-delimiter-font-size)/(--ui-font-line-height-lg)",
6863
- "text-(--popup-window-delimiter-text-color)",
6864
- "font-(--popup-window-delimiter-font-weight)"
7031
+ "text-(--b24ui-typography-legend-color)",
7032
+ "font-(--ui-font-weight-normal)"
6865
7033
  ].join(" "),
6866
7034
  label: [
6867
7035
  "w-full min-w-[195px] h-(--popup-window-delimiter-section-height)",
@@ -6869,12 +7037,12 @@ const select = () => {
6869
7037
  "flex flex-row rtl:flex-row-reverse items-center",
6870
7038
  "select-none outline-none whitespace-nowrap",
6871
7039
  "text-start",
6872
- "text-(length:--popup-window-delimiter-font-size)",
6873
- "text-(--popup-window-delimiter-text-color)",
6874
- "font-(--popup-window-delimiter-font-weight)",
6875
- "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)"
6876
7044
  ].join(" "),
6877
- 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)",
6878
7046
  item: [
6879
7047
  "group",
6880
7048
  "w-full min-w-[195px] h-[36px]",
@@ -6885,14 +7053,14 @@ const select = () => {
6885
7053
  "cursor-pointer",
6886
7054
  "data-disabled:cursor-not-allowed data-disabled:opacity-30",
6887
7055
  "text-start",
6888
- "text-(length:--menu-popup-item-font-size)",
6889
- "text-(--menu-popup-item-color) hover:text-(--menu-popup-item-color-hover)",
6890
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
6891
- "data-[state=open]:text-(--menu-popup-item-color-hover)",
6892
- "data-[state=checked]:text-(--menu-popup-item-color-hover)",
6893
- "hover:bg-(--menu-popup-item-bg-color-hover)",
6894
- "data-highlighted:bg-(--menu-popup-item-bg-color-hover)",
6895
- "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)",
6896
7064
  "transition-colors"
6897
7065
  ].join(" "),
6898
7066
  itemLeadingIcon: [
@@ -7066,7 +7234,7 @@ function replaceFocus$1(str) {
7066
7234
  const selectMenu = () => {
7067
7235
  return defuFn({
7068
7236
  slots: {
7069
- input: "border-b border-(--popup-window-delimiter-bg-color)",
7237
+ input: "border-b border-(--ui-color-divider-vibrant-default)",
7070
7238
  focusScope: "flex flex-col min-h-0",
7071
7239
  viewport: [
7072
7240
  "relative",
@@ -7096,9 +7264,9 @@ const selectMenu = () => {
7096
7264
  group: "",
7097
7265
  // p-0 isolate -m-px
7098
7266
  item: [
7099
- "text-(--menu-popup-item-color)",
7100
- "data-highlighted:not-data-disabled:text-(--menu-popup-item-color-hover)",
7101
- "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)"
7102
7270
  ].join(" "),
7103
7271
  itemLabel: "flex flex-row flex-nowrap items-center justify-start gap-2",
7104
7272
  itemLeadingIcon: [
@@ -7286,8 +7454,7 @@ const slideover = {
7286
7454
  ].join(" "),
7287
7455
  footer: [
7288
7456
  "absolute inset-x-0 bottom-0",
7289
- "light",
7290
- "bg-(--popup-window-background-color)",
7457
+ "bg-(--ui-color-bg-content-primary)",
7291
7458
  // --ui-color-bg-content-primary
7292
7459
  "flex items-center justify-center gap-3",
7293
7460
  "border-t border-t-1 border-t-(--ui-color-divider-less)",
@@ -8641,7 +8808,7 @@ const tooltip = {
8641
8808
  "text-(length:--ui-font-size-sm)/(--ui-font-line-height-reset) font-[family-name:var(--ui-font-family-primary)]",
8642
8809
  "bg-(--ui-color-bg-content-primary)/80",
8643
8810
  "text-(--ui-color-design-plain-na-focused-content)",
8644
- "rounded-[calc(var(--popup-window-border-radius)-2px)]",
8811
+ "rounded-[calc(var(--ui-border-radius-xl)-2px)]",
8645
8812
  // @memo see components/popup.css
8646
8813
  // 'border border-(--popup-window-border)'
8647
8814
  "origin-(--reka-tooltip-content-transform-origin)",
@@ -9076,13 +9243,15 @@ const user = {
9076
9243
  true: {
9077
9244
  name: [
9078
9245
  "text-(--b24ui-typography-label-color) peer-hover:text-(--ui-color-design-selection-content)",
9246
+ "peer-focus-visible:text-(--ui-color-design-selection-content)",
9079
9247
  "transition-colors"
9080
9248
  ].join(" "),
9081
9249
  description: [
9082
9250
  "peer-hover:text-(--ui-color-design-selection-content)",
9251
+ "peer-focus-visible:text-(--ui-color-design-selection-content)",
9083
9252
  "transition-colors"
9084
9253
  ].join(" "),
9085
- 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"
9086
9255
  },
9087
9256
  false: {
9088
9257
  name: "text-(--b24ui-typography-label-color)",
@@ -9177,6 +9346,12 @@ const theme = {
9177
9346
  dashboardSearchButton: dashboardSearchButton,
9178
9347
  descriptionList: descriptionList,
9179
9348
  dropdownMenu: dropdownMenu,
9349
+ editor: editor,
9350
+ editorDragHandle: editorDragHandle,
9351
+ editorEmojiMenu: editorEmojiMenu,
9352
+ editorMentionMenu: editorMentionMenu,
9353
+ editorSuggestionMenu: editorSuggestionMenu,
9354
+ editorToolbar: editorToolbar,
9180
9355
  empty: empty,
9181
9356
  error: error,
9182
9357
  fieldGroup: fieldGroup$1,
@@ -9473,11 +9648,13 @@ const a = {
9473
9648
  "hover:underline underline-offset-2",
9474
9649
  "hover:text-(--ui-color-accent-main-primary-alt) dark:hover:text-(--ui-color-blue-50)",
9475
9650
  "focus-visible:outline-info-text",
9651
+ "focus-visible:has-[>code]:outline-0",
9476
9652
  "transition-colors [&>code]:transition-colors",
9477
9653
  // '[&>code]:ring-dashed',
9478
9654
  "hover:[&>code]:text-(--ui-color-accent-main-primary-alt-2)",
9479
9655
  "hover:[&>code]:bg-(--ui-color-design-selection-bg)",
9480
- "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)"
9481
9658
  ].join(" ")
9482
9659
  }
9483
9660
  };
@@ -9591,7 +9768,7 @@ const callout = {
9591
9768
  {
9592
9769
  to: true,
9593
9770
  class: {
9594
- base: "hover:border-(--b24ui-border-color-hover)",
9771
+ base: "hover:border-(--b24ui-border-color-hover) has-focus-visible:border-(--b24ui-border-color-hover)",
9595
9772
  externalIcon: "group-hover:text-(--b24ui-icon)"
9596
9773
  }
9597
9774
  },
@@ -9660,7 +9837,7 @@ const card = {
9660
9837
  {
9661
9838
  to: true,
9662
9839
  class: {
9663
- 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)",
9664
9841
  title: "group-hover:text-(--b24ui-border-color)",
9665
9842
  description: "group-hover:text-(--b24ui-border-color) [&_p]:group-hover:text-(--b24ui-border-color)",
9666
9843
  externalIcon: "group-hover:text-(--b24ui-icon)"
@@ -10393,14 +10570,27 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
10393
10570
  }
10394
10571
  writeThemeTemplate(theme);
10395
10572
  async function generateSources() {
10396
- let sources = "";
10397
- if (!!nuxt && !!resolve && options.experimental?.componentDetection) {
10398
- const dirs = [.../* @__PURE__ */ new Set([
10399
- nuxt.options.rootDir,
10400
- ...nuxt.options._layers?.map((layer) => layer.config.rootDir).filter(Boolean) || []
10401
- ])];
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) {
10402
10592
  const detectedComponents = await detectUsedComponents(
10403
- dirs,
10593
+ layers,
10404
10594
  "B24",
10405
10595
  resolve("./runtime/components"),
10406
10596
  Array.isArray(options.experimental.componentDetection) ? options.experimental.componentDetection : void 0
@@ -10417,28 +10607,29 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
10417
10607
  logger.success(`Bitrix24 UI detected ${detectedComponents.size} components in use (including dependencies)`);
10418
10608
  }
10419
10609
  previousDetectedComponents = detectedComponents;
10420
- const sourcesList = [];
10421
10610
  if (hasProse) {
10422
- sourcesList.push('@source "./b24ui/prose";');
10611
+ sources.push('@source "./b24ui/prose";');
10423
10612
  }
10424
10613
  for (const component of detectedComponents) {
10425
10614
  const kebabComponent = kebabCase(component);
10426
10615
  const camelComponent = camelCase(component);
10427
10616
  if (hasContent && themeContent[camelComponent]) {
10428
- sourcesList.push(`@source "./b24ui/content/${kebabComponent}.ts";`);
10617
+ sources.push(`@source "./b24ui/content/${kebabComponent}.ts";`);
10429
10618
  } else if (theme[camelComponent]) {
10430
- sourcesList.push(`@source "./b24ui/${kebabComponent}.ts";`);
10619
+ sources.push(`@source "./b24ui/${kebabComponent}.ts";`);
10431
10620
  }
10432
10621
  }
10433
- sources = sourcesList.join("\n");
10434
10622
  } else {
10435
10623
  if (!previousDetectedComponents || previousDetectedComponents.size > 0) {
10436
10624
  logger.info("Bitrix24 UI detected no components in use, including all components");
10437
10625
  }
10438
10626
  previousDetectedComponents = /* @__PURE__ */ new Set();
10627
+ sources.push('@source "./b24ui";');
10439
10628
  }
10629
+ } else {
10630
+ sources.push('@source "./b24ui";');
10440
10631
  }
10441
- return sources || '@source "./b24ui";';
10632
+ return sources.join("\n");
10442
10633
  }
10443
10634
  templates.push({
10444
10635
  filename: "b24ui.css",