@nuxt/ui 4.8.2 → 4.9.0

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 (82) hide show
  1. package/dist/module.d.mts +7 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +2 -2
  4. package/dist/runtime/components/Avatar.vue +1 -1
  5. package/dist/runtime/components/Banner.vue +0 -1
  6. package/dist/runtime/components/BlogPost.vue +8 -10
  7. package/dist/runtime/components/Calendar.d.vue.ts +40 -4
  8. package/dist/runtime/components/Calendar.vue +179 -61
  9. package/dist/runtime/components/Calendar.vue.d.ts +40 -4
  10. package/dist/runtime/components/ChatMessages.d.vue.ts +7 -3
  11. package/dist/runtime/components/ChatMessages.vue +4 -1
  12. package/dist/runtime/components/ChatMessages.vue.d.ts +7 -3
  13. package/dist/runtime/components/ChatPrompt.vue +8 -2
  14. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +2 -2
  15. package/dist/runtime/components/ChatPromptSubmit.vue +2 -2
  16. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +2 -2
  17. package/dist/runtime/components/CommandPalette.d.vue.ts +2 -2
  18. package/dist/runtime/components/CommandPalette.vue +10 -4
  19. package/dist/runtime/components/CommandPalette.vue.d.ts +2 -2
  20. package/dist/runtime/components/DashboardSearch.d.vue.ts +7 -1
  21. package/dist/runtime/components/DashboardSearch.vue +9 -2
  22. package/dist/runtime/components/DashboardSearch.vue.d.ts +7 -1
  23. package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -2
  24. package/dist/runtime/components/DashboardSearchButton.vue +2 -2
  25. package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -2
  26. package/dist/runtime/components/FileUpload.d.vue.ts +5 -2
  27. package/dist/runtime/components/FileUpload.vue +8 -6
  28. package/dist/runtime/components/FileUpload.vue.d.ts +5 -2
  29. package/dist/runtime/components/Link.d.vue.ts +1 -0
  30. package/dist/runtime/components/Link.vue +1 -1
  31. package/dist/runtime/components/Link.vue.d.ts +1 -0
  32. package/dist/runtime/components/Modal.d.vue.ts +6 -0
  33. package/dist/runtime/components/Modal.vue +3 -1
  34. package/dist/runtime/components/Modal.vue.d.ts +6 -0
  35. package/dist/runtime/components/PinInput.d.vue.ts +14 -2
  36. package/dist/runtime/components/PinInput.vue +36 -11
  37. package/dist/runtime/components/PinInput.vue.d.ts +14 -2
  38. package/dist/runtime/components/Popover.d.vue.ts +2 -0
  39. package/dist/runtime/components/Popover.vue +2 -2
  40. package/dist/runtime/components/Popover.vue.d.ts +2 -0
  41. package/dist/runtime/components/ScrollArea.d.vue.ts +8 -0
  42. package/dist/runtime/components/ScrollArea.vue +10 -0
  43. package/dist/runtime/components/ScrollArea.vue.d.ts +8 -0
  44. package/dist/runtime/components/Select.vue +8 -1
  45. package/dist/runtime/components/SelectMenu.vue +11 -4
  46. package/dist/runtime/components/Sidebar.d.vue.ts +5 -0
  47. package/dist/runtime/components/Sidebar.vue +3 -1
  48. package/dist/runtime/components/Sidebar.vue.d.ts +5 -0
  49. package/dist/runtime/components/Slideover.d.vue.ts +6 -0
  50. package/dist/runtime/components/Slideover.vue +3 -1
  51. package/dist/runtime/components/Slideover.vue.d.ts +6 -0
  52. package/dist/runtime/components/content/ContentSearch.d.vue.ts +7 -1
  53. package/dist/runtime/components/content/ContentSearch.vue +9 -2
  54. package/dist/runtime/components/content/ContentSearch.vue.d.ts +7 -1
  55. package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -2
  56. package/dist/runtime/components/content/ContentSearchButton.vue +2 -2
  57. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -2
  58. package/dist/runtime/components/prose/Kbd.d.vue.ts +2 -1
  59. package/dist/runtime/components/prose/Kbd.vue.d.ts +2 -1
  60. package/dist/runtime/components/prose/Pre.vue +0 -1
  61. package/dist/runtime/composables/index.d.ts +1 -0
  62. package/dist/runtime/composables/index.js +1 -0
  63. package/dist/runtime/composables/useComponentProps.d.ts +3 -3
  64. package/dist/runtime/composables/useTour.d.ts +80 -0
  65. package/dist/runtime/composables/useTour.js +102 -0
  66. package/dist/runtime/index.css +1 -1
  67. package/dist/runtime/keyframes.css +1 -1
  68. package/dist/runtime/locale/index.d.ts +1 -0
  69. package/dist/runtime/locale/index.js +1 -0
  70. package/dist/runtime/locale/lv.d.ts +3 -0
  71. package/dist/runtime/locale/lv.js +152 -0
  72. package/dist/runtime/plugins/colors.js +5 -4
  73. package/dist/runtime/types/tv.d.ts +15 -3
  74. package/dist/runtime/utils/tv.d.ts +41 -1
  75. package/dist/runtime/utils/tv.js +91 -2
  76. package/dist/runtime/vue/stubs/base.d.ts +1 -1
  77. package/dist/runtime/vue/stubs/base.js +1 -1
  78. package/dist/shared/{ui.C-lVg1QQ.mjs → ui.BfHSFiIO.mjs} +375 -232
  79. package/dist/unplugin.d.mts +8 -0
  80. package/dist/unplugin.mjs +2 -2
  81. package/dist/vite.mjs +1 -1
  82. package/package.json +57 -40
@@ -84,6 +84,7 @@ const defaultOptions = {
84
84
  theme: {
85
85
  colors: void 0,
86
86
  transitions: true,
87
+ unstyled: false,
87
88
  defaultVariants: {
88
89
  color: void 0,
89
90
  size: void 0
@@ -131,6 +132,30 @@ function applyPrefixToObject(obj, prefix, context = []) {
131
132
  }
132
133
  return obj;
133
134
  }
135
+ function applyUnstyled(result, unstyled) {
136
+ if (!result || !unstyled) {
137
+ return result;
138
+ }
139
+ const blank = (value) => value && typeof value === "object" && !Array.isArray(value) ? Object.fromEntries(Object.keys(value).map((slot) => [slot, ""])) : "";
140
+ if (result.slots) {
141
+ result.slots = Object.fromEntries(Object.keys(result.slots).map((slot) => [slot, ""]));
142
+ }
143
+ if (result.variants) {
144
+ result.variants = Object.fromEntries(
145
+ Object.entries(result.variants).map(([name, group]) => [
146
+ name,
147
+ Object.fromEntries(Object.entries(group).map(([key, value]) => [key, blank(value)]))
148
+ ])
149
+ );
150
+ }
151
+ if (result.compoundVariants) {
152
+ result.compoundVariants = result.compoundVariants.map((entry) => {
153
+ const { class: cls, ...selectors } = entry;
154
+ return { ...selectors, class: blank(cls) };
155
+ });
156
+ }
157
+ return result;
158
+ }
134
159
  function applyDefaultVariants(result, defaultVariants) {
135
160
  if (!result || !defaultVariants) {
136
161
  return result;
@@ -228,8 +253,8 @@ const accordion$1 = {
228
253
  root: "w-full",
229
254
  item: "border-b border-default last:border-b-0",
230
255
  header: "flex",
231
- trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 focus-visible:outline-primary min-w-0",
232
- content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none",
256
+ trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 outline-primary/25 focus-visible:outline-3 min-w-0 rounded-md",
257
+ content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none",
233
258
  body: "text-sm pb-3.5",
234
259
  leadingIcon: "shrink-0 size-5",
235
260
  trailingIcon: "shrink-0 size-5 ms-auto group-data-[state=open]:rotate-180 transition-transform duration-200",
@@ -635,7 +660,9 @@ const banner = (options) => ({
635
660
  }
636
661
  },
637
662
  to: {
638
- true: ""
663
+ true: {
664
+ root: "outline-(--ui-bg)/25 -outline-offset-3 has-[>a:focus-visible]:outline-3"
665
+ }
639
666
  }
640
667
  },
641
668
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
@@ -712,9 +739,9 @@ const blogPost = (options) => ({
712
739
  },
713
740
  to: {
714
741
  true: {
715
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"],
742
+ root: ["outline-primary/25 has-[>a:focus-visible]:outline-3", options.theme.transitions && "transition"],
716
743
  image: "transform transition-transform duration-200 group-hover/blog-post:scale-110",
717
- avatar: "transform transition-transform duration-200 hover:scale-115 focus-visible:outline-primary"
744
+ avatar: "inline-flex transform transition-transform duration-200 hover:scale-115 rounded-full outline-primary/25 focus-visible:outline-3"
718
745
  }
719
746
  },
720
747
  image: {
@@ -739,6 +766,12 @@ const blogPost = (options) => ({
739
766
  class: {
740
767
  root: "hover:bg-elevated hover:ring-accented"
741
768
  }
769
+ }, {
770
+ variant: ["outline", "subtle"],
771
+ to: true,
772
+ class: {
773
+ root: "has-[>a:focus-visible]:ring-primary"
774
+ }
742
775
  }, {
743
776
  variant: "ghost",
744
777
  to: true,
@@ -788,7 +821,7 @@ const breadcrumb = (options) => ({
788
821
  root: "relative min-w-0",
789
822
  list: "flex items-center gap-1.5",
790
823
  item: "flex min-w-0",
791
- link: "group relative flex items-center gap-1.5 text-sm min-w-0",
824
+ link: "group relative flex items-center gap-1.5 text-sm min-w-0 rounded-md",
792
825
  linkLeadingIcon: "shrink-0 size-5",
793
826
  linkLeadingAvatar: "shrink-0",
794
827
  linkLeadingAvatarSize: "2xs",
@@ -814,8 +847,8 @@ const breadcrumb = (options) => ({
814
847
  true: ""
815
848
  },
816
849
  color: {
817
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { link: `focus-visible:outline-${color}` }])),
818
- neutral: { link: "focus-visible:outline-inverted" }
850
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { link: `outline-${color}/25 focus-visible:outline-3` }])),
851
+ neutral: { link: "outline-inverted/25 focus-visible:outline-3" }
819
852
  }
820
853
  },
821
854
  compoundVariants: [{
@@ -928,51 +961,51 @@ const button = (options) => ({
928
961
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
929
962
  color,
930
963
  variant: "solid",
931
- class: `text-inverted bg-${color} hover:bg-${color}/75 active:bg-${color}/75 disabled:bg-${color} aria-disabled:bg-${color} focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
964
+ class: `text-inverted bg-${color} hover:bg-${color}/75 active:bg-${color}/75 disabled:bg-${color} aria-disabled:bg-${color} outline-${color}/25 focus-visible:outline-3`
932
965
  })), ...(options.theme.colors || []).map((color) => ({
933
966
  color,
934
967
  variant: "outline",
935
- class: `ring ring-inset ring-${color}/50 text-${color} hover:bg-${color}/10 active:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
968
+ class: `ring ring-inset ring-${color}/50 text-${color} hover:bg-${color}/10 active:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
936
969
  })), ...(options.theme.colors || []).map((color) => ({
937
970
  color,
938
971
  variant: "soft",
939
- class: `text-${color} bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 focus:outline-none focus-visible:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10`
972
+ class: `text-${color} bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 outline-${color}/25 focus-visible:outline-3 disabled:bg-${color}/10 aria-disabled:bg-${color}/10`
940
973
  })), ...(options.theme.colors || []).map((color) => ({
941
974
  color,
942
975
  variant: "subtle",
943
- class: `text-${color} ring ring-inset ring-${color}/25 bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
976
+ class: `text-${color} ring ring-inset ring-${color}/25 bg-${color}/10 hover:bg-${color}/15 active:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10 outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
944
977
  })), ...(options.theme.colors || []).map((color) => ({
945
978
  color,
946
979
  variant: "ghost",
947
- class: `text-${color} hover:bg-${color}/10 active:bg-${color}/10 focus:outline-none focus-visible:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
980
+ class: `text-${color} hover:bg-${color}/10 active:bg-${color}/10 outline-${color}/25 focus-visible:outline-3 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
948
981
  })), ...(options.theme.colors || []).map((color) => ({
949
982
  color,
950
983
  variant: "link",
951
- class: `text-${color} hover:text-${color}/75 active:text-${color}/75 disabled:text-${color} aria-disabled:text-${color} focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
984
+ class: `text-${color} hover:text-${color}/75 active:text-${color}/75 disabled:text-${color} aria-disabled:text-${color} outline-${color}/25 focus-visible:outline-3`
952
985
  })), {
953
986
  color: "neutral",
954
987
  variant: "solid",
955
- class: "text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
988
+ class: "text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted outline-inverted/25 focus-visible:outline-3"
956
989
  }, {
957
990
  color: "neutral",
958
991
  variant: "outline",
959
- class: "ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
992
+ class: "ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
960
993
  }, {
961
994
  color: "neutral",
962
995
  variant: "soft",
963
- class: "text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated"
996
+ class: "text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 outline-inverted/25 focus-visible:outline-3 disabled:bg-elevated aria-disabled:bg-elevated"
964
997
  }, {
965
998
  color: "neutral",
966
999
  variant: "subtle",
967
- class: "ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
1000
+ class: "ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
968
1001
  }, {
969
1002
  color: "neutral",
970
1003
  variant: "ghost",
971
- class: "text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
1004
+ class: "text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
972
1005
  }, {
973
1006
  color: "neutral",
974
1007
  variant: "link",
975
- class: "text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted"
1008
+ class: "text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted outline-inverted/25 focus-visible:outline-3"
976
1009
  }, {
977
1010
  size: "xs",
978
1011
  square: true,
@@ -1014,31 +1047,46 @@ const button = (options) => ({
1014
1047
  }
1015
1048
  });
1016
1049
 
1050
+ const daySizes = {
1051
+ xs: "size-7",
1052
+ sm: "size-7",
1053
+ md: "size-8",
1054
+ lg: "size-9 text-md",
1055
+ xl: "size-10 text-lg"
1056
+ };
1057
+ const pickerSizes = {
1058
+ xs: "h-7 px-2",
1059
+ sm: "h-7 px-2",
1060
+ md: "h-8 px-3",
1061
+ lg: "h-9 px-4 text-md",
1062
+ xl: "h-10 px-5 text-lg"
1063
+ };
1017
1064
  const calendar = (options) => ({
1018
1065
  slots: {
1019
1066
  root: "",
1020
1067
  header: "flex items-center justify-between",
1021
1068
  body: "flex flex-col space-y-4 pt-4 sm:flex-row sm:space-x-4 sm:space-y-0",
1022
- heading: "text-center font-medium truncate mx-auto",
1069
+ heading: "flex-1 min-w-0 text-center",
1070
+ headingLabel: "font-medium block truncate p-1.5",
1023
1071
  grid: "w-full border-collapse select-none space-y-1 focus:outline-none",
1024
- gridRow: "grid grid-cols-7 place-items-center",
1072
+ gridRow: "grid",
1025
1073
  gridWeekDaysRow: "mb-1 grid w-full grid-cols-7",
1026
1074
  gridBody: "grid",
1027
1075
  headCell: "rounded-md",
1028
1076
  headCellWeek: "rounded-md text-muted",
1029
1077
  cell: "relative text-center",
1030
- cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold data-[outside-view]:text-muted", options.theme.transitions && "transition"],
1078
+ cellTrigger: ["m-0.5 relative flex items-center justify-center whitespace-nowrap focus-visible:outline-3 data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-today:font-semibold", options.theme.transitions && "transition"],
1031
1079
  cellWeek: "relative text-center text-muted"
1032
1080
  },
1033
1081
  variants: {
1034
1082
  color: {
1035
1083
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
1036
1084
  headCell: `text-${color}`,
1037
- cellTrigger: `focus-visible:ring-${color}`
1085
+ cellTrigger: `outline-${color}/25`
1038
1086
  }])),
1039
1087
  neutral: {
1040
1088
  headCell: "text-highlighted",
1041
- cellTrigger: "focus-visible:ring-inverted"
1089
+ cellTrigger: "outline-inverted/25"
1042
1090
  }
1043
1091
  },
1044
1092
  variant: {
@@ -1049,103 +1097,137 @@ const calendar = (options) => ({
1049
1097
  },
1050
1098
  size: {
1051
1099
  xs: {
1052
- heading: "text-xs",
1100
+ headingLabel: "text-xs",
1053
1101
  cell: "text-xs",
1054
1102
  cellWeek: "text-xs",
1055
1103
  headCell: "text-[10px]",
1056
1104
  headCellWeek: "text-[10px]",
1057
- cellTrigger: "size-7",
1058
1105
  body: "space-y-2 pt-2"
1059
1106
  },
1060
1107
  sm: {
1061
- heading: "text-xs",
1108
+ headingLabel: "text-xs",
1062
1109
  headCell: "text-xs",
1063
1110
  headCellWeek: "text-xs",
1064
1111
  cellWeek: "text-xs",
1065
- cell: "text-xs",
1066
- cellTrigger: "size-7"
1112
+ cell: "text-xs"
1067
1113
  },
1068
1114
  md: {
1069
- heading: "text-sm",
1115
+ headingLabel: "text-sm",
1070
1116
  headCell: "text-xs",
1071
1117
  headCellWeek: "text-xs",
1072
1118
  cellWeek: "text-xs",
1073
- cell: "text-sm",
1074
- cellTrigger: "size-8"
1119
+ cell: "text-sm"
1075
1120
  },
1076
1121
  lg: {
1077
- heading: "text-md",
1122
+ headingLabel: "text-md",
1078
1123
  headCell: "text-md",
1079
- headCellWeek: "text-md",
1080
- cellTrigger: "size-9 text-md"
1124
+ headCellWeek: "text-md"
1081
1125
  },
1082
1126
  xl: {
1083
- heading: "text-lg",
1127
+ headingLabel: "text-lg",
1084
1128
  headCell: "text-lg",
1085
- headCellWeek: "text-lg",
1086
- cellTrigger: "size-10 text-lg"
1129
+ headCellWeek: "text-lg"
1130
+ }
1131
+ },
1132
+ view: {
1133
+ day: {
1134
+ gridRow: "grid-cols-7 place-items-center",
1135
+ cellTrigger: "rounded-full data-outside-view:text-muted"
1136
+ },
1137
+ month: {
1138
+ gridRow: "grid-cols-4",
1139
+ cellTrigger: "rounded-md"
1140
+ },
1141
+ year: {
1142
+ gridRow: "grid-cols-4",
1143
+ cellTrigger: "rounded-md"
1087
1144
  }
1088
1145
  },
1089
1146
  weekNumbers: {
1090
- true: {
1147
+ true: ""
1148
+ }
1149
+ },
1150
+ compoundVariants: [
1151
+ ...(options.theme.colors || []).map((color) => ({
1152
+ color,
1153
+ variant: "solid",
1154
+ class: {
1155
+ cellTrigger: `data-selected:bg-${color} data-selected:text-inverted data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1156
+ }
1157
+ })),
1158
+ ...(options.theme.colors || []).map((color) => ({
1159
+ color,
1160
+ variant: "outline",
1161
+ class: {
1162
+ cellTrigger: `data-selected:ring data-selected:ring-inset data-selected:ring-${color}/50 data-selected:text-${color} data-selected:focus-visible:ring-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/10 hover:not-data-selected:bg-${color}/10`
1163
+ }
1164
+ })),
1165
+ ...(options.theme.colors || []).map((color) => ({
1166
+ color,
1167
+ variant: "soft",
1168
+ class: {
1169
+ cellTrigger: `data-selected:bg-${color}/10 data-selected:text-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1170
+ }
1171
+ })),
1172
+ ...(options.theme.colors || []).map((color) => ({
1173
+ color,
1174
+ variant: "subtle",
1175
+ class: {
1176
+ cellTrigger: `data-selected:bg-${color}/10 data-selected:text-${color} data-selected:ring data-selected:ring-inset data-selected:ring-${color}/25 data-selected:focus-visible:ring-${color} data-today:not-data-selected:text-${color} data-highlighted:bg-${color}/20 hover:not-data-selected:bg-${color}/20`
1177
+ }
1178
+ })),
1179
+ {
1180
+ color: "neutral",
1181
+ variant: "solid",
1182
+ class: {
1183
+ cellTrigger: "data-selected:bg-inverted data-selected:text-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1184
+ }
1185
+ },
1186
+ {
1187
+ color: "neutral",
1188
+ variant: "outline",
1189
+ class: {
1190
+ cellTrigger: "data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:text-default data-selected:bg-default data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/10 hover:not-data-selected:bg-inverted/10"
1191
+ }
1192
+ },
1193
+ {
1194
+ color: "neutral",
1195
+ variant: "soft",
1196
+ class: {
1197
+ cellTrigger: "data-selected:bg-elevated data-selected:text-default data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1198
+ }
1199
+ },
1200
+ {
1201
+ color: "neutral",
1202
+ variant: "subtle",
1203
+ class: {
1204
+ cellTrigger: "data-selected:bg-elevated data-selected:text-default data-selected:ring data-selected:ring-inset data-selected:ring-accented data-selected:focus-visible:ring-inverted data-today:not-data-selected:text-highlighted data-highlighted:bg-inverted/20 hover:not-data-selected:bg-inverted/10"
1205
+ }
1206
+ },
1207
+ ...Object.entries(daySizes).map(([size, cellTrigger]) => ({
1208
+ size,
1209
+ view: "day",
1210
+ class: { cellTrigger }
1211
+ })),
1212
+ ...Object.entries(pickerSizes).map(([size, cellTrigger]) => ({
1213
+ size,
1214
+ view: ["month", "year"],
1215
+ class: { cellTrigger }
1216
+ })),
1217
+ {
1218
+ view: "day",
1219
+ weekNumbers: true,
1220
+ class: {
1091
1221
  gridRow: "grid-cols-8",
1092
1222
  gridWeekDaysRow: "grid-cols-8 [&>*:first-child]:col-start-2"
1093
1223
  }
1094
1224
  }
1095
- },
1096
- compoundVariants: [...(options.theme.colors || []).map((color) => ({
1097
- color,
1098
- variant: "solid",
1099
- class: {
1100
- cellTrigger: `data-[selected]:bg-${color} data-[selected]:text-inverted data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1101
- }
1102
- })), ...(options.theme.colors || []).map((color) => ({
1103
- color,
1104
- variant: "outline",
1105
- class: {
1106
- cellTrigger: `data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${color}/50 data-[selected]:text-${color} data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/10 hover:not-data-[selected]:bg-${color}/10`
1107
- }
1108
- })), ...(options.theme.colors || []).map((color) => ({
1109
- color,
1110
- variant: "soft",
1111
- class: {
1112
- cellTrigger: `data-[selected]:bg-${color}/10 data-[selected]:text-${color} data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1113
- }
1114
- })), ...(options.theme.colors || []).map((color) => ({
1115
- color,
1116
- variant: "subtle",
1117
- class: {
1118
- cellTrigger: `data-[selected]:bg-${color}/10 data-[selected]:text-${color} data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-${color}/25 data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
1119
- }
1120
- })), {
1121
- color: "neutral",
1122
- variant: "solid",
1123
- class: {
1124
- cellTrigger: "data-[selected]:bg-inverted data-[selected]:text-inverted data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1125
- }
1126
- }, {
1127
- color: "neutral",
1128
- variant: "outline",
1129
- class: {
1130
- cellTrigger: "data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-[selected]:text-default data-[selected]:bg-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/10 hover:not-data-[selected]:bg-inverted/10"
1131
- }
1132
- }, {
1133
- color: "neutral",
1134
- variant: "soft",
1135
- class: {
1136
- cellTrigger: "data-[selected]:bg-elevated data-[selected]:text-default data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1137
- }
1138
- }, {
1139
- color: "neutral",
1140
- variant: "subtle",
1141
- class: {
1142
- cellTrigger: "data-[selected]:bg-elevated data-[selected]:text-default data-[selected]:ring data-[selected]:ring-inset data-[selected]:ring-accented data-today:not-data-[selected]:text-highlighted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
1143
- }
1144
- }],
1225
+ ],
1145
1226
  defaultVariants: {
1146
1227
  size: "md",
1147
1228
  color: "primary",
1148
- variant: "solid"
1229
+ variant: "solid",
1230
+ view: "day"
1149
1231
  }
1150
1232
  });
1151
1233
 
@@ -1192,7 +1274,7 @@ const carousel = (options) => ({
1192
1274
  prev: "absolute rounded-full",
1193
1275
  next: "absolute rounded-full",
1194
1276
  dots: "absolute inset-x-0 -bottom-7 flex flex-wrap items-center justify-center gap-3",
1195
- dot: ["cursor-pointer size-3 bg-accented rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-primary", options.theme.transitions && "transition"]
1277
+ dot: ["cursor-pointer size-3 bg-accented rounded-full outline-inverted/25 focus-visible:outline-3", options.theme.transitions && "transition"]
1196
1278
  },
1197
1279
  variants: {
1198
1280
  orientation: {
@@ -1248,7 +1330,7 @@ const changelogVersion = (options) => ({
1248
1330
  },
1249
1331
  to: {
1250
1332
  true: {
1251
- title: ["has-focus-visible:ring-2 has-focus-visible:ring-primary rounded-xs", options.theme.transitions && "transition"],
1333
+ title: ["outline-primary/25 has-focus-visible:outline-3 rounded-xs", options.theme.transitions && "transition"],
1252
1334
  image: "transform transition-transform duration-200 group-hover/changelog-version-image:scale-105 group-has-focus-visible/changelog-version-image:scale-105"
1253
1335
  }
1254
1336
  },
@@ -1476,14 +1558,14 @@ const chatPromptSubmit = {
1476
1558
  const chatReasoning = (options) => ({
1477
1559
  slots: {
1478
1560
  root: "",
1479
- trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default focus-visible:outline-offset-2 focus-visible:outline-primary min-w-0", options.theme.transitions && "transition-colors"],
1561
+ trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default rounded-sm outline-primary/25 focus-visible:outline-3 min-w-0", options.theme.transitions && "transition-colors"],
1480
1562
  leading: "relative size-4 shrink-0",
1481
1563
  leadingIcon: "size-4 shrink-0",
1482
1564
  chevronIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1483
1565
  label: "truncate",
1484
1566
  trailingIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1485
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden",
1486
- body: "max-h-[200px] pt-2 overflow-y-auto text-sm text-dimmed whitespace-pre-wrap"
1567
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden rounded-sm outline-primary/25 has-focus-visible:outline-3",
1568
+ body: "max-h-[200px] pt-2 overflow-y-auto text-sm text-dimmed whitespace-pre-wrap focus:outline-none"
1487
1569
  },
1488
1570
  variants: {
1489
1571
  chevron: {
@@ -1508,26 +1590,27 @@ const chatShimmer = {
1508
1590
  const chatTool = (options) => ({
1509
1591
  slots: {
1510
1592
  root: "",
1511
- trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default focus-visible:outline-offset-2 focus-visible:outline-primary min-w-0", options.theme.transitions && "transition-colors"],
1593
+ trigger: ["group flex w-full items-center gap-1.5 text-muted text-sm disabled:cursor-default disabled:hover:text-muted hover:text-default min-w-0", options.theme.transitions && "transition-colors"],
1512
1594
  leading: "relative size-4 shrink-0",
1513
1595
  leadingIcon: "size-4 shrink-0",
1514
1596
  chevronIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1515
1597
  label: "truncate",
1516
1598
  suffix: "text-dimmed ms-1",
1517
1599
  trailingIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1518
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden",
1600
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden",
1519
1601
  body: "text-sm text-dimmed whitespace-pre-wrap"
1520
1602
  },
1521
1603
  variants: {
1522
1604
  variant: {
1523
1605
  inline: {
1606
+ trigger: "rounded-sm outline-primary/25 focus-visible:outline-3",
1524
1607
  body: "pt-2"
1525
1608
  },
1526
1609
  card: {
1527
- root: "rounded-md ring ring-default overflow-hidden",
1528
- trigger: "px-2 py-1",
1610
+ root: "rounded-md ring ring-default overflow-hidden outline-primary/25 has-focus-visible:outline-3 has-focus-visible:ring-primary",
1611
+ trigger: "px-2 py-1 focus:outline-none",
1529
1612
  trailingIcon: "ms-auto",
1530
- body: "border-t border-default p-2 max-h-[200px] overflow-y-auto"
1613
+ body: "border-t border-default p-2 max-h-[200px] overflow-y-auto focus:outline-none"
1531
1614
  }
1532
1615
  },
1533
1616
  chevron: {
@@ -1554,7 +1637,7 @@ const checkbox = (options) => ({
1554
1637
  slots: {
1555
1638
  root: "relative flex items-start",
1556
1639
  container: "flex items-center",
1557
- base: "rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
1640
+ base: "rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",
1558
1641
  indicator: "flex items-center justify-center size-full text-inverted",
1559
1642
  icon: "shrink-0 size-full",
1560
1643
  wrapper: "w-full",
@@ -1564,11 +1647,11 @@ const checkbox = (options) => ({
1564
1647
  variants: {
1565
1648
  color: {
1566
1649
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
1567
- base: `focus-visible:outline-${color}`,
1650
+ base: `outline-${color}/25 focus-visible:ring-${color}`,
1568
1651
  indicator: `bg-${color}`
1569
1652
  }])),
1570
1653
  neutral: {
1571
- base: "focus-visible:outline-inverted",
1654
+ base: "outline-inverted/25 focus-visible:ring-inverted",
1572
1655
  indicator: "bg-inverted"
1573
1656
  }
1574
1657
  },
@@ -1861,7 +1944,7 @@ const chip = (options) => ({
1861
1944
  const collapsible$1 = {
1862
1945
  slots: {
1863
1946
  root: "",
1864
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden"
1947
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden"
1865
1948
  }
1866
1949
  };
1867
1950
 
@@ -2797,7 +2880,7 @@ const error = {
2797
2880
  const fileUpload = (options) => ({
2798
2881
  slots: {
2799
2882
  root: "relative flex flex-col",
2800
- base: ["w-full flex-1 bg-default border border-default flex flex-col gap-2 items-stretch justify-center rounded-lg focus-visible:outline-2", options.theme.transitions && "transition-[background]"],
2883
+ base: ["w-full flex-1 bg-default border border-default flex flex-col gap-2 items-stretch justify-center rounded-lg focus-visible:outline-3", options.theme.transitions && "transition-[background]"],
2801
2884
  wrapper: "flex flex-col items-center justify-center text-center",
2802
2885
  icon: "shrink-0",
2803
2886
  avatar: "shrink-0",
@@ -2889,14 +2972,14 @@ const fileUpload = (options) => ({
2889
2972
  },
2890
2973
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
2891
2974
  color,
2892
- class: `focus-visible:outline-${color}`
2975
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:border-${color}`
2893
2976
  })), ...(options.theme.colors || []).map((color) => ({
2894
2977
  color,
2895
2978
  highlight: true,
2896
2979
  class: `border-${color}`
2897
2980
  })), {
2898
2981
  color: "neutral",
2899
- class: "focus-visible:outline-inverted"
2982
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:border-inverted"
2900
2983
  }, {
2901
2984
  color: "neutral",
2902
2985
  highlight: true,
@@ -3007,7 +3090,7 @@ const footerColumns = (options) => ({
3007
3090
  label: "text-sm font-semibold",
3008
3091
  list: "mt-6 space-y-4",
3009
3092
  item: "relative",
3010
- link: "group text-sm flex items-center gap-1.5 focus-visible:outline-primary",
3093
+ link: "group text-sm flex items-center gap-1.5 rounded-sm outline-primary/25 focus-visible:outline-3",
3011
3094
  linkLeadingIcon: "size-5 shrink-0",
3012
3095
  linkLabel: "truncate",
3013
3096
  linkLabelExternalIcon: "size-3 absolute top-0 text-dimmed inline-block"
@@ -3096,7 +3179,7 @@ const header = {
3096
3179
  const input = (options) => ({
3097
3180
  slots: {
3098
3181
  root: "relative inline-flex items-center",
3099
- base: ["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3182
+ base: ["w-full rounded-md border-0 appearance-none placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3100
3183
  leading: "absolute inset-y-0 start-0 flex items-center",
3101
3184
  leadingIcon: "shrink-0 text-dimmed",
3102
3185
  leadingAvatar: "shrink-0",
@@ -3153,7 +3236,7 @@ const input = (options) => ({
3153
3236
  soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
3154
3237
  subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
3155
3238
  ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
3156
- none: "text-highlighted bg-transparent"
3239
+ none: "text-highlighted bg-transparent focus:outline-none"
3157
3240
  },
3158
3241
  color: {
3159
3242
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -3181,7 +3264,11 @@ const input = (options) => ({
3181
3264
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
3182
3265
  color,
3183
3266
  variant: ["outline", "subtle"],
3184
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
3267
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
3268
+ })), ...(options.theme.colors || []).map((color) => ({
3269
+ color,
3270
+ variant: ["soft", "ghost"],
3271
+ class: `outline-${color}/25 focus-visible:outline-3`
3185
3272
  })), ...(options.theme.colors || []).map((color) => ({
3186
3273
  color,
3187
3274
  highlight: true,
@@ -3189,7 +3276,11 @@ const input = (options) => ({
3189
3276
  })), {
3190
3277
  color: "neutral",
3191
3278
  variant: ["outline", "subtle"],
3192
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
3279
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
3280
+ }, {
3281
+ color: "neutral",
3282
+ variant: ["soft", "ghost"],
3283
+ class: "outline-inverted/25 focus-visible:outline-3"
3193
3284
  }, {
3194
3285
  color: "neutral",
3195
3286
  highlight: true,
@@ -3302,9 +3393,15 @@ const inputDate = (options) => {
3302
3393
  base: (prev) => [prev, "gap-0.75"],
3303
3394
  segment: "data-[segment=day]:w-10 data-[segment=month]:w-10 data-[segment=year]:w-12"
3304
3395
  }
3305
- }
3396
+ },
3397
+ variant: (prev) => Object.fromEntries(
3398
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus$2(value)])
3399
+ )
3306
3400
  },
3307
- compoundVariants: [{
3401
+ compoundVariants: (prev) => [...prev.map((item) => ({
3402
+ ...item,
3403
+ class: typeof item.class === "string" ? replaceFocus$2(item.class) : item.class
3404
+ })), {
3308
3405
  variant: "outline",
3309
3406
  class: {
3310
3407
  segment: "focus:bg-elevated"
@@ -3332,6 +3429,9 @@ const inputDate = (options) => {
3332
3429
  }]
3333
3430
  }, input(options));
3334
3431
  };
3432
+ function replaceFocus$2(str) {
3433
+ return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3434
+ }
3335
3435
 
3336
3436
  const inputMenu = (options) => {
3337
3437
  return defuFn({
@@ -3377,7 +3477,7 @@ const inputMenu = (options) => {
3377
3477
  root: "flex-wrap"
3378
3478
  },
3379
3479
  false: {
3380
- base: "w-full border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
3480
+ base: "w-full border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75"
3381
3481
  }
3382
3482
  },
3383
3483
  size: {
@@ -3446,21 +3546,21 @@ const inputMenu = (options) => {
3446
3546
  compoundVariants: [{
3447
3547
  variant: "soft",
3448
3548
  multiple: true,
3449
- class: "has-focus:bg-elevated"
3549
+ class: "has-focus:bg-elevated has-focus-visible:outline-3"
3450
3550
  }, {
3451
3551
  variant: "ghost",
3452
3552
  multiple: true,
3453
- class: "has-focus:bg-elevated"
3553
+ class: "has-focus:bg-elevated has-focus-visible:outline-3"
3454
3554
  }, ...(options.theme.colors || []).map((color) => ({
3455
3555
  color,
3456
3556
  multiple: true,
3457
3557
  variant: ["outline", "subtle"],
3458
- class: `has-focus-visible:ring-2 has-focus-visible:ring-${color}`
3558
+ class: `has-focus-visible:outline-3 has-focus-visible:ring-${color}`
3459
3559
  })), {
3460
3560
  color: "neutral",
3461
3561
  multiple: true,
3462
3562
  variant: ["outline", "subtle"],
3463
- class: "has-focus-visible:ring-2 has-focus-visible:ring-inverted"
3563
+ class: "has-focus-visible:outline-3 has-focus-visible:ring-inverted"
3464
3564
  }]
3465
3565
  }, input(options));
3466
3566
  };
@@ -3470,7 +3570,7 @@ const inputNumber = (options) => {
3470
3570
  return {
3471
3571
  slots: {
3472
3572
  root: "relative inline-flex items-center",
3473
- base: ["w-full rounded-md border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3573
+ base: ["w-full rounded-md border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3474
3574
  increment: "absolute flex items-center",
3475
3575
  decrement: "absolute flex items-center"
3476
3576
  },
@@ -3523,7 +3623,11 @@ const inputNumber = (options) => {
3523
3623
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
3524
3624
  color,
3525
3625
  variant: ["outline", "subtle"],
3526
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
3626
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
3627
+ })), ...(options.theme.colors || []).map((color) => ({
3628
+ color,
3629
+ variant: ["soft", "ghost"],
3630
+ class: `outline-${color}/25 focus-visible:outline-3`
3527
3631
  })), ...(options.theme.colors || []).map((color) => ({
3528
3632
  color,
3529
3633
  highlight: true,
@@ -3531,7 +3635,11 @@ const inputNumber = (options) => {
3531
3635
  })), {
3532
3636
  color: "neutral",
3533
3637
  variant: ["outline", "subtle"],
3534
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
3638
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
3639
+ }, {
3640
+ color: "neutral",
3641
+ variant: ["soft", "ghost"],
3642
+ class: "outline-inverted/25 focus-visible:outline-3"
3535
3643
  }, {
3536
3644
  color: "neutral",
3537
3645
  highlight: true,
@@ -3641,16 +3749,16 @@ const inputTags = (options) => {
3641
3749
  }
3642
3750
  },
3643
3751
  variant: (prev) => Object.fromEntries(
3644
- Object.entries(prev).map(([key, value]) => [key, replaceFocus$2(value)])
3752
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus$1(value)])
3645
3753
  )
3646
3754
  },
3647
3755
  compoundVariants: (prev) => prev.map((item) => ({
3648
3756
  ...item,
3649
- class: typeof item.class === "string" ? replaceFocus$2(item.class) : item.class
3757
+ class: typeof item.class === "string" ? replaceFocus$1(item.class) : item.class
3650
3758
  }))
3651
3759
  }, input(options));
3652
3760
  };
3653
- function replaceFocus$2(str) {
3761
+ function replaceFocus$1(str) {
3654
3762
  return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3655
3763
  }
3656
3764
 
@@ -3685,9 +3793,15 @@ const inputTime = (options) => {
3685
3793
  base: (prev) => [prev, "gap-0.75"],
3686
3794
  segment: "not-data-[segment=literal]:w-10"
3687
3795
  }
3688
- }
3796
+ },
3797
+ variant: (prev) => Object.fromEntries(
3798
+ Object.entries(prev).map(([key, value]) => [key, replaceFocus(value)])
3799
+ )
3689
3800
  },
3690
- compoundVariants: [{
3801
+ compoundVariants: (prev) => [...prev.map((item) => ({
3802
+ ...item,
3803
+ class: typeof item.class === "string" ? replaceFocus(item.class) : item.class
3804
+ })), {
3691
3805
  variant: "outline",
3692
3806
  class: {
3693
3807
  segment: "focus:bg-elevated"
@@ -3715,6 +3829,9 @@ const inputTime = (options) => {
3715
3829
  }]
3716
3830
  }, input(options));
3717
3831
  };
3832
+ function replaceFocus(str) {
3833
+ return str.replace(/focus:/g, "has-focus:").replace(/focus-visible:/g, "has-focus-visible:");
3834
+ }
3718
3835
 
3719
3836
  const kbd$1 = (options) => ({
3720
3837
  base: "inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase",
@@ -3776,7 +3893,7 @@ const kbd$1 = (options) => ({
3776
3893
  });
3777
3894
 
3778
3895
  const link = (options) => ({
3779
- base: "focus-visible:outline-primary",
3896
+ base: "outline-primary/25 focus-visible:outline-3 rounded-md",
3780
3897
  variants: {
3781
3898
  active: {
3782
3899
  true: "text-primary",
@@ -3881,8 +3998,12 @@ const listbox = (options) => ({
3881
3998
  }
3882
3999
  },
3883
4000
  color: {
3884
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
3885
- neutral: ""
4001
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
4002
+ root: `outline-${color}/25 has-focus-visible:outline-3 has-focus-visible:ring-${color}`
4003
+ }])),
4004
+ neutral: {
4005
+ root: "outline-inverted/25 has-focus-visible:outline-3 has-focus-visible:ring-inverted"
4006
+ }
3886
4007
  },
3887
4008
  virtualize: {
3888
4009
  true: {
@@ -3915,6 +4036,7 @@ const listbox = (options) => ({
3915
4036
  }
3916
4037
  }],
3917
4038
  defaultVariants: {
4039
+ color: "primary",
3918
4040
  size: "md"
3919
4041
  }
3920
4042
  });
@@ -4044,7 +4166,7 @@ const navigationMenu = (options) => ({
4044
4166
  list: "isolate min-w-0",
4045
4167
  label: "w-full flex items-center gap-1.5 font-semibold text-xs/5 text-highlighted px-2.5 py-1.5",
4046
4168
  item: "min-w-0",
4047
- link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
4169
+ link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
4048
4170
  linkLeadingIcon: "shrink-0 size-5",
4049
4171
  linkLeadingAvatar: "shrink-0",
4050
4172
  linkLeadingAvatarSize: "2xs",
@@ -4058,7 +4180,7 @@ const navigationMenu = (options) => ({
4058
4180
  childList: "isolate",
4059
4181
  childLabel: "text-xs text-highlighted",
4060
4182
  childItem: "",
4061
- childLink: "group relative size-full flex items-start text-start text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
4183
+ childLink: "group relative size-full flex items-start text-start text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
4062
4184
  childLinkWrapper: "min-w-0",
4063
4185
  childLinkIcon: "size-5 shrink-0",
4064
4186
  childLinkLabel: "truncate",
@@ -4074,12 +4196,12 @@ const navigationMenu = (options) => ({
4074
4196
  variants: {
4075
4197
  color: {
4076
4198
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
4077
- link: `focus-visible:before:ring-${color}`,
4078
- childLink: `focus-visible:before:ring-${color}`
4199
+ link: `before:outline-${color}/25`,
4200
+ childLink: `before:outline-${color}/25`
4079
4201
  }])),
4080
4202
  neutral: {
4081
- link: "focus-visible:before:ring-inverted",
4082
- childLink: "focus-visible:before:ring-inverted"
4203
+ link: "before:outline-inverted/25",
4204
+ childLink: "before:outline-inverted/25"
4083
4205
  }
4084
4206
  },
4085
4207
  highlightColor: {
@@ -4163,7 +4285,7 @@ const navigationMenu = (options) => ({
4163
4285
  class: {
4164
4286
  childList: "ms-5 border-s border-default",
4165
4287
  childItem: "ps-1.5 -ms-px",
4166
- content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden"
4288
+ content: "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden"
4167
4289
  }
4168
4290
  }, {
4169
4291
  orientation: "vertical",
@@ -4344,7 +4466,7 @@ const pageAnchors = (options) => ({
4344
4466
  root: "",
4345
4467
  list: "",
4346
4468
  item: "relative",
4347
- link: "group text-sm flex items-center gap-1.5 py-1 focus-visible:outline-primary",
4469
+ link: "group text-sm flex items-center gap-1.5 py-1 rounded-sm outline-primary/25 focus-visible:outline-3",
4348
4470
  linkLeading: "rounded-md p-1 inline-flex ring-inset ring",
4349
4471
  linkLeadingIcon: "size-4 shrink-0",
4350
4472
  linkLabel: "truncate",
@@ -4498,7 +4620,7 @@ const pageCard = (options) => ({
4498
4620
  },
4499
4621
  to: {
4500
4622
  true: {
4501
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"]
4623
+ root: ["outline-primary/25 has-[>a:focus-visible]:outline-3", options.theme.transitions && "transition"]
4502
4624
  }
4503
4625
  },
4504
4626
  title: {
@@ -4556,6 +4678,13 @@ const pageCard = (options) => ({
4556
4678
  class: {
4557
4679
  root: "hover:ring-accented"
4558
4680
  }
4681
+ }, {
4682
+ variant: ["outline", "subtle"],
4683
+ to: true,
4684
+ highlight: false,
4685
+ class: {
4686
+ root: "has-[>a:focus-visible]:ring-primary"
4687
+ }
4559
4688
  }, {
4560
4689
  variant: "ghost",
4561
4690
  to: true,
@@ -4619,7 +4748,7 @@ const pageFeature = (options) => ({
4619
4748
  },
4620
4749
  to: {
4621
4750
  true: {
4622
- root: ["has-focus-visible:ring-2 has-focus-visible:ring-primary", options.theme.transitions && "transition"]
4751
+ root: ["outline-primary/25 has-focus-visible:outline-3", options.theme.transitions && "transition"]
4623
4752
  }
4624
4753
  },
4625
4754
  title: {
@@ -4704,7 +4833,7 @@ const pageLinks = (options) => ({
4704
4833
  title: "text-sm font-semibold flex items-center gap-1.5",
4705
4834
  list: "flex flex-col gap-2",
4706
4835
  item: "relative",
4707
- link: "group text-sm flex items-center gap-1.5 focus-visible:outline-primary",
4836
+ link: "group text-sm flex items-center gap-1.5 rounded-sm outline-primary/25 focus-visible:outline-3",
4708
4837
  linkLeadingIcon: "size-5 shrink-0",
4709
4838
  linkLabel: "truncate",
4710
4839
  linkLabelExternalIcon: "size-3 absolute top-0 text-dimmed"
@@ -4839,7 +4968,8 @@ const pagination = {
4839
4968
  const pinInput = (options) => ({
4840
4969
  slots: {
4841
4970
  root: "relative inline-flex items-center gap-1.5",
4842
- base: ["rounded-md border-0 placeholder:text-dimmed text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"]
4971
+ base: ["rounded-md border-0 placeholder:text-dimmed text-center disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
4972
+ separator: "text-dimmed flex items-center justify-center"
4843
4973
  },
4844
4974
  variants: {
4845
4975
  size: {
@@ -4864,7 +4994,7 @@ const pinInput = (options) => ({
4864
4994
  soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
4865
4995
  subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
4866
4996
  ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
4867
- none: "text-highlighted bg-transparent"
4997
+ none: "text-highlighted bg-transparent focus:outline-none"
4868
4998
  },
4869
4999
  color: {
4870
5000
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -4880,7 +5010,11 @@ const pinInput = (options) => ({
4880
5010
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
4881
5011
  color,
4882
5012
  variant: ["outline", "subtle"],
4883
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
5013
+ class: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`
5014
+ })), ...(options.theme.colors || []).map((color) => ({
5015
+ color,
5016
+ variant: ["soft", "ghost"],
5017
+ class: `outline-${color}/25 focus-visible:outline-3`
4884
5018
  })), ...(options.theme.colors || []).map((color) => ({
4885
5019
  color,
4886
5020
  highlight: true,
@@ -4888,7 +5022,11 @@ const pinInput = (options) => ({
4888
5022
  })), {
4889
5023
  color: "neutral",
4890
5024
  variant: ["outline", "subtle"],
4891
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
5025
+ class: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"
5026
+ }, {
5027
+ color: "neutral",
5028
+ variant: ["soft", "ghost"],
5029
+ class: "outline-inverted/25 focus-visible:outline-3"
4892
5030
  }, {
4893
5031
  color: "neutral",
4894
5032
  highlight: true,
@@ -5306,7 +5444,7 @@ const radioGroup = (options) => ({
5306
5444
  legend: "mb-1 block font-medium text-default",
5307
5445
  item: "flex items-start",
5308
5446
  container: "flex items-center",
5309
- base: "rounded-full ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
5447
+ base: "rounded-full ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",
5310
5448
  indicator: "flex items-center justify-center size-full after:bg-default after:rounded-full",
5311
5449
  wrapper: "w-full",
5312
5450
  label: "block font-medium text-default",
@@ -5315,11 +5453,11 @@ const radioGroup = (options) => ({
5315
5453
  variants: {
5316
5454
  color: {
5317
5455
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
5318
- base: `focus-visible:outline-${color}`,
5456
+ base: `outline-${color}/25 focus-visible:ring-${color}`,
5319
5457
  indicator: `bg-${color}`
5320
5458
  }])),
5321
5459
  neutral: {
5322
- base: "focus-visible:outline-inverted",
5460
+ base: "outline-inverted/25 focus-visible:ring-inverted",
5323
5461
  indicator: "bg-inverted"
5324
5462
  }
5325
5463
  },
@@ -5497,7 +5635,7 @@ const radioGroup = (options) => ({
5497
5635
 
5498
5636
  const scrollArea = {
5499
5637
  slots: {
5500
- root: "relative",
5638
+ root: "relative outline-primary/25 focus-visible:outline-3",
5501
5639
  viewport: "relative flex",
5502
5640
  item: ""
5503
5641
  },
@@ -5521,7 +5659,7 @@ const select = (options) => {
5521
5659
  return defuFn({
5522
5660
  slots: {
5523
5661
  root: () => void 0,
5524
- base: () => ["relative group rounded-md inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
5662
+ base: () => ["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
5525
5663
  value: "truncate pointer-events-none",
5526
5664
  placeholder: "truncate text-dimmed",
5527
5665
  arrow: "fill-bg stroke-default",
@@ -5614,20 +5752,16 @@ const select = (options) => {
5614
5752
  "item-aligned": {
5615
5753
  content: ""
5616
5754
  }
5755
+ },
5756
+ multiple: {
5757
+ true: ""
5617
5758
  }
5618
5759
  },
5619
- compoundVariants: (prev) => prev.map((item) => ({
5620
- ...item,
5621
- class: typeof item.class === "string" ? replaceFocus$1(item.class) : item.class
5622
- })),
5623
5760
  defaultVariants: {
5624
5761
  position: "popper"
5625
5762
  }
5626
5763
  }, input(options));
5627
5764
  };
5628
- function replaceFocus$1(str) {
5629
- return str.replace(/focus-visible:/g, "focus:");
5630
- }
5631
5765
 
5632
5766
  const selectMenu = (options) => {
5633
5767
  return defuFn({
@@ -5647,16 +5781,9 @@ const selectMenu = (options) => {
5647
5781
  viewport: "divide-y divide-default"
5648
5782
  }
5649
5783
  }
5650
- },
5651
- compoundVariants: (prev) => prev.map((item) => ({
5652
- ...item,
5653
- class: typeof item.class === "string" ? replaceFocus(item.class) : item.class
5654
- }))
5784
+ }
5655
5785
  }, select(options));
5656
5786
  };
5657
- function replaceFocus(str) {
5658
- return str.replace(/focus:/g, "focus-visible:");
5659
- }
5660
5787
 
5661
5788
  const separator = (options) => ({
5662
5789
  slots: {
@@ -5784,8 +5911,8 @@ const separator = (options) => ({
5784
5911
  const sidebar = (options) => ({
5785
5912
  slots: {
5786
5913
  root: "peer [--sidebar-width:16rem] [--sidebar-width-icon:4rem]",
5787
- gap: "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
5788
- container: "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear lg:flex",
5914
+ gap: "relative w-(--sidebar-width) bg-transparent",
5915
+ container: "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) lg:flex",
5789
5916
  inner: "flex size-full flex-col overflow-hidden divide-y divide-default",
5790
5917
  header: "flex items-center gap-1.5 overflow-hidden px-4 min-h-(--ui-header-height)",
5791
5918
  wrapper: "min-w-0 flex-1",
@@ -5795,9 +5922,16 @@ const sidebar = (options) => ({
5795
5922
  close: "",
5796
5923
  body: "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-4",
5797
5924
  footer: "flex items-center gap-1.5 overflow-hidden p-4",
5798
- rail: ["absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-px lg:flex hover:after:bg-(--ui-border-accented)", options.theme.transitions && "after:transition-colors"]
5925
+ rail: ["absolute inset-y-0 z-20 hidden w-4 after:absolute after:inset-y-0 after:left-1/2 after:w-px lg:flex hover:after:bg-(--ui-border-accented)", options.theme.transitions && "after:transition-colors"]
5799
5926
  },
5800
5927
  variants: {
5928
+ transition: {
5929
+ true: {
5930
+ gap: "transition-[width] duration-200 ease-out",
5931
+ container: "transition-[left,right,width] duration-200 ease-out",
5932
+ rail: "transition-all ease-out"
5933
+ }
5934
+ },
5801
5935
  side: {
5802
5936
  left: {
5803
5937
  container: "left-0 border-e border-default",
@@ -6030,17 +6164,17 @@ const slider = (options) => ({
6030
6164
  root: "relative flex items-center select-none touch-none",
6031
6165
  track: "relative bg-accented overflow-hidden rounded-full grow",
6032
6166
  range: "absolute rounded-full",
6033
- thumb: "rounded-full bg-default ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
6167
+ thumb: "rounded-full bg-default ring-2 focus-visible:outline-3 focus-visible:outline-offset-2"
6034
6168
  },
6035
6169
  variants: {
6036
6170
  color: {
6037
6171
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6038
6172
  range: `bg-${color}`,
6039
- thumb: `ring-${color} focus-visible:outline-${color}/50`
6173
+ thumb: `ring-${color} outline-${color}/25`
6040
6174
  }])),
6041
6175
  neutral: {
6042
6176
  range: "bg-inverted",
6043
- thumb: "ring-inverted focus-visible:outline-inverted/50"
6177
+ thumb: "ring-inverted outline-inverted/25"
6044
6178
  }
6045
6179
  },
6046
6180
  size: {
@@ -6149,7 +6283,7 @@ const stepper = (options) => ({
6149
6283
  header: "flex",
6150
6284
  item: "group text-center relative w-full",
6151
6285
  container: "relative",
6152
- trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-2 focus-visible:outline-offset-2",
6286
+ trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-3",
6153
6287
  indicator: "flex items-center justify-center size-full",
6154
6288
  icon: "shrink-0",
6155
6289
  separator: "absolute rounded-full group-data-[disabled]:opacity-75 bg-accented",
@@ -6211,11 +6345,11 @@ const stepper = (options) => ({
6211
6345
  },
6212
6346
  color: {
6213
6347
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6214
- trigger: `group-data-[state=completed]:bg-${color} group-data-[state=active]:bg-${color} focus-visible:outline-${color}`,
6348
+ trigger: `group-data-[state=completed]:bg-${color} group-data-[state=active]:bg-${color} outline-${color}/25`,
6215
6349
  separator: `group-data-[state=completed]:bg-${color}`
6216
6350
  }])),
6217
6351
  neutral: {
6218
- trigger: `group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted focus-visible:outline-inverted`,
6352
+ trigger: `group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted outline-inverted/25`,
6219
6353
  separator: `group-data-[state=completed]:bg-inverted`
6220
6354
  }
6221
6355
  }
@@ -6270,7 +6404,7 @@ const stepper = (options) => ({
6270
6404
  const _switch = (options) => ({
6271
6405
  slots: {
6272
6406
  root: "relative flex items-start",
6273
- base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented", options.theme.transitions && "transition-[background] duration-200"],
6407
+ base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-3 data-[state=unchecked]:bg-accented", options.theme.transitions && "transition-[background] duration-200"],
6274
6408
  container: "flex items-center",
6275
6409
  thumb: "group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",
6276
6410
  icon: ["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12", options.theme.transitions && "transition-[color,opacity] duration-200"],
@@ -6281,11 +6415,11 @@ const _switch = (options) => ({
6281
6415
  variants: {
6282
6416
  color: {
6283
6417
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6284
- base: `data-[state=checked]:bg-${color} focus-visible:outline-${color}`,
6418
+ base: `data-[state=checked]:bg-${color} outline-${color}/25`,
6285
6419
  icon: `group-data-[state=checked]:text-${color}`
6286
6420
  }])),
6287
6421
  neutral: {
6288
- base: "data-[state=checked]:bg-inverted focus-visible:outline-inverted",
6422
+ base: "data-[state=checked]:bg-inverted outline-inverted/25",
6289
6423
  icon: "group-data-[state=checked]:text-highlighted"
6290
6424
  }
6291
6425
  },
@@ -6377,11 +6511,11 @@ const _switch = (options) => ({
6377
6511
 
6378
6512
  const table$1 = (options) => ({
6379
6513
  slots: {
6380
- root: "relative overflow-auto",
6514
+ root: "relative overflow-auto outline-primary/25 focus-visible:outline-3",
6381
6515
  base: "min-w-full overflow-clip",
6382
6516
  caption: "sr-only",
6383
6517
  thead: "relative",
6384
- tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary divide-y divide-default",
6518
+ tbody: "isolate [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:outline-primary/25 [&>tr]:data-[selectable=true]:focus-visible:outline-3 divide-y divide-default",
6385
6519
  tfoot: "relative",
6386
6520
  tr: "data-[selected=true]:bg-elevated/50",
6387
6521
  th: "px-4 py-3.5 text-sm text-highlighted text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
@@ -6468,6 +6602,7 @@ const table$1 = (options) => ({
6468
6602
  }
6469
6603
  });
6470
6604
 
6605
+ const ssr = (...classes) => classes.map((c) => `in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:${c}`).join(" ");
6471
6606
  const tabs$1 = (options) => ({
6472
6607
  slots: {
6473
6608
  root: "flex items-center gap-2",
@@ -6480,23 +6615,27 @@ const tabs$1 = (options) => ({
6480
6615
  label: "truncate",
6481
6616
  trailingBadge: "shrink-0",
6482
6617
  trailingBadgeSize: "sm",
6483
- content: "focus:outline-none w-full"
6618
+ content: "w-full rounded-md focus-visible:outline-3"
6484
6619
  },
6485
6620
  variants: {
6486
6621
  color: {
6487
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
6488
- neutral: ""
6622
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6623
+ content: `outline-${color}/25`
6624
+ }])),
6625
+ neutral: {
6626
+ content: "outline-inverted/25"
6627
+ }
6489
6628
  },
6490
6629
  variant: {
6491
6630
  pill: {
6492
6631
  list: "bg-elevated rounded-lg",
6493
- trigger: "grow",
6632
+ trigger: [`grow`, ssr("before:content-['']", "before:absolute", "before:inset-0", "before:rounded-md", "before:shadow-xs", "before:-z-10", "isolate")],
6494
6633
  indicator: "rounded-md shadow-xs"
6495
6634
  },
6496
6635
  link: {
6497
6636
  list: "border-default",
6498
6637
  indicator: "rounded-full",
6499
- trigger: "focus:outline-none"
6638
+ trigger: ssr("after:content-['']", "after:absolute", "after:rounded-full")
6500
6639
  }
6501
6640
  },
6502
6641
  orientation: {
@@ -6550,49 +6689,52 @@ const tabs$1 = (options) => ({
6550
6689
  variant: "link",
6551
6690
  class: {
6552
6691
  list: "border-b -mb-px",
6553
- indicator: "-bottom-px h-px"
6692
+ indicator: "-bottom-px h-px",
6693
+ trigger: ssr("after:inset-x-0", "after:-bottom-[calc(var(--spacing)+1px)]", "after:h-px")
6554
6694
  }
6555
6695
  }, {
6556
6696
  orientation: "vertical",
6557
6697
  variant: "pill",
6558
6698
  class: {
6559
6699
  indicator: "inset-x-1",
6560
- list: "items-center"
6700
+ list: "items-center",
6701
+ trigger: "w-full justify-center"
6561
6702
  }
6562
6703
  }, {
6563
6704
  orientation: "vertical",
6564
6705
  variant: "link",
6565
6706
  class: {
6566
6707
  list: "border-s -ms-px",
6567
- indicator: "-start-px w-px"
6708
+ indicator: "-start-px w-px",
6709
+ trigger: ssr("after:inset-y-0", "after:-start-[calc(var(--spacing)+1px)]", "after:w-px")
6568
6710
  }
6569
6711
  }, ...(options.theme.colors || []).map((color) => ({
6570
6712
  color,
6571
6713
  variant: "pill",
6572
6714
  class: {
6573
6715
  indicator: `bg-${color}`,
6574
- trigger: `data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
6716
+ trigger: [`data-[state=active]:text-inverted outline-${color}/25 focus-visible:outline-3`, ssr(`before:bg-${color}`)]
6575
6717
  }
6576
6718
  })), {
6577
6719
  color: "neutral",
6578
6720
  variant: "pill",
6579
6721
  class: {
6580
6722
  indicator: "bg-inverted",
6581
- trigger: "data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
6723
+ trigger: [`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`, ssr("before:bg-inverted")]
6582
6724
  }
6583
6725
  }, ...(options.theme.colors || []).map((color) => ({
6584
6726
  color,
6585
6727
  variant: "link",
6586
6728
  class: {
6587
6729
  indicator: `bg-${color}`,
6588
- trigger: `data-[state=active]:text-${color} focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
6730
+ trigger: [`data-[state=active]:text-${color} outline-${color}/25 focus-visible:outline-3`, ssr(`after:bg-${color}`)]
6589
6731
  }
6590
6732
  })), {
6591
6733
  color: "neutral",
6592
6734
  variant: "link",
6593
6735
  class: {
6594
6736
  indicator: "bg-inverted",
6595
- trigger: "data-[state=active]:text-highlighted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
6737
+ trigger: [`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`, ssr("after:bg-inverted")]
6596
6738
  }
6597
6739
  }],
6598
6740
  defaultVariants: {
@@ -6829,7 +6971,7 @@ const timeline = (options) => ({
6829
6971
 
6830
6972
  const toast = (options) => ({
6831
6973
  slots: {
6832
- root: "relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5 focus:outline-none",
6974
+ root: "relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5",
6833
6975
  wrapper: "w-0 flex-1 flex flex-col",
6834
6976
  title: "text-sm font-medium text-highlighted",
6835
6977
  description: "text-sm text-muted",
@@ -6843,11 +6985,11 @@ const toast = (options) => ({
6843
6985
  variants: {
6844
6986
  color: {
6845
6987
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6846
- root: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`,
6988
+ root: `outline-${color}/25 focus-visible:outline-3 focus-visible:ring-${color}`,
6847
6989
  icon: `text-${color}`
6848
6990
  }])),
6849
6991
  neutral: {
6850
- root: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted",
6992
+ root: "outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted",
6851
6993
  icon: "text-highlighted"
6852
6994
  }
6853
6995
  },
@@ -6945,7 +7087,7 @@ const tree = (options) => ({
6945
7087
  item: "w-full",
6946
7088
  listWithChildren: "border-s border-default",
6947
7089
  itemWithChildren: "ps-1.5 -ms-px",
6948
- link: "relative group w-full flex items-center text-sm select-none before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
7090
+ link: "relative group w-full flex items-center text-sm select-none before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
6949
7091
  linkLeadingIcon: "shrink-0 relative",
6950
7092
  linkLabel: "truncate",
6951
7093
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
@@ -6959,10 +7101,10 @@ const tree = (options) => ({
6959
7101
  },
6960
7102
  color: {
6961
7103
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
6962
- link: `focus-visible:before:ring-${color}`
7104
+ link: `before:outline-${color}/25`
6963
7105
  }])),
6964
7106
  neutral: {
6965
- link: "focus-visible:before:ring-inverted"
7107
+ link: "before:outline-inverted/25"
6966
7108
  }
6967
7109
  },
6968
7110
  size: {
@@ -7052,6 +7194,7 @@ const user = (options) => ({
7052
7194
  },
7053
7195
  to: {
7054
7196
  true: {
7197
+ root: ["rounded-md outline-primary/25 has-focus-visible:outline-3", options.theme.transitions && "transition"],
7055
7198
  name: ["text-default peer-hover:text-highlighted peer-focus-visible:text-highlighted", options.theme.transitions && "transition-colors"],
7056
7199
  description: ["peer-hover:text-toned peer-focus-visible:text-toned", options.theme.transitions && "transition-colors"],
7057
7200
  avatar: "transform transition-transform duration-200 group-hover/user:scale-115 group-has-focus-visible/user:scale-115"
@@ -7236,7 +7379,7 @@ const theme = {
7236
7379
  };
7237
7380
 
7238
7381
  const a = (options) => ({
7239
- base: ["text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[>code]:outline-0 [&>code]:border-dashed hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary", options.theme.transitions && "transition-colors [&>code]:transition-colors"]
7382
+ base: ["text-primary border-b border-transparent hover:border-primary font-medium rounded-xs outline-primary/25 focus-visible:outline-3 focus-visible:has-[>code]:outline-0 [&>code]:border-dashed [&>code]:outline-primary/25 focus-visible:[&>code]:outline-3 hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary", options.theme.transitions && "transition-colors [&>code]:transition-colors"]
7240
7383
  });
7241
7384
 
7242
7385
  const accordion = {
@@ -7267,7 +7410,7 @@ const callout = (options) => ({
7267
7410
  variants: {
7268
7411
  color: {
7269
7412
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
7270
- base: `border border-${color}/25 bg-${color}/10 text-${color}-600 dark:text-${color}-300 [&_a]:text-${color} [&_a]:hover:border-${color} [&_a]:focus-visible:outline-${color} [&_code]:text-${color}-600 dark:[&_code]:text-${color}-300 [&_code]:border-${color}/25 [&_a]:hover:[&>code]:border-${color} [&_a]:hover:[&>code]:text-${color} [&_a]:focus-visible:[&>code]:border-${color} [&_a]:focus-visible:[&>code]:text-${color} [&>ul]:marker:text-${color}/50`,
7413
+ base: `border border-${color}/25 bg-${color}/10 text-${color}-600 dark:text-${color}-300 [&_a]:text-${color} [&_a]:hover:border-${color} [&_a]:outline-${color}/25 [&_a]:focus-visible:outline-3 [&_a]:focus-visible:has-[>code]:outline-0 [&_code]:text-${color}-600 dark:[&_code]:text-${color}-300 [&_code]:border-${color}/25 [&_a]:[&>code]:outline-${color}/25 [&_a]:hover:[&>code]:border-${color} [&_a]:hover:[&>code]:text-${color} [&_a]:focus-visible:[&>code]:border-${color} [&_a]:focus-visible:[&>code]:text-${color} [&>ul]:marker:text-${color}/50`,
7271
7414
  icon: `text-${color}`,
7272
7415
  externalIcon: `text-${color}-600 dark:text-${color}-300`
7273
7416
  }])),
@@ -7285,14 +7428,14 @@ const callout = (options) => ({
7285
7428
  color,
7286
7429
  to: true,
7287
7430
  class: {
7288
- base: `hover:border-${color} has-focus-visible:border-${color}`,
7431
+ base: `hover:border-${color} outline-${color}/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-${color}`,
7289
7432
  externalIcon: `group-hover:text-${color}`
7290
7433
  }
7291
7434
  })), {
7292
7435
  color: "neutral",
7293
7436
  to: true,
7294
7437
  class: {
7295
- base: "hover:border-inverted has-focus-visible:border-inverted",
7438
+ base: "hover:border-inverted outline-inverted/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-inverted",
7296
7439
  externalIcon: "group-hover:text-highlighted"
7297
7440
  }
7298
7441
  }],
@@ -7331,14 +7474,14 @@ const card = (options) => ({
7331
7474
  color,
7332
7475
  to: true,
7333
7476
  class: {
7334
- base: `hover:bg-${color}/10 hover:border-${color} has-focus-visible:border-${color}`,
7477
+ base: `hover:bg-${color}/10 hover:border-${color} outline-${color}/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-${color}`,
7335
7478
  externalIcon: `group-hover:text-${color}`
7336
7479
  }
7337
7480
  })), {
7338
7481
  color: "neutral",
7339
7482
  to: true,
7340
7483
  class: {
7341
- base: "hover:bg-elevated/50 hover:border-inverted has-focus-visible:border-inverted",
7484
+ base: "hover:bg-elevated/50 hover:border-inverted outline-inverted/25 has-[>a:focus-visible]:outline-3 has-[>a:focus-visible]:border-inverted",
7342
7485
  externalIcon: "group-hover:text-highlighted"
7343
7486
  }
7344
7487
  }],
@@ -7366,7 +7509,7 @@ const code = (options) => ({
7366
7509
 
7367
7510
  const codeCollapse = {
7368
7511
  slots: {
7369
- root: "relative [&_pre]:h-[200px] bg-muted",
7512
+ root: "relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12",
7370
7513
  footer: "h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center",
7371
7514
  trigger: "group",
7372
7515
  triggerIcon: "group-data-[state=open]:rotate-180"
@@ -7374,11 +7517,11 @@ const codeCollapse = {
7374
7517
  variants: {
7375
7518
  open: {
7376
7519
  true: {
7377
- root: "[&_pre]:h-auto [&_pre]:min-h-[200px] [&_pre]:max-h-[80vh] [&_pre]:pb-12"
7520
+ root: "rounded-md"
7378
7521
  },
7379
7522
  false: {
7380
- root: "[&_pre]:overflow-hidden",
7381
- footer: "bg-linear-to-t from-muted"
7523
+ root: "max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden",
7524
+ footer: "inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted"
7382
7525
  }
7383
7526
  }
7384
7527
  }
@@ -7389,7 +7532,7 @@ const codeGroup = (options) => ({
7389
7532
  root: "relative group *:not-first:my-0! *:not-first:static! my-5",
7390
7533
  list: "relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2",
7391
7534
  indicator: "absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 bg-elevated rounded-md shadow-xs",
7392
- trigger: ["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary focus:outline-none", options.theme.transitions && "transition-colors"],
7535
+ trigger: ["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 outline-primary/25 focus-visible:outline-3", options.theme.transitions && "transition-colors"],
7393
7536
  triggerIcon: "size-4 shrink-0",
7394
7537
  triggerLabel: "truncate"
7395
7538
  }
@@ -7485,7 +7628,7 @@ const codeTree = (options) => ({
7485
7628
  item: "",
7486
7629
  listWithChildren: "ms-4.5 border-s border-default",
7487
7630
  itemWithChildren: "ps-1.5 -ms-px",
7488
- link: "relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
7631
+ link: "relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none before:outline-primary/25 focus-visible:before:outline-3",
7489
7632
  linkLeadingIcon: "size-4 shrink-0",
7490
7633
  linkLabel: "truncate",
7491
7634
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
@@ -7507,7 +7650,7 @@ const codeTree = (options) => ({
7507
7650
  const collapsible = (options) => ({
7508
7651
  slots: {
7509
7652
  root: "my-5",
7510
- trigger: ["group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm focus-visible:ring-2 focus-visible:ring-primary focus:outline-none", options.theme.transitions && "transition-colors"],
7653
+ trigger: ["group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3", options.theme.transitions && "transition-colors"],
7511
7654
  triggerIcon: "size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
7512
7655
  triggerLabel: "truncate",
7513
7656
  content: "*:first:mt-2.5 *:last:mb-0 *:my-1.5"
@@ -7543,25 +7686,25 @@ const h1 = {
7543
7686
 
7544
7687
  const h2 = (options) => ({
7545
7688
  slots: {
7546
- base: ["relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7547
- leading: ["absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7689
+ base: ["relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7690
+ leading: ["absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated group-hover:text-primary group-focus:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7548
7691
  leadingIcon: "size-4 shrink-0",
7549
- link: "group lg:ps-2 lg:-ms-2"
7692
+ link: "group lg:after:absolute lg:after:inset-y-0 lg:after:-inset-s-2 lg:after:w-2"
7550
7693
  }
7551
7694
  });
7552
7695
 
7553
7696
  const h3 = (options) => ({
7554
7697
  slots: {
7555
- base: ["relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7556
- leading: ["absolute -ms-8 top-0.5 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7698
+ base: ["relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold", options.theme.transitions && "[&>a>code]:transition-colors"],
7699
+ leading: ["absolute -ms-8 top-0.5 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated group-hover:text-primary group-focus:text-primary rounded-md hidden lg:flex text-muted", options.theme.transitions && "transition"],
7557
7700
  leadingIcon: "size-4 shrink-0",
7558
- link: "group lg:ps-2 lg:-ms-2"
7701
+ link: "group lg:after:absolute lg:after:inset-y-0 lg:after:-inset-s-2 lg:after:w-2"
7559
7702
  }
7560
7703
  });
7561
7704
 
7562
7705
  const h4 = {
7563
7706
  slots: {
7564
- base: "text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary",
7707
+ base: "text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3",
7565
7708
  link: ""
7566
7709
  }
7567
7710
  };
@@ -7621,8 +7764,8 @@ const pre = {
7621
7764
  header: "flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3",
7622
7765
  filename: "text-default text-sm/6",
7623
7766
  icon: "size-4 shrink-0",
7624
- copy: "absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition",
7625
- base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7767
+ copy: "absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition",
7768
+ base: "group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50!"
7626
7769
  },
7627
7770
  variants: {
7628
7771
  filename: {
@@ -7663,7 +7806,7 @@ const strong = {
7663
7806
 
7664
7807
  const table = {
7665
7808
  slots: {
7666
- root: "relative my-5 overflow-x-auto",
7809
+ root: "relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3",
7667
7810
  base: "w-full border-separate border-spacing-0 rounded-md"
7668
7811
  }
7669
7812
  };
@@ -7771,13 +7914,13 @@ const themeProse = {
7771
7914
  const contentNavigation = (options) => ({
7772
7915
  slots: {
7773
7916
  root: "",
7774
- content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none",
7917
+ content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none",
7775
7918
  list: "isolate -mx-2.5 -mt-1.5",
7776
7919
  item: "",
7777
7920
  listWithChildren: "ms-5 border-s border-default",
7778
7921
  itemWithChildren: "flex flex-col data-[state=open]:mb-1.5",
7779
7922
  trigger: "font-semibold",
7780
- link: "group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
7923
+ link: "group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3",
7781
7924
  linkLeadingIcon: "shrink-0 size-5",
7782
7925
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
7783
7926
  linkTrailingBadge: "shrink-0",
@@ -7789,12 +7932,10 @@ const contentNavigation = (options) => ({
7789
7932
  variants: {
7790
7933
  color: {
7791
7934
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
7792
- trigger: `focus-visible:ring-${color}`,
7793
- link: `focus-visible:before:ring-${color}`
7935
+ link: `before:outline-${color}/25`
7794
7936
  }])),
7795
7937
  neutral: {
7796
- trigger: "focus-visible:ring-inverted",
7797
- link: "focus-visible:before:ring-inverted"
7938
+ link: "before:outline-inverted/25"
7798
7939
  }
7799
7940
  },
7800
7941
  highlightColor: {
@@ -7965,7 +8106,7 @@ const contentSearchButton = {
7965
8106
  const contentSurround = (options) => ({
7966
8107
  slots: {
7967
8108
  root: "grid grid-cols-1 sm:grid-cols-2 gap-8",
7968
- link: ["group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 focus-visible:outline-primary", options.theme.transitions && "transition-colors"],
8109
+ link: ["group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 outline-primary/25 focus-visible:outline-3 focus-visible:border-primary", options.theme.transitions && "transition-colors"],
7969
8110
  linkLeading: ["inline-flex items-center rounded-full p-1.5 bg-elevated group-hover:bg-primary/10 ring ring-accented mb-4 group-hover:ring-primary/50", options.theme.transitions && "transition"],
7970
8111
  linkLeadingIcon: ["size-5 shrink-0 text-highlighted group-hover:text-primary", options.theme.transitions && "transition-[color,translate]"],
7971
8112
  linkTitle: "font-medium text-[15px] text-highlighted mb-1 truncate",
@@ -7990,16 +8131,16 @@ const contentToc = (options) => ({
7990
8131
  container: "pt-4 sm:pt-6 pb-2.5 sm:pb-4.5 lg:py-8 border-b border-dashed border-default lg:border-0 flex flex-col",
7991
8132
  top: "",
7992
8133
  bottom: "hidden lg:flex lg:flex-col gap-6",
7993
- trigger: "group text-sm font-semibold flex-1 flex items-center gap-1.5 py-1.5 -mt-1.5 focus-visible:outline-primary",
8134
+ trigger: "group text-sm font-semibold flex-1 flex items-center gap-1.5 py-1.5 -mt-1.5 rounded-sm outline-primary/25 focus-visible:outline-3",
7994
8135
  title: "truncate",
7995
8136
  trailing: "ms-auto inline-flex gap-1.5 items-center",
7996
8137
  trailingIcon: "size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180 lg:hidden",
7997
- content: "relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden focus:outline-none",
8138
+ content: "relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none",
7998
8139
  list: "min-w-0",
7999
8140
  listWithChildren: "ms-3",
8000
8141
  item: "min-w-0",
8001
8142
  itemWithChildren: "",
8002
- link: "group relative text-sm flex items-center focus-visible:outline-primary py-1",
8143
+ link: "group relative text-sm flex items-center rounded-sm outline-primary/25 focus-visible:outline-3 py-1",
8003
8144
  linkText: "truncate",
8004
8145
  indicator: "",
8005
8146
  indicatorLine: "",
@@ -8100,6 +8241,7 @@ function getTemplates(options, uiConfig, nuxt, resolve) {
8100
8241
  const template = theme2[component];
8101
8242
  let result = typeof template === "function" ? template(options) : template;
8102
8243
  result = applyDefaultVariants(result, options.theme?.defaultVariants);
8244
+ result = applyUnstyled(result, options.theme?.unstyled);
8103
8245
  result = applyPrefixToObject(result, options.theme?.prefix);
8104
8246
  const variants = Object.entries(result.variants || {}).filter(([_, values]) => {
8105
8247
  const keys = Object.keys(values);
@@ -8387,7 +8529,8 @@ const publicComposables = {
8387
8529
  useResizable: ["useResizable"],
8388
8530
  useScrollShadow: ["useScrollShadow"],
8389
8531
  useScrollspy: ["useScrollspy"],
8390
- useToast: ["useToast"]
8532
+ useToast: ["useToast"],
8533
+ useTour: ["useTour"]
8391
8534
  };
8392
8535
 
8393
8536
  export { addTemplates as a, getTemplates as b, defaultOptions as d, getDefaultConfig as g, publicComposables as p, resolveColors as r };