@nuxt/ui 2.18.6 → 2.19.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 (105) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.d.ts +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +3 -3
  5. package/dist/runtime/components/data/Table.vue +82 -27
  6. package/dist/runtime/components/data/Table.vue.d.ts +49 -41
  7. package/dist/runtime/components/elements/Alert.vue.d.ts +1 -1
  8. package/dist/runtime/components/elements/AvatarGroup.js +2 -2
  9. package/dist/runtime/components/elements/Carousel.vue +16 -7
  10. package/dist/runtime/components/elements/Carousel.vue.d.ts +9 -0
  11. package/dist/runtime/components/elements/Dropdown.vue +7 -3
  12. package/dist/runtime/components/elements/MeterGroup.d.ts +1 -1
  13. package/dist/runtime/components/elements/Progress.vue +1 -1
  14. package/dist/runtime/components/forms/Checkbox.vue.d.ts +5 -5
  15. package/dist/runtime/components/forms/Form.vue +104 -43
  16. package/dist/runtime/components/forms/Form.vue.d.ts +5 -3
  17. package/dist/runtime/components/forms/Input.vue +5 -2
  18. package/dist/runtime/components/forms/Input.vue.d.ts +5 -2
  19. package/dist/runtime/components/forms/InputMenu.vue +419 -8
  20. package/dist/runtime/components/forms/InputMenu.vue.d.ts +22 -3
  21. package/dist/runtime/components/forms/Radio.vue.d.ts +5 -5
  22. package/dist/runtime/components/forms/RadioGroup.vue +3 -4
  23. package/dist/runtime/components/forms/RadioGroup.vue.d.ts +8 -8
  24. package/dist/runtime/components/forms/Range.vue.d.ts +2 -2
  25. package/dist/runtime/components/forms/Select.vue.d.ts +3 -3
  26. package/dist/runtime/components/forms/SelectMenu.vue +501 -11
  27. package/dist/runtime/components/forms/SelectMenu.vue.d.ts +33 -5
  28. package/dist/runtime/components/forms/Textarea.vue +7 -4
  29. package/dist/runtime/components/forms/Textarea.vue.d.ts +5 -2
  30. package/dist/runtime/components/forms/Toggle.vue.d.ts +2 -2
  31. package/dist/runtime/components/layout/Divider.vue +1 -1
  32. package/dist/runtime/components/layout/Divider.vue.d.ts +5 -2
  33. package/dist/runtime/components/navigation/CommandPalette.vue +1 -1
  34. package/dist/runtime/components/navigation/CommandPalette.vue.d.ts +1 -1
  35. package/dist/runtime/components/navigation/CommandPaletteGroup.vue.d.ts +1 -1
  36. package/dist/runtime/components/navigation/Pagination.vue +4 -4
  37. package/dist/runtime/components/navigation/Pagination.vue.d.ts +1 -1
  38. package/dist/runtime/components/navigation/Tabs.vue +1 -1
  39. package/dist/runtime/components/navigation/VerticalNavigation.vue.d.ts +6 -2
  40. package/dist/runtime/components/overlays/Modal.vue +1 -1
  41. package/dist/runtime/components/overlays/Notification.vue.d.ts +1 -1
  42. package/dist/runtime/components/overlays/Notifications.vue +1 -1
  43. package/dist/runtime/components/overlays/Notifications.vue.d.ts +1 -1
  44. package/dist/runtime/components/overlays/Popover.vue +7 -3
  45. package/dist/runtime/components/overlays/Tooltip.vue +5 -3
  46. package/dist/runtime/components/overlays/Tooltip.vue.d.ts +1 -0
  47. package/dist/runtime/composables/defineShortcuts.js +1 -1
  48. package/dist/runtime/composables/useButtonGroup.d.ts +1 -1
  49. package/dist/runtime/composables/useUI.js +1 -1
  50. package/dist/runtime/plugins/modals.js +1 -1
  51. package/dist/runtime/plugins/slideovers.js +1 -1
  52. package/dist/runtime/types/accordion.d.ts +1 -1
  53. package/dist/runtime/types/alert.d.ts +4 -4
  54. package/dist/runtime/types/avatar.d.ts +3 -3
  55. package/dist/runtime/types/badge.d.ts +3 -3
  56. package/dist/runtime/types/button.d.ts +3 -5
  57. package/dist/runtime/types/chip.d.ts +2 -2
  58. package/dist/runtime/types/command-palette.d.ts +2 -2
  59. package/dist/runtime/types/component.d.ts +3 -3
  60. package/dist/runtime/types/divider.d.ts +3 -3
  61. package/dist/runtime/types/dropdown.d.ts +1 -1
  62. package/dist/runtime/types/form-group.d.ts +2 -2
  63. package/dist/runtime/types/form.d.ts +7 -2
  64. package/dist/runtime/types/index.d.ts +1 -0
  65. package/dist/runtime/types/index.js +1 -0
  66. package/dist/runtime/types/input.d.ts +3 -3
  67. package/dist/runtime/types/kbd.d.ts +2 -2
  68. package/dist/runtime/types/meter.d.ts +2 -2
  69. package/dist/runtime/types/modal.d.ts +2 -2
  70. package/dist/runtime/types/notification.d.ts +1 -1
  71. package/dist/runtime/types/progress.d.ts +2 -2
  72. package/dist/runtime/types/range.d.ts +3 -3
  73. package/dist/runtime/types/select.d.ts +3 -3
  74. package/dist/runtime/types/table.d.ts +18 -0
  75. package/dist/runtime/types/textarea.d.ts +3 -3
  76. package/dist/runtime/types/toggle.d.ts +3 -3
  77. package/dist/runtime/types/utils.d.ts +2 -2
  78. package/dist/runtime/ui.config/data/table.d.ts +1 -0
  79. package/dist/runtime/ui.config/data/table.js +1 -0
  80. package/dist/runtime/ui.config/elements/avatar.js +15 -15
  81. package/dist/runtime/ui.config/elements/button.js +25 -25
  82. package/dist/runtime/ui.config/elements/buttonGroup.js +1 -1
  83. package/dist/runtime/ui.config/elements/carousel.js +2 -2
  84. package/dist/runtime/ui.config/elements/chip.js +5 -5
  85. package/dist/runtime/ui.config/elements/meter.js +20 -20
  86. package/dist/runtime/ui.config/elements/meterGroup.js +1 -1
  87. package/dist/runtime/ui.config/elements/progress.js +18 -18
  88. package/dist/runtime/ui.config/forms/formGroup.js +5 -6
  89. package/dist/runtime/ui.config/forms/input.js +40 -40
  90. package/dist/runtime/ui.config/forms/inputMenu.d.ts +6 -0
  91. package/dist/runtime/ui.config/forms/inputMenu.js +7 -1
  92. package/dist/runtime/ui.config/forms/range.js +20 -20
  93. package/dist/runtime/ui.config/forms/selectMenu.d.ts +9 -0
  94. package/dist/runtime/ui.config/forms/selectMenu.js +10 -1
  95. package/dist/runtime/ui.config/forms/toggle.js +20 -20
  96. package/dist/runtime/ui.config/layout/divider.d.ts +1 -0
  97. package/dist/runtime/ui.config/layout/divider.js +12 -11
  98. package/dist/runtime/ui.config/navigation/horizontalNavigation.js +1 -1
  99. package/dist/runtime/ui.config/navigation/verticalNavigation.js +1 -1
  100. package/dist/runtime/ui.config/popper.js +0 -1
  101. package/dist/runtime/utils/colors.js +7 -7
  102. package/dist/runtime/utils/index.js +4 -4
  103. package/dist/runtime/utils/link.js +1 -1
  104. package/dist/runtime/utils/lodash.js +1 -1
  105. package/package.json +23 -21
@@ -10,11 +10,11 @@ export default {
10
10
  background: "bg-{color}-500 dark:bg-{color}-400",
11
11
  size: {
12
12
  "2xs": "h-px",
13
- xs: "h-0.5",
14
- sm: "h-1",
15
- md: "h-2",
16
- lg: "h-3",
17
- xl: "h-4",
13
+ "xs": "h-0.5",
14
+ "sm": "h-1",
15
+ "md": "h-2",
16
+ "lg": "h-3",
17
+ "xl": "h-4",
18
18
  "2xl": "h-5"
19
19
  }
20
20
  },
@@ -25,11 +25,11 @@ export default {
25
25
  ring: "[&::-webkit-slider-thumb]:ring-2 [&::-webkit-slider-thumb]:ring-current",
26
26
  size: {
27
27
  "2xs": "[&::-webkit-slider-thumb]:h-1.5 [&::-moz-range-thumb]:h-1.5 [&::-webkit-slider-thumb]:w-1.5 [&::-moz-range-thumb]:w-1.5 [&::-webkit-slider-thumb]:mt-[-2.5px] [&::-moz-range-thumb]:mt-[-2.5px]",
28
- xs: "[&::-webkit-slider-thumb]:h-2 [&::-moz-range-thumb]:h-2 [&::-webkit-slider-thumb]:w-2 [&::-moz-range-thumb]:w-2 [&::-webkit-slider-thumb]:mt-[-3px] [&::-moz-range-thumb]:mt-[-3px]",
29
- sm: "[&::-webkit-slider-thumb]:h-3 [&::-moz-range-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-moz-range-thumb]:w-3 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
30
- md: "[&::-webkit-slider-thumb]:h-4 [&::-moz-range-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-moz-range-thumb]:w-4 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
31
- lg: "[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
32
- xl: "[&::-webkit-slider-thumb]:h-6 [&::-moz-range-thumb]:h-6 [&::-webkit-slider-thumb]:w-6 [&::-moz-range-thumb]:w-6 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
28
+ "xs": "[&::-webkit-slider-thumb]:h-2 [&::-moz-range-thumb]:h-2 [&::-webkit-slider-thumb]:w-2 [&::-moz-range-thumb]:w-2 [&::-webkit-slider-thumb]:mt-[-3px] [&::-moz-range-thumb]:mt-[-3px]",
29
+ "sm": "[&::-webkit-slider-thumb]:h-3 [&::-moz-range-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-moz-range-thumb]:w-3 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
30
+ "md": "[&::-webkit-slider-thumb]:h-4 [&::-moz-range-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-moz-range-thumb]:w-4 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
31
+ "lg": "[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
32
+ "xl": "[&::-webkit-slider-thumb]:h-6 [&::-moz-range-thumb]:h-6 [&::-webkit-slider-thumb]:w-6 [&::-moz-range-thumb]:w-6 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1",
33
33
  "2xl": "[&::-webkit-slider-thumb]:h-7 [&::-moz-range-thumb]:h-7 [&::-webkit-slider-thumb]:w-7 [&::-moz-range-thumb]:w-7 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1"
34
34
  }
35
35
  },
@@ -39,21 +39,21 @@ export default {
39
39
  rounded: "[&::-webkit-slider-runnable-track]:rounded-lg [&::-moz-range-track]:rounded-lg",
40
40
  size: {
41
41
  "2xs": "[&::-webkit-slider-runnable-track]:h-px [&::-moz-range-track]:h-px",
42
- xs: "[&::-webkit-slider-runnable-track]:h-0.5 [&::-moz-range-track]:h-0.5",
43
- sm: "[&::-webkit-slider-runnable-track]:h-1 [&::-moz-range-track]:h-1",
44
- md: "[&::-webkit-slider-runnable-track]:h-2 [&::-moz-range-track]:h-2",
45
- lg: "[&::-webkit-slider-runnable-track]:h-3 [&::-moz-range-track]:h-3",
46
- xl: "[&::-webkit-slider-runnable-track]:h-4 [&::-moz-range-track]:h-4",
42
+ "xs": "[&::-webkit-slider-runnable-track]:h-0.5 [&::-moz-range-track]:h-0.5",
43
+ "sm": "[&::-webkit-slider-runnable-track]:h-1 [&::-moz-range-track]:h-1",
44
+ "md": "[&::-webkit-slider-runnable-track]:h-2 [&::-moz-range-track]:h-2",
45
+ "lg": "[&::-webkit-slider-runnable-track]:h-3 [&::-moz-range-track]:h-3",
46
+ "xl": "[&::-webkit-slider-runnable-track]:h-4 [&::-moz-range-track]:h-4",
47
47
  "2xl": "[&::-webkit-slider-runnable-track]:h-5 [&::-moz-range-track]:h-5"
48
48
  }
49
49
  },
50
50
  size: {
51
51
  "2xs": "h-1.5",
52
- xs: "h-2",
53
- sm: "h-3",
54
- md: "h-4",
55
- lg: "h-5",
56
- xl: "h-6",
52
+ "xs": "h-2",
53
+ "sm": "h-3",
54
+ "md": "h-4",
55
+ "lg": "h-5",
56
+ "xl": "h-6",
57
57
  "2xl": "h-7"
58
58
  },
59
59
  default: {
@@ -46,6 +46,15 @@ declare const _default: {
46
46
  selectedIcon: string;
47
47
  clearSearchOnClose: boolean;
48
48
  showCreateOptionWhen: string;
49
+ searchablePlaceholder: {
50
+ label: string;
51
+ };
52
+ empty: {
53
+ label: string;
54
+ };
55
+ optionEmpty: {
56
+ label: string;
57
+ };
49
58
  };
50
59
  arrow: {
51
60
  ring: string;
@@ -22,7 +22,16 @@ export default {
22
22
  default: {
23
23
  selectedIcon: "i-heroicons-check-20-solid",
24
24
  clearSearchOnClose: false,
25
- showCreateOptionWhen: "empty"
25
+ showCreateOptionWhen: "empty",
26
+ searchablePlaceholder: {
27
+ label: "Search..."
28
+ },
29
+ empty: {
30
+ label: "No options."
31
+ },
32
+ optionEmpty: {
33
+ label: 'No results for "{query}".'
34
+ }
26
35
  },
27
36
  arrow: {
28
37
  ...arrow,
@@ -6,32 +6,32 @@ export default {
6
6
  inactive: "bg-gray-200 dark:bg-gray-700",
7
7
  size: {
8
8
  "2xs": "h-3 w-5",
9
- xs: "h-3.5 w-6",
10
- sm: "h-4 w-7",
11
- md: "h-5 w-9",
12
- lg: "h-6 w-11",
13
- xl: "h-7 w-[3.25rem]",
9
+ "xs": "h-3.5 w-6",
10
+ "sm": "h-4 w-7",
11
+ "md": "h-5 w-9",
12
+ "lg": "h-6 w-11",
13
+ "xl": "h-7 w-[3.25rem]",
14
14
  "2xl": "h-8 w-[3.75rem]"
15
15
  },
16
16
  container: {
17
17
  base: "pointer-events-none relative inline-block rounded-full bg-white dark:bg-gray-900 shadow transform ring-0 transition ease-in-out duration-200",
18
18
  active: {
19
19
  "2xs": "translate-x-2 rtl:-translate-x-2",
20
- xs: "translate-x-2.5 rtl:-translate-x-2.5",
21
- sm: "translate-x-3 rtl:-translate-x-3",
22
- md: "translate-x-4 rtl:-translate-x-4",
23
- lg: "translate-x-5 rtl:-translate-x-5",
24
- xl: "translate-x-6 rtl:-translate-x-6",
20
+ "xs": "translate-x-2.5 rtl:-translate-x-2.5",
21
+ "sm": "translate-x-3 rtl:-translate-x-3",
22
+ "md": "translate-x-4 rtl:-translate-x-4",
23
+ "lg": "translate-x-5 rtl:-translate-x-5",
24
+ "xl": "translate-x-6 rtl:-translate-x-6",
25
25
  "2xl": "translate-x-7 rtl:-translate-x-7"
26
26
  },
27
27
  inactive: "translate-x-0 rtl:-translate-x-0",
28
28
  size: {
29
29
  "2xs": "h-2 w-2",
30
- xs: "h-2.5 w-2.5",
31
- sm: "h-3 w-3",
32
- md: "h-4 w-4",
33
- lg: "h-5 w-5",
34
- xl: "h-6 w-6",
30
+ "xs": "h-2.5 w-2.5",
31
+ "sm": "h-3 w-3",
32
+ "md": "h-4 w-4",
33
+ "lg": "h-5 w-5",
34
+ "xl": "h-6 w-6",
35
35
  "2xl": "h-7 w-7"
36
36
  }
37
37
  },
@@ -41,11 +41,11 @@ export default {
41
41
  inactive: "opacity-0 ease-out duration-100",
42
42
  size: {
43
43
  "2xs": "h-2 w-2",
44
- xs: "h-2 w-2",
45
- sm: "h-2 w-2",
46
- md: "h-3 w-3",
47
- lg: "h-4 w-4",
48
- xl: "h-5 w-5",
44
+ "xs": "h-2 w-2",
45
+ "sm": "h-2 w-2",
46
+ "md": "h-3 w-3",
47
+ "lg": "h-4 w-4",
48
+ "xl": "h-5 w-5",
49
49
  "2xl": "h-6 w-6"
50
50
  },
51
51
  on: "text-{color}-500 dark:text-{color}-400",
@@ -47,6 +47,7 @@ declare const _default: {
47
47
  label: string;
48
48
  default: {
49
49
  size: "2xs";
50
+ type: "solid";
50
51
  };
51
52
  };
52
53
  export default _default;
@@ -16,19 +16,19 @@ export default {
16
16
  size: {
17
17
  horizontal: {
18
18
  "2xs": "border-t",
19
- xs: "border-t-[2px]",
20
- sm: "border-t-[3px]",
21
- md: "border-t-[4px]",
22
- lg: "border-t-[5px]",
23
- xl: "border-t-[6px]"
19
+ "xs": "border-t-[2px]",
20
+ "sm": "border-t-[3px]",
21
+ "md": "border-t-[4px]",
22
+ "lg": "border-t-[5px]",
23
+ "xl": "border-t-[6px]"
24
24
  },
25
25
  vertical: {
26
26
  "2xs": "border-s",
27
- xs: "border-s-[2px]",
28
- sm: "border-s-[3px]",
29
- md: "border-s-[4px]",
30
- lg: "border-s-[5px]",
31
- xl: "border-s-[6px]"
27
+ "xs": "border-s-[2px]",
28
+ "sm": "border-s-[3px]",
29
+ "md": "border-s-[4px]",
30
+ "lg": "border-s-[5px]",
31
+ "xl": "border-s-[6px]"
32
32
  }
33
33
  },
34
34
  type: {
@@ -46,6 +46,7 @@ export default {
46
46
  },
47
47
  label: "text-sm",
48
48
  default: {
49
- size: "2xs"
49
+ size: "2xs",
50
+ type: "solid"
50
51
  }
51
52
  };
@@ -18,7 +18,7 @@ export default {
18
18
  size: "2xs"
19
19
  },
20
20
  badge: {
21
- base: "flex-shrink-0 ml-auto relative rounded",
21
+ base: "flex-shrink-0 ms-auto relative rounded",
22
22
  color: "gray",
23
23
  variant: "solid",
24
24
  size: "xs"
@@ -20,7 +20,7 @@ export default {
20
20
  size: "2xs"
21
21
  },
22
22
  badge: {
23
- base: "flex-shrink-0 ml-auto relative rounded",
23
+ base: "flex-shrink-0 ms-auto relative rounded",
24
24
  color: "gray",
25
25
  variant: "solid",
26
26
  size: "xs"
@@ -4,6 +4,5 @@ export const arrow = {
4
4
  rounded: "before:rounded-sm",
5
5
  background: "before:bg-gray-200 dark:before:bg-gray-800",
6
6
  shadow: "before:shadow",
7
- // eslint-disable-next-line quotes
8
7
  placement: `group-data-[popper-placement*='right']:-left-1 group-data-[popper-placement*='left']:-right-1 group-data-[popper-placement*='top']:-bottom-1 group-data-[popper-placement*='bottom']:-top-1`
9
8
  };
@@ -1,6 +1,6 @@
1
- import { omit } from "./lodash.js";
2
1
  import { kebabCase, camelCase, upperFirst } from "scule";
3
2
  import defaultColors from "tailwindcss/colors.js";
3
+ import { omit } from "./lodash.js";
4
4
  const colorsToExclude = [
5
5
  "inherit",
6
6
  "transparent",
@@ -206,11 +206,11 @@ const safelistByComponent = {
206
206
  }]
207
207
  };
208
208
  const safelistComponentAliasesMap = {
209
- "USelect": "UInput",
210
- "USelectMenu": "UInput",
211
- "UTextarea": "UInput",
212
- "URadioGroup": "URadio",
213
- "UMeterGroup": "UMeter"
209
+ USelect: "UInput",
210
+ USelectMenu: "UInput",
211
+ UTextarea: "UInput",
212
+ URadioGroup: "URadio",
213
+ UMeterGroup: "UMeter"
214
214
  };
215
215
  const colorsAsRegex = (colors) => colors.join("|");
216
216
  export const excludeColors = (colors) => {
@@ -270,7 +270,7 @@ export const generateSafelist = (colors, globalColors) => {
270
270
  };
271
271
  export const customSafelistExtractor = (prefix, content, colors, safelistColors) => {
272
272
  const classes = [];
273
- const regex = /<([A-Za-z][A-Za-z0-9]*(?:-[A-Za-z][A-Za-z0-9]*)*)\s+(?![^>]*:color\b)[^>]*\bcolor=["']([^"']+)["'][^>]*>/gs;
273
+ const regex = /<([A-Za-z][A-Za-z0-9]*(?:-[A-Za-z][A-Za-z0-9]*)*)\s+(?![^>]*:color\b)[^>]*\bcolor=["']([^"']+)["'][^>]*>/g;
274
274
  const matches = content.matchAll(regex);
275
275
  const components = Object.keys(safelistByComponent).map((component) => `${prefix}${component.charAt(0).toUpperCase() + component.slice(1)}`);
276
276
  for (const match of matches) {
@@ -3,7 +3,7 @@ import { extendTailwindMerge } from "tailwind-merge";
3
3
  const customTwMerge = extendTailwindMerge({
4
4
  extend: {
5
5
  classGroups: {
6
- icons: [(classPart) => /^i-/.test(classPart)]
6
+ icons: [(classPart) => classPart.startsWith("i-")]
7
7
  }
8
8
  }
9
9
  });
@@ -44,7 +44,7 @@ export function hexToRgb(hex) {
44
44
  return r + r + g + g + b + b;
45
45
  });
46
46
  const result = rxHex.exec(hex);
47
- return result ? `${parseInt(result[1], 16)} ${parseInt(result[2], 16)} ${parseInt(result[3], 16)}` : null;
47
+ return result ? `${Number.parseInt(result[1], 16)} ${Number.parseInt(result[2], 16)} ${Number.parseInt(result[3], 16)}` : null;
48
48
  }
49
49
  export function getSlotsChildren(slots) {
50
50
  let children = slots.default?.();
@@ -64,8 +64,8 @@ export function getSlotsChildren(slots) {
64
64
  return children || [];
65
65
  }
66
66
  export function looseToNumber(val) {
67
- const n = parseFloat(val);
68
- return isNaN(n) ? val : n;
67
+ const n = Number.parseFloat(val);
68
+ return Number.isNaN(n) ? val : n;
69
69
  }
70
70
  export * from "./lodash.js";
71
71
  export * from "./link.js";
@@ -114,7 +114,7 @@ export const getNuxtLinkProps = (props) => {
114
114
  }, {});
115
115
  };
116
116
  export const getULinkProps = (props) => {
117
- const keys = [...Object.keys(nuxtLinkProps), ...Object.keys(uLinkProps), "ariaLabel"];
117
+ const keys = [...Object.keys(nuxtLinkProps), ...Object.keys(uLinkProps), "ariaLabel", "title"];
118
118
  return keys.reduce((acc, key) => {
119
119
  if (props[key] !== void 0) {
120
120
  acc[key] = props[key];
@@ -9,7 +9,7 @@ export function get(object, path, defaultValue) {
9
9
  if (typeof path === "string") {
10
10
  path = path.split(".").map((key) => {
11
11
  const numKey = Number(key);
12
- return isNaN(numKey) ? key : numKey;
12
+ return Number.isNaN(numKey) ? key : numKey;
13
13
  });
14
14
  }
15
15
  let result = object;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
3
  "description": "A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.",
4
- "version": "2.18.6",
5
- "packageManager": "pnpm@9.11.0",
4
+ "version": "2.19.0",
5
+ "packageManager": "pnpm@9.12.3",
6
6
  "repository": "nuxt/ui",
7
7
  "homepage": "https://ui.nuxt.com",
8
8
  "type": "module",
@@ -26,7 +26,7 @@
26
26
  "build:docs": "nuxi generate docs",
27
27
  "lint": "eslint .",
28
28
  "lint:fix": "eslint . --fix",
29
- "typecheck": "vue-tsc --noEmit",
29
+ "typecheck": "vue-tsc --noEmit && nuxi typecheck docs",
30
30
  "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare docs",
31
31
  "release": "release-it",
32
32
  "test": "vitest"
@@ -34,50 +34,52 @@
34
34
  "dependencies": {
35
35
  "@headlessui/tailwindcss": "^0.2.1",
36
36
  "@headlessui/vue": "^1.7.23",
37
- "@iconify-json/heroicons": "^1.2.0",
38
- "@nuxt/icon": "^1.5.1",
39
- "@nuxt/kit": "^3.13.2",
40
- "@nuxtjs/color-mode": "^3.5.1",
41
- "@nuxtjs/tailwindcss": "^6.12.1",
37
+ "@iconify-json/heroicons": "^1.2.1",
38
+ "@nuxt/icon": "^1.6.1",
39
+ "@nuxt/kit": "^3.14.0",
40
+ "@nuxtjs/color-mode": "^3.5.2",
41
+ "@nuxtjs/tailwindcss": "^6.12.2",
42
42
  "@popperjs/core": "^2.11.8",
43
43
  "@tailwindcss/aspect-ratio": "^0.4.2",
44
44
  "@tailwindcss/container-queries": "^0.1.1",
45
45
  "@tailwindcss/forms": "^0.5.9",
46
46
  "@tailwindcss/typography": "^0.5.15",
47
- "@vueuse/core": "^11.1.0",
48
- "@vueuse/integrations": "^11.1.0",
49
- "@vueuse/math": "^11.1.0",
47
+ "@vueuse/core": "^11.2.0",
48
+ "@vueuse/integrations": "^11.2.0",
49
+ "@vueuse/math": "^11.2.0",
50
50
  "defu": "^6.1.4",
51
51
  "fuse.js": "^7.0.0",
52
52
  "ohash": "^1.1.4",
53
53
  "pathe": "^1.1.2",
54
54
  "scule": "^1.3.0",
55
- "tailwind-merge": "^2.5.2",
56
- "tailwindcss": "^3.4.12"
55
+ "tailwind-merge": "^2.5.4",
56
+ "tailwindcss": "^3.4.14"
57
57
  },
58
58
  "devDependencies": {
59
- "@nuxt/eslint-config": "^0.4.0",
59
+ "@nuxt/eslint-config": "^0.6.1",
60
60
  "@nuxt/module-builder": "^0.8.4",
61
- "@nuxt/test-utils": "^3.14.2",
62
- "@release-it/conventional-changelog": "^8.0.2",
61
+ "@nuxt/test-utils": "^3.14.4",
62
+ "@release-it/conventional-changelog": "^9.0.2",
63
63
  "@vue/test-utils": "^2.4.6",
64
- "eslint": "^8.57.0",
64
+ "eslint": "^9.14.0",
65
65
  "happy-dom": "^14.12.3",
66
66
  "joi": "^17.13.3",
67
- "nuxt": "^3.13.2",
68
- "release-it": "^17.6.0",
67
+ "nuxt": "^3.14.0",
68
+ "release-it": "^17.10.0",
69
+ "superstruct": "^2.0.2",
69
70
  "unbuild": "^2.0.0",
70
71
  "valibot": "^0.42.1",
71
72
  "valibot30": "npm:valibot@0.30.0",
72
73
  "valibot31": "npm:valibot@0.31.0",
73
- "vitest": "^2.1.1",
74
+ "vitest": "^2.1.4",
74
75
  "vitest-environment-nuxt": "^1.0.1",
75
- "vue-tsc": "^2.1.6",
76
+ "vue-tsc": "^2.1.10",
76
77
  "yup": "^1.4.0",
77
78
  "zod": "^3.23.8"
78
79
  },
79
80
  "resolutions": {
80
81
  "@nuxt/ui": "workspace:*",
82
+ "@nuxt/content": "2.13.2",
81
83
  "@nuxtjs/mdc": "0.9.0"
82
84
  }
83
85
  }