@nuxt/ui 3.0.0-alpha.10 → 3.0.0-alpha.11

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 (172) hide show
  1. package/.nuxt/ui/alert.ts +75 -58
  2. package/.nuxt/ui/avatar-group.ts +13 -1
  3. package/.nuxt/ui/avatar.ts +13 -1
  4. package/.nuxt/ui/badge.ts +102 -65
  5. package/.nuxt/ui/button-group.ts +13 -0
  6. package/.nuxt/ui/button.ts +124 -92
  7. package/.nuxt/ui/calendar.ts +20 -2
  8. package/.nuxt/ui/carousel.ts +5 -3
  9. package/.nuxt/ui/checkbox.ts +27 -9
  10. package/.nuxt/ui/chip.ts +36 -7
  11. package/.nuxt/ui/color-picker.ts +9 -1
  12. package/.nuxt/ui/context-menu.ts +32 -14
  13. package/.nuxt/ui/drawer.ts +11 -4
  14. package/.nuxt/ui/dropdown-menu.ts +32 -14
  15. package/.nuxt/ui/form-field.ts +9 -1
  16. package/.nuxt/ui/input-menu.ts +110 -75
  17. package/.nuxt/ui/input-number.ts +82 -51
  18. package/.nuxt/ui/input.ts +88 -53
  19. package/.nuxt/ui/kbd.ts +14 -2
  20. package/.nuxt/ui/navigation-menu.ts +114 -68
  21. package/.nuxt/ui/pin-input.ts +57 -31
  22. package/.nuxt/ui/popover.ts +1 -1
  23. package/.nuxt/ui/progress.ts +93 -54
  24. package/.nuxt/ui/radio-group.ts +25 -2
  25. package/.nuxt/ui/select-menu.ts +89 -54
  26. package/.nuxt/ui/select.ts +89 -54
  27. package/.nuxt/ui/separator.ts +52 -23
  28. package/.nuxt/ui/slideover.ts +11 -4
  29. package/.nuxt/ui/slider.ts +45 -22
  30. package/.nuxt/ui/stepper.ts +45 -23
  31. package/.nuxt/ui/switch.ts +20 -2
  32. package/.nuxt/ui/table.ts +30 -13
  33. package/.nuxt/ui/tabs.ts +67 -39
  34. package/.nuxt/ui/textarea.ts +88 -53
  35. package/.nuxt/ui/toast.ts +11 -1
  36. package/.nuxt/ui/toaster.ts +27 -11
  37. package/.nuxt/ui/tooltip.ts +1 -1
  38. package/README.md +8 -1
  39. package/cli/commands/make/component.mjs +12 -0
  40. package/cli/package.json +2 -2
  41. package/cli/templates.mjs +17 -12
  42. package/dist/client/devtools/200.html +1 -1
  43. package/dist/client/devtools/404.html +1 -1
  44. package/dist/client/devtools/_nuxt/CQ-XZFu7.js +54 -0
  45. package/dist/client/devtools/_nuxt/DNZFyo26.js +1 -0
  46. package/dist/client/devtools/_nuxt/Dtz-o9GB.js +1 -0
  47. package/dist/client/devtools/_nuxt/builds/latest.json +1 -1
  48. package/dist/client/devtools/_nuxt/builds/meta/1f5fbd7b-9d97-480e-9ae4-e02b4ff7018b.json +1 -0
  49. package/dist/client/devtools/_nuxt/entry.qOdop8tq.css +1 -0
  50. package/dist/client/devtools/_nuxt/error-404.D-rS9BDk.css +1 -0
  51. package/dist/client/devtools/_nuxt/error-500.CfcCHs91.css +1 -0
  52. package/dist/client/devtools/index.html +1 -1
  53. package/dist/module.cjs +1 -1
  54. package/dist/module.json +1 -1
  55. package/dist/module.mjs +1 -1
  56. package/dist/runtime/components/Accordion.vue +2 -1
  57. package/dist/runtime/components/Alert.vue +3 -2
  58. package/dist/runtime/components/Avatar.vue +5 -4
  59. package/dist/runtime/components/AvatarGroup.vue +2 -1
  60. package/dist/runtime/components/Badge.vue +2 -1
  61. package/dist/runtime/components/Breadcrumb.vue +1 -1
  62. package/dist/runtime/components/Button.vue +2 -1
  63. package/dist/runtime/components/ButtonGroup.vue +2 -1
  64. package/dist/runtime/components/Calendar.vue +2 -1
  65. package/dist/runtime/components/Card.vue +1 -1
  66. package/dist/runtime/components/Carousel.vue +2 -1
  67. package/dist/runtime/components/Checkbox.vue +2 -1
  68. package/dist/runtime/components/Chip.vue +3 -2
  69. package/dist/runtime/components/Collapsible.vue +4 -2
  70. package/dist/runtime/components/ColorPicker.vue +2 -1
  71. package/dist/runtime/components/CommandPalette.vue +12 -5
  72. package/dist/runtime/components/Container.vue +1 -1
  73. package/dist/runtime/components/ContextMenu.vue +2 -1
  74. package/dist/runtime/components/ContextMenuContent.vue +3 -3
  75. package/dist/runtime/components/Drawer.vue +7 -2
  76. package/dist/runtime/components/DropdownMenu.vue +2 -1
  77. package/dist/runtime/components/DropdownMenuContent.vue +3 -3
  78. package/dist/runtime/components/Form.vue +15 -14
  79. package/dist/runtime/components/FormField.vue +2 -1
  80. package/dist/runtime/components/Input.vue +3 -2
  81. package/dist/runtime/components/InputMenu.vue +13 -2
  82. package/dist/runtime/components/InputNumber.vue +2 -1
  83. package/dist/runtime/components/Kbd.vue +2 -1
  84. package/dist/runtime/components/Link.vue +1 -1
  85. package/dist/runtime/components/Modal.vue +8 -13
  86. package/dist/runtime/components/NavigationMenu.vue +14 -9
  87. package/dist/runtime/components/Pagination.vue +1 -1
  88. package/dist/runtime/components/PinInput.vue +4 -3
  89. package/dist/runtime/components/Popover.vue +7 -6
  90. package/dist/runtime/components/Progress.vue +4 -3
  91. package/dist/runtime/components/RadioGroup.vue +2 -1
  92. package/dist/runtime/components/Select.vue +3 -2
  93. package/dist/runtime/components/SelectMenu.vue +20 -4
  94. package/dist/runtime/components/Separator.vue +2 -1
  95. package/dist/runtime/components/Skeleton.vue +1 -1
  96. package/dist/runtime/components/Slideover.vue +8 -12
  97. package/dist/runtime/components/Slider.vue +2 -1
  98. package/dist/runtime/components/Stepper.vue +6 -4
  99. package/dist/runtime/components/Switch.vue +2 -1
  100. package/dist/runtime/components/Table.vue +2 -1
  101. package/dist/runtime/components/Tabs.vue +3 -1
  102. package/dist/runtime/components/Textarea.vue +3 -2
  103. package/dist/runtime/components/Toast.vue +2 -1
  104. package/dist/runtime/components/Toaster.vue +2 -1
  105. package/dist/runtime/components/Tooltip.vue +1 -1
  106. package/dist/runtime/composables/defineShortcuts.js +1 -1
  107. package/dist/runtime/composables/useFormField.d.ts +1 -1
  108. package/dist/runtime/composables/useFormField.js +6 -3
  109. package/dist/runtime/locale/ar.js +3 -1
  110. package/dist/runtime/locale/cs.js +3 -1
  111. package/dist/runtime/locale/da.d.ts +2 -0
  112. package/dist/runtime/locale/da.js +54 -0
  113. package/dist/runtime/locale/de.js +3 -1
  114. package/dist/runtime/locale/el.d.ts +2 -0
  115. package/dist/runtime/locale/el.js +54 -0
  116. package/dist/runtime/locale/en.js +3 -1
  117. package/dist/runtime/locale/es.js +3 -1
  118. package/dist/runtime/locale/et.d.ts +2 -0
  119. package/dist/runtime/locale/et.js +54 -0
  120. package/dist/runtime/locale/fa_ir.js +3 -1
  121. package/dist/runtime/locale/fi.d.ts +2 -0
  122. package/dist/runtime/locale/fi.js +54 -0
  123. package/dist/runtime/locale/fr.js +3 -1
  124. package/dist/runtime/locale/id.d.ts +2 -0
  125. package/dist/runtime/locale/id.js +54 -0
  126. package/dist/runtime/locale/index.d.ts +9 -0
  127. package/dist/runtime/locale/index.js +9 -0
  128. package/dist/runtime/locale/it.js +3 -1
  129. package/dist/runtime/locale/ja.js +3 -1
  130. package/dist/runtime/locale/ko.js +3 -1
  131. package/dist/runtime/locale/nl.js +3 -1
  132. package/dist/runtime/locale/pl.js +3 -1
  133. package/dist/runtime/locale/pt.js +3 -1
  134. package/dist/runtime/locale/pt_br.js +3 -1
  135. package/dist/runtime/locale/ru.js +3 -1
  136. package/dist/runtime/locale/sk.js +3 -1
  137. package/dist/runtime/locale/sv.d.ts +2 -0
  138. package/dist/runtime/locale/sv.js +54 -0
  139. package/dist/runtime/locale/th.d.ts +2 -0
  140. package/dist/runtime/locale/th.js +54 -0
  141. package/dist/runtime/locale/tr.js +3 -1
  142. package/dist/runtime/locale/uk.d.ts +2 -0
  143. package/dist/runtime/locale/uk.js +54 -0
  144. package/dist/runtime/locale/vi.d.ts +2 -0
  145. package/dist/runtime/locale/vi.js +54 -0
  146. package/dist/runtime/locale/zh_hans.js +3 -1
  147. package/dist/runtime/locale/zh_hant.js +11 -9
  148. package/dist/runtime/types/form.d.ts +2 -2
  149. package/dist/runtime/types/form.js +2 -2
  150. package/dist/runtime/types/locale.d.ts +2 -0
  151. package/dist/runtime/utils/form.d.ts +2 -2
  152. package/dist/runtime/utils/form.js +3 -3
  153. package/dist/runtime/utils/tv.d.ts +1 -0
  154. package/dist/runtime/utils/tv.js +4 -0
  155. package/dist/runtime/vue/components/Icon.vue +2 -2
  156. package/dist/runtime/vue/plugins/head.d.ts +1 -1
  157. package/dist/runtime/vue/plugins/head.js +3 -3
  158. package/dist/shared/{ui.D_93iuwH.mjs → ui.BKsd22-Q.mjs} +63 -36
  159. package/dist/shared/{ui.CwmIkD_Y.cjs → ui.DCjJwb6l.cjs} +63 -36
  160. package/dist/unplugin.cjs +5 -5
  161. package/dist/unplugin.mjs +5 -5
  162. package/dist/vite.cjs +1 -1
  163. package/dist/vite.mjs +1 -1
  164. package/package.json +49 -44
  165. package/dist/client/devtools/_nuxt/B1fTd_Rf.js +0 -1
  166. package/dist/client/devtools/_nuxt/CSUxkedg.js +0 -1
  167. package/dist/client/devtools/_nuxt/CbRTGpb7.js +0 -1
  168. package/dist/client/devtools/_nuxt/YQTlxbcT.js +0 -53
  169. package/dist/client/devtools/_nuxt/builds/meta/b3465abc-0a92-4ee7-ba6b-e5174891fcc0.json +0 -1
  170. package/dist/client/devtools/_nuxt/entry.DXXceQev.css +0 -1
  171. package/dist/client/devtools/_nuxt/error-404.BJpkZFyY.css +0 -1
  172. package/dist/client/devtools/_nuxt/error-500.D3i9VDlt.css +0 -1
@@ -42,7 +42,7 @@ const defaultOptions = {
42
42
  fonts: true,
43
43
  colorMode: true,
44
44
  theme: {
45
- colors: void 0,
45
+ colors: undefined,
46
46
  transitions: true
47
47
  },
48
48
  devtools: {
@@ -249,7 +249,7 @@ const avatarGroup = {
249
249
 
250
250
  const badge = (options) => ({
251
251
  slots: {
252
- base: "rounded-[calc(var(--ui-radius)*1.5)] font-medium inline-flex items-center",
252
+ base: "font-medium inline-flex items-center",
253
253
  label: "truncate",
254
254
  leadingIcon: "shrink-0",
255
255
  leadingAvatar: "shrink-0",
@@ -268,23 +268,35 @@ const badge = (options) => ({
268
268
  subtle: ""
269
269
  },
270
270
  size: {
271
+ xs: {
272
+ base: "text-[8px]/3 px-1 py-0.5 gap-1 rounded-[calc(var(--ui-radius))]",
273
+ leadingIcon: "size-3",
274
+ leadingAvatarSize: "3xs",
275
+ trailingIcon: "size-3"
276
+ },
271
277
  sm: {
272
- base: "text-xs px-1.5 py-0.5 gap-1",
273
- leadingIcon: "size-4",
278
+ base: "text-[10px]/3 px-1.5 py-1 gap-1 rounded-[calc(var(--ui-radius))]",
279
+ leadingIcon: "size-3",
274
280
  leadingAvatarSize: "3xs",
275
- trailingIcon: "size-4"
281
+ trailingIcon: "size-3"
276
282
  },
277
283
  md: {
278
- base: "text-xs px-2 py-1 gap-1",
284
+ base: "text-xs px-2 py-1 gap-1 rounded-[calc(var(--ui-radius)*1.5)]",
279
285
  leadingIcon: "size-4",
280
286
  leadingAvatarSize: "3xs",
281
287
  trailingIcon: "size-4"
282
288
  },
283
289
  lg: {
284
- base: "text-sm px-2 py-1 gap-1.5",
290
+ base: "text-sm px-2 py-1 gap-1.5 rounded-[calc(var(--ui-radius)*1.5)]",
285
291
  leadingIcon: "size-5",
286
292
  leadingAvatarSize: "2xs",
287
293
  trailingIcon: "size-5"
294
+ },
295
+ xl: {
296
+ base: "text-base px-2.5 py-1 gap-1.5 rounded-[calc(var(--ui-radius)*1.5)]",
297
+ leadingIcon: "size-6",
298
+ leadingAvatarSize: "2xs",
299
+ trailingIcon: "size-6"
288
300
  }
289
301
  }
290
302
  },
@@ -673,9 +685,6 @@ const carousel = (options) => ({
673
685
  dot: "bg-[var(--ui-border-inverted)]"
674
686
  }
675
687
  }
676
- },
677
- defaultVariants: {
678
- orientation: "horizontal"
679
688
  }
680
689
  });
681
690
 
@@ -908,7 +917,7 @@ const container = {
908
917
 
909
918
  const contextMenu = (options) => ({
910
919
  slots: {
911
- content: "min-w-32 bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] divide-y divide-[var(--ui-border)] overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
920
+ content: "min-w-32 bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] divide-y divide-[var(--ui-border)] overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
912
921
  group: "p-1 isolate",
913
922
  label: "w-full flex items-center font-semibold text-[var(--ui-text-highlighted)]",
914
923
  separator: "-mx-1 my-1 h-px bg-[var(--ui-border)]",
@@ -1060,7 +1069,7 @@ const drawer = {
1060
1069
 
1061
1070
  const dropdownMenu = (options) => ({
1062
1071
  slots: {
1063
- content: "min-w-32 bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] divide-y divide-[var(--ui-border)] overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1072
+ content: "min-w-32 bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] divide-y divide-[var(--ui-border)] overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
1064
1073
  arrow: "fill-[var(--ui-border)]",
1065
1074
  group: "p-1 isolate",
1066
1075
  label: "w-full flex items-center font-semibold text-[var(--ui-text-highlighted)]",
@@ -1364,7 +1373,7 @@ const inputMenu = (options) => {
1364
1373
  base: () => ["rounded-[calc(var(--ui-radius)*1.5)]", options.theme.transitions && "transition-colors"],
1365
1374
  trailing: "group absolute inset-y-0 end-0 flex items-center disabled:cursor-not-allowed disabled:opacity-75",
1366
1375
  arrow: "fill-[var(--ui-border)]",
1367
- content: "max-h-60 w-[var(--reka-popper-anchor-width)] bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1376
+ content: "max-h-60 w-[var(--reka-popper-anchor-width)] bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
1368
1377
  viewport: "divide-y divide-[var(--ui-border)] scroll-py-1",
1369
1378
  group: "p-1 isolate",
1370
1379
  empty: "py-2 text-center text-sm text-[var(--ui-text-muted)]",
@@ -1649,7 +1658,7 @@ const navigationMenu = (options) => ({
1649
1658
  linkLeadingAvatar: "shrink-0",
1650
1659
  linkLeadingAvatarSize: "2xs",
1651
1660
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
1652
- linkTrailingBadge: "shrink-0 rounded-[var(--ui-radius)]",
1661
+ linkTrailingBadge: "shrink-0",
1653
1662
  linkTrailingBadgeSize: "sm",
1654
1663
  linkTrailingIcon: "size-5 transform shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1655
1664
  linkLabel: "truncate",
@@ -1666,7 +1675,7 @@ const navigationMenu = (options) => ({
1666
1675
  viewportWrapper: "absolute top-full left-0 flex w-full justify-center",
1667
1676
  viewport: "relative overflow-hidden bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] h-[var(--reka-navigation-menu-viewport-height)] w-full transition-[width,height] origin-[top_center] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1668
1677
  content: "absolute top-0 left-0 w-full data-[motion=from-start]:animate-[enter-from-left_200ms_ease] data-[motion=from-end]:animate-[enter-from-right_200ms_ease] data-[motion=to-start]:animate-[exit-to-left_200ms_ease] data-[motion=to-end]:animate-[exit-to-right_200ms_ease]",
1669
- indicator: "data-[state=visible]:animate-[fade-in_100ms_ease-out] data-[state=hidden]:animate-[fade-out_100ms_ease-in] bottom-0 z-[1] flex h-2.5 items-end justify-center overflow-hidden transition-transform duration-200 ease-out",
1678
+ indicator: "absolute data-[state=visible]:animate-[fade-in_100ms_ease-out] data-[state=hidden]:animate-[fade-out_100ms_ease-in] data-[state=hidden]:opacity-0 bottom-0 z-[1] w-[var(--reka-navigation-menu-indicator-size)] translate-x-[var(--reka-navigation-menu-indicator-position)] flex h-2.5 items-end justify-center overflow-hidden transition-[translate,width] duration-200",
1670
1679
  arrow: "relative top-[50%] size-2.5 rotate-45 border border-[var(--ui-border)] bg-[var(--ui-bg)] z-[1] rounded-[calc(var(--ui-radius)/2)]"
1671
1680
  },
1672
1681
  variants: {
@@ -1690,7 +1699,7 @@ const navigationMenu = (options) => ({
1690
1699
  },
1691
1700
  orientation: {
1692
1701
  horizontal: {
1693
- root: "w-full items-center justify-between",
1702
+ root: "items-center justify-between",
1694
1703
  list: "flex items-center",
1695
1704
  item: "py-2",
1696
1705
  link: "px-2.5 py-1.5 before:inset-x-px before:inset-y-0",
@@ -1722,21 +1731,24 @@ const navigationMenu = (options) => ({
1722
1731
  },
1723
1732
  highlight: {
1724
1733
  true: ""
1734
+ },
1735
+ level: {
1736
+ true: ""
1725
1737
  }
1726
1738
  },
1727
1739
  compoundVariants: [{
1728
- highlight: true,
1729
1740
  orientation: "horizontal",
1741
+ highlight: true,
1730
1742
  class: {
1731
1743
  item: "-mb-px",
1732
- link: "after:absolute after:-bottom-2 after:inset-x-2.5 after:block after:h-px after:rounded-full"
1744
+ link: ["after:absolute after:-bottom-2 after:inset-x-2.5 after:block after:h-px after:rounded-full", options.theme.transitions && "after:transition-colors"]
1733
1745
  }
1734
1746
  }, {
1735
- highlight: true,
1736
1747
  orientation: "vertical",
1748
+ highlight: true,
1749
+ level: true,
1737
1750
  class: {
1738
- item: "px-1.5 -ms-px",
1739
- link: "after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full"
1751
+ link: ["after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full", options.theme.transitions && "after:transition-colors"]
1740
1752
  }
1741
1753
  }, {
1742
1754
  disabled: false,
@@ -1769,7 +1781,7 @@ const navigationMenu = (options) => ({
1769
1781
  active: true,
1770
1782
  class: {
1771
1783
  link: `text-[var(--ui-${color})]`,
1772
- linkLeadingIcon: `text-[var(--ui-${color})]`
1784
+ linkLeadingIcon: `text-[var(--ui-${color})] group-data-[state=open]:text-[var(--ui-${color})]`
1773
1785
  }
1774
1786
  })), {
1775
1787
  color: "neutral",
@@ -1777,7 +1789,7 @@ const navigationMenu = (options) => ({
1777
1789
  active: true,
1778
1790
  class: {
1779
1791
  link: "text-[var(--ui-text-highlighted)]",
1780
- linkLeadingIcon: "text-[var(--ui-text-highlighted)]"
1792
+ linkLeadingIcon: "text-[var(--ui-text-highlighted)] group-data-[state=open]:text-[var(--ui-text-highlighted)]"
1781
1793
  }
1782
1794
  }, {
1783
1795
  variant: "pill",
@@ -1807,7 +1819,7 @@ const navigationMenu = (options) => ({
1807
1819
  active: true,
1808
1820
  class: {
1809
1821
  link: `text-[var(--ui-${color})]`,
1810
- linkLeadingIcon: `text-[var(--ui-${color})]`
1822
+ linkLeadingIcon: `text-[var(--ui-${color})] group-data-[state=open]:text-[var(--ui-${color})]`
1811
1823
  }
1812
1824
  })), {
1813
1825
  color: "neutral",
@@ -1815,11 +1827,12 @@ const navigationMenu = (options) => ({
1815
1827
  active: true,
1816
1828
  class: {
1817
1829
  link: "text-[var(--ui-text-highlighted)]",
1818
- linkLeadingIcon: "text-[var(--ui-text-highlighted)]"
1830
+ linkLeadingIcon: "text-[var(--ui-text-highlighted)] group-data-[state=open]:text-[var(--ui-text-highlighted)]"
1819
1831
  }
1820
1832
  }, ...(options.theme.colors || []).map((highlightColor) => ({
1821
1833
  highlightColor,
1822
1834
  highlight: true,
1835
+ level: true,
1823
1836
  active: true,
1824
1837
  class: {
1825
1838
  link: `after:bg-[var(--ui-${highlightColor})]`
@@ -1827,6 +1840,7 @@ const navigationMenu = (options) => ({
1827
1840
  })), {
1828
1841
  highlightColor: "neutral",
1829
1842
  highlight: true,
1843
+ level: true,
1830
1844
  active: true,
1831
1845
  class: {
1832
1846
  link: "after:bg-[var(--ui-bg-inverted)]"
@@ -1912,7 +1926,7 @@ const pinInput = (options) => ({
1912
1926
 
1913
1927
  const popover = {
1914
1928
  slots: {
1915
- content: "bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] focus:outline-none",
1929
+ content: "bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] focus:outline-none pointer-events-auto",
1916
1930
  arrow: "fill-[var(--ui-border)]"
1917
1931
  }
1918
1932
  };
@@ -2227,12 +2241,12 @@ const radioGroup = (options) => ({
2227
2241
  const select = (options) => {
2228
2242
  return defu.defuFn({
2229
2243
  slots: {
2230
- root: () => void 0,
2244
+ root: () => undefined,
2231
2245
  base: () => ["relative group rounded-[calc(var(--ui-radius)*1.5)] inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
2232
2246
  value: "truncate pointer-events-none",
2233
2247
  placeholder: "truncate text-[var(--ui-text-dimmed)]",
2234
2248
  arrow: "fill-[var(--ui-border)]",
2235
- content: "max-h-60 w-[var(--reka-popper-anchor-width)] bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
2249
+ content: "max-h-60 w-[var(--reka-popper-anchor-width)] bg-[var(--ui-bg)] shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-[var(--ui-border)] overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
2236
2250
  viewport: "divide-y divide-[var(--ui-border)] scroll-py-1",
2237
2251
  group: "p-1 isolate",
2238
2252
  empty: "py-2 text-center text-sm text-[var(--ui-text-muted)]",
@@ -2703,7 +2717,6 @@ const stepper = (options) => ({
2703
2717
  class: { separator: "top-[62px]", item: "gap-3.5" }
2704
2718
  }],
2705
2719
  defaultVariants: {
2706
- orientation: "horizontal",
2707
2720
  size: "md",
2708
2721
  color: "primary"
2709
2722
  }
@@ -3116,7 +3129,7 @@ const toaster = {
3116
3129
 
3117
3130
  const tooltip = {
3118
3131
  slots: {
3119
- content: "flex items-center gap-1 bg-[var(--ui-bg)] text-[var(--ui-text-highlighted)] shadow-sm rounded-[var(--ui-radius)] ring ring-[var(--ui-border)] h-6 px-2 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
3132
+ content: "flex items-center gap-1 bg-[var(--ui-bg)] text-[var(--ui-text-highlighted)] shadow-sm rounded-[var(--ui-radius)] ring ring-[var(--ui-border)] h-6 px-2 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
3120
3133
  arrow: "fill-[var(--ui-border)]",
3121
3134
  text: "truncate",
3122
3135
  kbds: `hidden lg:inline-flex items-center shrink-0 gap-0.5 before:content-['\xB7'] before:me-0.5`,
@@ -3191,16 +3204,28 @@ function getTemplates(options, uiConfig) {
3191
3204
  getContents: async () => {
3192
3205
  const template = theme[component];
3193
3206
  const result = typeof template === "function" ? template(options) : template;
3194
- const variants = Object.keys(result.variants || {});
3207
+ const variants = Object.entries(result.variants || {}).filter(([_, values]) => {
3208
+ const keys = Object.keys(values);
3209
+ return keys.some((key) => key !== "true" && key !== "false");
3210
+ }).map(([key]) => key);
3195
3211
  let json = JSON.stringify(result, null, 2);
3196
3212
  for (const variant of variants) {
3197
- json = json.replace(new RegExp(`("${variant}": "[^"]+")`, "g"), "$1 as const");
3213
+ json = json.replace(new RegExp(`("${variant}": "[^"]+")`, "g"), `$1 as typeof ${variant}[number]`);
3198
3214
  json = json.replace(new RegExp(`("${variant}": \\[\\s*)((?:"[^"]+",?\\s*)+)(\\])`, "g"), (_, before, match, after) => {
3199
- const replaced = match.replace(/("[^"]+")/g, "$1 as const");
3215
+ const replaced = match.replace(/("[^"]+")/g, `$1 as typeof ${variant}[number]`);
3200
3216
  return `${before}${replaced}${after}`;
3201
3217
  });
3202
3218
  }
3203
- return `export default ${json}`;
3219
+ function generateVariantDeclarations(variants2) {
3220
+ return variants2.map((variant) => {
3221
+ const keys = Object.keys(result.variants[variant]);
3222
+ return `const ${variant} = ${JSON.stringify(keys, null, 2)} as const`;
3223
+ });
3224
+ }
3225
+ return [
3226
+ ...generateVariantDeclarations(variants),
3227
+ `export default ${json}`
3228
+ ].join("\n\n");
3204
3229
  }
3205
3230
  });
3206
3231
  }
@@ -3213,12 +3238,13 @@ function getTemplates(options, uiConfig) {
3213
3238
  filename: "types/ui.d.ts",
3214
3239
  getContents: () => `import * as ui from '#build/ui'
3215
3240
  import type { DeepPartial } from '#ui/types/utils'
3241
+ import type { defaultConfig } from 'tailwind-variants'
3216
3242
  import colors from 'tailwindcss/colors'
3217
3243
 
3218
3244
  const icons = ${JSON.stringify(uiConfig.icons)};
3219
3245
 
3220
- type NeutralColor = 'slate' | 'gray' | 'zinc' | 'neutral' | 'stone'
3221
- type Color = Exclude<keyof typeof colors, 'inherit' | 'current' | 'transparent' | 'black' | 'white' | NeutralColor>
3246
+ type NeutralColor = 'slate' | 'gray' | 'zinc' | 'neutral' | 'stone' | (string & {})
3247
+ type Color = Exclude<keyof typeof colors, 'inherit' | 'current' | 'transparent' | 'black' | 'white' | NeutralColor> | (string & {})
3222
3248
 
3223
3249
  type AppConfigUI = {
3224
3250
  colors?: {
@@ -3226,6 +3252,7 @@ type AppConfigUI = {
3226
3252
  neutral?: NeutralColor
3227
3253
  }
3228
3254
  icons?: Partial<typeof icons>
3255
+ tv?: typeof defaultConfig
3229
3256
  } & DeepPartial<typeof ui>
3230
3257
 
3231
3258
  declare module '@nuxt/schema' {
package/dist/unplugin.cjs CHANGED
@@ -6,7 +6,7 @@ const unplugin = require('unplugin');
6
6
  const AutoImport = require('unplugin-auto-import');
7
7
  const defu = require('defu');
8
8
  const tailwind = require('@tailwindcss/vite');
9
- const templates = require('./shared/ui.CwmIkD_Y.cjs');
9
+ const templates = require('./shared/ui.DCjJwb6l.cjs');
10
10
  const tinyglobby = require('tinyglobby');
11
11
  const knitwork = require('knitwork');
12
12
  const MagicString = require('magic-string');
@@ -45,9 +45,9 @@ function TemplatePlugin(options, appConfig) {
45
45
 
46
46
  function PluginsPlugin(options) {
47
47
  const plugins = tinyglobby.globSync(["**/*", "!*.d.ts"], { cwd: pathe.join(runtimeDir, "plugins"), absolute: true });
48
- plugins.unshift(mlly.resolvePathSync(pathe.join(runtimeDir, "vue/plugins/head"), { extensions: [".ts", ".mjs", ".js"] }));
48
+ plugins.unshift(mlly.resolvePathSync("../runtime/vue/plugins/head", { extensions: [".ts", ".mjs", ".js"], url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('unplugin.cjs', document.baseURI).href)) }));
49
49
  if (options.colorMode) {
50
- plugins.push(mlly.resolvePathSync(pathe.join(runtimeDir, "vue/plugins/color-mode"), { extensions: [".ts", ".mjs", ".js"] }));
50
+ plugins.push(mlly.resolvePathSync("../runtime/vue/plugins/color-mode", { extensions: [".ts", ".mjs", ".js"], url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('unplugin.cjs', document.baseURI).href)) }));
51
51
  }
52
52
  return {
53
53
  name: "nuxt:ui:plugins",
@@ -144,7 +144,7 @@ function ComponentImportPlugin(framework, options) {
144
144
  const RELATIVE_IMPORT_RE = /^\.{1,2}\//;
145
145
 
146
146
  function NuxtEnvironmentPlugin() {
147
- const stubPath = mlly.resolvePathSync(pathe.join(runtimeDir, "vue/stubs"), { extensions: [".ts", ".mjs", ".js"] });
147
+ const stubPath = mlly.resolvePathSync("../runtime/vue/stubs", { extensions: [".ts", ".mjs", ".js"], url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('unplugin.cjs', document.baseURI).href)) });
148
148
  return {
149
149
  name: "nuxt:ui",
150
150
  enforce: "pre",
@@ -171,7 +171,7 @@ function NuxtEnvironmentPlugin() {
171
171
  };
172
172
  }
173
173
 
174
- const runtimeDir = node_url.fileURLToPath(new URL("./runtime", (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('unplugin.cjs', document.baseURI).href))));
174
+ const runtimeDir = pathe.normalize(node_url.fileURLToPath(new URL("./runtime", (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('unplugin.cjs', document.baseURI).href)))));
175
175
  const NuxtUIPlugin = unplugin.createUnplugin((_options = {}, meta) => {
176
176
  const options = defu.defu(_options, { fonts: false, devtools: { enabled: false } }, templates.defaultOptions);
177
177
  options.theme = options.theme || {};
package/dist/unplugin.mjs CHANGED
@@ -4,7 +4,7 @@ import { createUnplugin } from 'unplugin';
4
4
  import AutoImport from 'unplugin-auto-import';
5
5
  import { defu } from 'defu';
6
6
  import tailwind from '@tailwindcss/vite';
7
- import { g as getTemplates, d as defaultOptions, r as resolveColors, a as getDefaultUiConfig } from './shared/ui.D_93iuwH.mjs';
7
+ import { g as getTemplates, d as defaultOptions, r as resolveColors, a as getDefaultUiConfig } from './shared/ui.BKsd22-Q.mjs';
8
8
  import { globSync } from 'tinyglobby';
9
9
  import { genSafeVariableName } from 'knitwork';
10
10
  import MagicString from 'magic-string';
@@ -35,9 +35,9 @@ function TemplatePlugin(options, appConfig) {
35
35
 
36
36
  function PluginsPlugin(options) {
37
37
  const plugins = globSync(["**/*", "!*.d.ts"], { cwd: join(runtimeDir, "plugins"), absolute: true });
38
- plugins.unshift(resolvePathSync(join(runtimeDir, "vue/plugins/head"), { extensions: [".ts", ".mjs", ".js"] }));
38
+ plugins.unshift(resolvePathSync("../runtime/vue/plugins/head", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
39
39
  if (options.colorMode) {
40
- plugins.push(resolvePathSync(join(runtimeDir, "vue/plugins/color-mode"), { extensions: [".ts", ".mjs", ".js"] }));
40
+ plugins.push(resolvePathSync("../runtime/vue/plugins/color-mode", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url }));
41
41
  }
42
42
  return {
43
43
  name: "nuxt:ui:plugins",
@@ -134,7 +134,7 @@ function ComponentImportPlugin(framework, options) {
134
134
  const RELATIVE_IMPORT_RE = /^\.{1,2}\//;
135
135
 
136
136
  function NuxtEnvironmentPlugin() {
137
- const stubPath = resolvePathSync(join(runtimeDir, "vue/stubs"), { extensions: [".ts", ".mjs", ".js"] });
137
+ const stubPath = resolvePathSync("../runtime/vue/stubs", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url });
138
138
  return {
139
139
  name: "nuxt:ui",
140
140
  enforce: "pre",
@@ -161,7 +161,7 @@ function NuxtEnvironmentPlugin() {
161
161
  };
162
162
  }
163
163
 
164
- const runtimeDir = fileURLToPath(new URL("./runtime", import.meta.url));
164
+ const runtimeDir = normalize(fileURLToPath(new URL("./runtime", import.meta.url)));
165
165
  const NuxtUIPlugin = createUnplugin((_options = {}, meta) => {
166
166
  const options = defu(_options, { fonts: false, devtools: { enabled: false } }, defaultOptions);
167
167
  options.theme = options.theme || {};
package/dist/vite.cjs CHANGED
@@ -7,7 +7,7 @@ require('unplugin');
7
7
  require('unplugin-auto-import');
8
8
  require('defu');
9
9
  require('@tailwindcss/vite');
10
- require('./shared/ui.CwmIkD_Y.cjs');
10
+ require('./shared/ui.DCjJwb6l.cjs');
11
11
  require('../dist/runtime/utils/index.js');
12
12
  require('scule');
13
13
  require('@nuxt/kit');
package/dist/vite.mjs CHANGED
@@ -5,7 +5,7 @@ import 'unplugin';
5
5
  import 'unplugin-auto-import';
6
6
  import 'defu';
7
7
  import '@tailwindcss/vite';
8
- import './shared/ui.D_93iuwH.mjs';
8
+ import './shared/ui.BKsd22-Q.mjs';
9
9
  import '../dist/runtime/utils/index.js';
10
10
  import 'scule';
11
11
  import '@nuxt/kit';
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
3
  "description": "A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.",
4
- "version": "3.0.0-alpha.10",
5
- "packageManager": "pnpm@9.15.0",
4
+ "version": "3.0.0-alpha.11",
5
+ "packageManager": "pnpm@9.15.3",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/nuxt/ui.git"
9
9
  },
10
- "homepage": "https://ui.nuxt.com",
10
+ "homepage": "https://ui3.nuxt.dev",
11
11
  "type": "module",
12
12
  "license": "MIT",
13
13
  "exports": {
14
14
  ".": {
15
15
  "types": "./dist/module.d.ts",
16
+ "style": "./dist/runtime/index.css",
16
17
  "import": "./dist/module.mjs",
17
- "require": "./dist/module.cjs",
18
- "style": "./dist/runtime/index.css"
18
+ "require": "./dist/module.cjs"
19
19
  },
20
20
  "./unplugin": {
21
21
  "types": "./dist/unplugin.d.ts",
@@ -73,81 +73,86 @@
73
73
  "release": "release-it --preRelease=alpha --npm.tag=next"
74
74
  },
75
75
  "dependencies": {
76
- "@iconify/vue": "^4.2.0",
76
+ "@iconify/vue": "^4.3.0",
77
77
  "@internationalized/date": "^3.6.0",
78
78
  "@internationalized/number": "^3.6.0",
79
- "@nuxt/devtools-kit": "^1.6.3",
79
+ "@nuxt/devtools-kit": "^1.7.0",
80
80
  "@nuxt/fonts": "^0.10.3",
81
- "@nuxt/icon": "^1.9.1",
82
- "@nuxt/kit": "^3.14.1592",
83
- "@nuxt/schema": "^3.14.1592",
81
+ "@nuxt/icon": "^1.10.3",
82
+ "@nuxt/kit": "^3.15.1",
83
+ "@nuxt/schema": "^3.15.1",
84
84
  "@nuxtjs/color-mode": "^3.5.2",
85
- "@tailwindcss/postcss": "4.0.0-beta.6",
86
- "@tailwindcss/vite": "4.0.0-beta.6",
85
+ "@tailwindcss/postcss": "4.0.0-beta.9",
86
+ "@tailwindcss/vite": "4.0.0-beta.9",
87
87
  "@tanstack/vue-table": "^8.20.5",
88
88
  "@types/color": "^4.2.0",
89
- "@unhead/vue": "^1.11.13",
90
- "@vueuse/core": "^12.0.0",
91
- "@vueuse/integrations": "^12.0.0",
89
+ "@unhead/vue": "^1.11.16",
90
+ "@vueuse/core": "^12.4.0",
91
+ "@vueuse/integrations": "^12.4.0",
92
92
  "color": "^4.2.3",
93
- "consola": "^3.2.3",
93
+ "consola": "^3.3.3",
94
94
  "defu": "^6.1.4",
95
- "embla-carousel-auto-height": "^8.5.1",
96
- "embla-carousel-auto-scroll": "^8.5.1",
97
- "embla-carousel-autoplay": "^8.5.1",
98
- "embla-carousel-class-names": "^8.5.1",
99
- "embla-carousel-fade": "^8.5.1",
100
- "embla-carousel-vue": "^8.5.1",
95
+ "embla-carousel-auto-height": "^8.5.2",
96
+ "embla-carousel-auto-scroll": "^8.5.2",
97
+ "embla-carousel-autoplay": "^8.5.2",
98
+ "embla-carousel-class-names": "^8.5.2",
99
+ "embla-carousel-fade": "^8.5.2",
100
+ "embla-carousel-vue": "^8.5.2",
101
101
  "embla-carousel-wheel-gestures": "^8.0.1",
102
102
  "fuse.js": "^7.0.0",
103
103
  "get-port-please": "^3.1.2",
104
- "knitwork": "^1.1.0",
105
- "magic-string": "^0.30.14",
106
- "mlly": "^1.7.3",
104
+ "knitwork": "^1.2.0",
105
+ "magic-string": "^0.30.17",
106
+ "mlly": "^1.7.4",
107
107
  "ohash": "^1.1.4",
108
- "reka-ui": "1.0.0-alpha.6",
109
- "pathe": "^1.1.2",
108
+ "reka-ui": "1.0.0-alpha.8",
109
+ "pathe": "^2.0.1",
110
110
  "scule": "^1.3.0",
111
111
  "sirv": "^3.0.0",
112
112
  "tailwind-variants": "^0.3.0",
113
- "tailwindcss": "4.0.0-beta.6",
113
+ "tailwindcss": "4.0.0-beta.9",
114
114
  "tinyglobby": "^0.2.10",
115
- "unplugin": "^1.16.0",
116
- "unplugin-auto-import": "^0.18.6",
117
- "unplugin-vue-components": "^0.27.5",
115
+ "unplugin": "^2.1.2",
116
+ "unplugin-auto-import": "^19.0.0",
117
+ "unplugin-vue-components": "^28.0.0",
118
118
  "vaul-vue": "^0.2.0"
119
119
  },
120
120
  "devDependencies": {
121
- "@nuxt/eslint-config": "^0.7.2",
121
+ "@nuxt/eslint-config": "^0.7.5",
122
122
  "@nuxt/module-builder": "^0.8.4",
123
- "@nuxt/test-utils": "^3.15.1",
124
- "@release-it/conventional-changelog": "^9.0.3",
125
- "@standard-schema/spec": "1.0.0-beta.4",
123
+ "@nuxt/test-utils": "^3.15.4",
124
+ "@release-it/conventional-changelog": "^10.0.0",
125
+ "@standard-schema/spec": "1.0.0-rc.0",
126
126
  "@vue/test-utils": "^2.4.6",
127
- "embla-carousel": "^8.5.1",
128
- "eslint": "^9.16.0",
127
+ "embla-carousel": "^8.5.2",
128
+ "eslint": "^9.18.0",
129
129
  "happy-dom": "^15.7.4",
130
130
  "joi": "^17.13.3",
131
- "knitwork": "^1.1.0",
132
- "nuxt": "^3.14.1592",
131
+ "knitwork": "^1.2.0",
132
+ "nuxt": "^3.15.1",
133
133
  "nuxt-component-meta": "^0.9.0",
134
- "release-it": "^17.10.0",
134
+ "release-it": "^18.1.1",
135
135
  "superstruct": "^2.0.2",
136
136
  "valibot": "^0.42.1",
137
137
  "vitest": "^2.1.8",
138
138
  "vitest-environment-nuxt": "^1.0.1",
139
- "vue-tsc": "^2.1.10",
140
- "yup": "^1.5.0",
141
- "zod": "^3.23.8"
139
+ "vue-tsc": "^2.2.0",
140
+ "yup": "^1.6.1",
141
+ "zod": "^3.24.1"
142
142
  },
143
143
  "peerDependencies": {
144
144
  "typescript": "^5.6.3"
145
145
  },
146
146
  "resolutions": {
147
147
  "@nuxt/ui": "workspace:*",
148
+ "chokidar": "3.6.0",
149
+ "debug": "4.3.7",
148
150
  "happy-dom": "14.12.3",
149
151
  "rollup": "^4.24.0",
150
152
  "typescript": "5.6.3",
151
- "chokidar": "3.6.0"
153
+ "unimport": "3.14.5",
154
+ "unplugin": "^2.1.2",
155
+ "vite": "^6.0.7",
156
+ "vue-tsc": "^2.2.0"
152
157
  }
153
158
  }
@@ -1 +0,0 @@
1
- import{_ as a,o as i,c as u,a as e,t as r,b as c,w as l,d,e as p}from"./YQTlxbcT.js";import{u as f}from"./CSUxkedg.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},h=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return f({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=p;return i(),u("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.statusCode)},null,8,h),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,b),e("div",x,[c(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:l(()=>[d(r(t.backHome),1)]),_:1})])])])}}},v=a(y,[["__scopeId","data-v-da7a6a0e"]]);export{v as default};
@@ -1 +0,0 @@
1
- import{i as f,r as u,f as o,g as d,h as v,j as l,k as i,l as h,m}from"./YQTlxbcT.js";function U(t,a={}){const e=a.head||f();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});o(()=>{n.value=s.value?{}:d(a)});const r=t.push(n.value,e);return v(n,c=>{r.patch(c)}),m()&&(l(()=>{r.dispose()}),i(()=>{s.value=!0}),h(()=>{s.value=!1})),r}export{U as u};
@@ -1 +0,0 @@
1
- import{_ as s,o as a,c as i,a as e,t as o}from"./YQTlxbcT.js";import{u}from"./CSUxkedg.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return u({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(a(),i("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.statusCode)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},b=s(f,[["__scopeId","data-v-67007a5a"]]);export{b as default};