@una-ui/nuxt-edge 0.61.0-29182246.bc2c328 → 1.0.0-alpha.0-29173950.b6a8c03

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 (49) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +2 -2
  3. package/dist/runtime/components/alert-dialog/AlertDialogCancel.vue +1 -1
  4. package/dist/runtime/components/combobox/Combobox.vue +2 -1
  5. package/dist/runtime/components/combobox/ComboboxTrigger.vue +1 -1
  6. package/dist/runtime/components/data/table/Table.vue +0 -1
  7. package/dist/runtime/components/elements/Skeleton.vue +1 -1
  8. package/dist/runtime/components/elements/Skeleton.vue.d.ts +3 -1
  9. package/dist/runtime/components/elements/tabs/TabsTrigger.vue +1 -1
  10. package/dist/runtime/components/forms/Checkbox.vue +2 -2
  11. package/dist/runtime/components/forms/Checkbox.vue.d.ts +2 -0
  12. package/dist/runtime/components/forms/FormGroup.vue +1 -1
  13. package/dist/runtime/components/forms/Slider.vue +13 -11
  14. package/dist/runtime/components/forms/Slider.vue.d.ts +1 -0
  15. package/dist/runtime/components/forms/form/FormField.vue +1 -1
  16. package/dist/runtime/components/forms/select/SelectTrigger.vue +1 -1
  17. package/dist/runtime/components/misc/ThemeSwitcher.vue +75 -17
  18. package/dist/runtime/components/navigation/breadcrumb/BreadcrumbPage.vue +1 -1
  19. package/dist/runtime/components/sidebar/SidebarMenuSubButton.vue +2 -1
  20. package/dist/runtime/composables/useUnaSettings.js +11 -7
  21. package/dist/runtime/composables/useUnaThemes.d.ts +77 -5
  22. package/dist/runtime/composables/useUnaThemes.js +414 -98
  23. package/dist/runtime/plugins/theme.client.js +12 -0
  24. package/dist/runtime/plugins/theme.server.js +9 -0
  25. package/dist/runtime/types/index.d.ts +7 -2
  26. package/dist/runtime/types/index.js +0 -2
  27. package/package.json +10 -10
  28. package/dist/runtime/components/number-field/NumberField.vue +0 -73
  29. package/dist/runtime/components/number-field/NumberField.vue.d.ts +0 -28
  30. package/dist/runtime/components/number-field/NumberFieldContent.vue +0 -20
  31. package/dist/runtime/components/number-field/NumberFieldContent.vue.d.ts +0 -13
  32. package/dist/runtime/components/number-field/NumberFieldDecrement.vue +0 -33
  33. package/dist/runtime/components/number-field/NumberFieldDecrement.vue.d.ts +0 -16
  34. package/dist/runtime/components/number-field/NumberFieldIncrement.vue +0 -33
  35. package/dist/runtime/components/number-field/NumberFieldIncrement.vue.d.ts +0 -16
  36. package/dist/runtime/components/number-field/NumberFieldInput.vue +0 -24
  37. package/dist/runtime/components/number-field/NumberFieldInput.vue.d.ts +0 -5
  38. package/dist/runtime/components/pin-input/PinInput.vue +0 -139
  39. package/dist/runtime/components/pin-input/PinInput.vue.d.ts +0 -33
  40. package/dist/runtime/components/pin-input/PinInputGroup.vue +0 -28
  41. package/dist/runtime/components/pin-input/PinInputGroup.vue.d.ts +0 -13
  42. package/dist/runtime/components/pin-input/PinInputSeparator.vue +0 -30
  43. package/dist/runtime/components/pin-input/PinInputSeparator.vue.d.ts +0 -15
  44. package/dist/runtime/components/pin-input/PinInputSlot.vue +0 -46
  45. package/dist/runtime/components/pin-input/PinInputSlot.vue.d.ts +0 -5
  46. package/dist/runtime/types/number-field.d.ts +0 -48
  47. package/dist/runtime/types/number-field.js +0 -0
  48. package/dist/runtime/types/pin-input.d.ts +0 -88
  49. package/dist/runtime/types/pin-input.js +0 -0
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@una-ui/nuxt-edge",
3
3
  "configKey": "una",
4
- "version": "0.61.0-29182246.bc2c328",
4
+ "version": "1.0.0-alpha.0-29173950.b6a8c03",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.0.0"
7
7
  },
package/dist/module.mjs CHANGED
@@ -8,7 +8,7 @@ import 'unocss';
8
8
  import 'unocss-preset-animations';
9
9
 
10
10
  const name = "@una-ui/nuxt-edge";
11
- const version = "0.61.0-29182246.bc2c328";
11
+ const version = "1.0.0-alpha.0-29173950.b6a8c03";
12
12
 
13
13
  const module = defineNuxtModule({
14
14
  meta: {
@@ -33,7 +33,7 @@ const module = defineNuxtModule({
33
33
  ...{
34
34
  primary: "yellow",
35
35
  gray: "stone",
36
- radius: 0.5,
36
+ radius: 0.625,
37
37
  fontSize: 16
38
38
  },
39
39
  ...nuxt.options.appConfig.una || {}
@@ -15,7 +15,7 @@ const props = defineProps({
15
15
  block: { type: Boolean, required: false },
16
16
  to: { type: null, required: false },
17
17
  label: { type: String, required: false, default: "Cancel" },
18
- btn: { type: String, required: false, default: "solid-gray" },
18
+ btn: { type: String, required: false, default: "outline-gray" },
19
19
  leading: { type: String, required: false },
20
20
  trailing: { type: String, required: false },
21
21
  size: { type: String, required: false },
@@ -206,8 +206,9 @@ function isItemSelected(item) {
206
206
  <slot name="input-wrapper" :model-value :open>
207
207
  <ComboboxInput
208
208
  v-if="$slots.trigger || $slots.triggerRoot"
209
+ input="~"
209
210
  :class="cn(
210
- 'border-0 border-b-1 rounded-none text-1em focus-visible:ring-0',
211
+ 'border-b-1 rounded-none text-1em',
211
212
  props._comboboxInput?.class
212
213
  )"
213
214
  leading="combobox-input-leading-icon"
@@ -20,7 +20,7 @@ const props = defineProps({
20
20
  block: { type: Boolean, required: false },
21
21
  to: { type: null, required: false },
22
22
  label: { type: String, required: false },
23
- btn: { type: String, required: false, default: "solid-white" },
23
+ btn: { type: String, required: false, default: "outline-gray" },
24
24
  leading: { type: String, required: false },
25
25
  trailing: { type: String, required: false },
26
26
  size: { type: String, required: false },
@@ -213,7 +213,6 @@ const table = useVueTable({
213
213
  getFilteredRowModel: getFilteredRowModel(),
214
214
  getPaginationRowModel: getPaginationRowModel(),
215
215
  getRowId: (row) => props.rowId ? row[props.rowId] : row.id,
216
- getSubRows: (row) => row.subRows,
217
216
  getExpandedRowModel: getExpandedRowModel(),
218
217
  onSortingChange: (updaterOrValue) => valueUpdater(updaterOrValue, sorting),
219
218
  onRowSelectionChange: (updaterOrValue) => valueUpdater(updaterOrValue, rowSelection),
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { cn } from "../../utils";
3
3
  const props = defineProps({
4
- skeleton: { type: null, required: false },
4
+ skeleton: { type: null, required: false, default: "gray" },
5
5
  size: { type: null, required: false },
6
6
  rounded: { type: null, required: false },
7
7
  una: { type: Object, required: false },
@@ -3,7 +3,9 @@ declare var __VLS_1: {};
3
3
  type __VLS_Slots = {} & {
4
4
  default?: (props: typeof __VLS_1) => any;
5
5
  };
6
- declare const __VLS_component: import("vue").DefineComponent<NSkeletonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NSkeletonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const __VLS_component: import("vue").DefineComponent<NSkeletonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NSkeletonProps> & Readonly<{}>, {
7
+ skeleton: import("vue").HTMLAttributes["class"];
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
9
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
8
10
  export default _default;
9
11
  type __VLS_WithSlots<T, S> = T & {
@@ -31,7 +31,7 @@ const props = defineProps({
31
31
  dropdownMenu: { type: String, required: false },
32
32
  toggleOn: { type: String, required: false },
33
33
  toggleOff: { type: String, required: false },
34
- tabsActive: { type: String, required: false, default: "soft-black" },
34
+ tabsActive: { type: String, required: false, default: "outline-gray" },
35
35
  tabsInactive: { type: String, required: false },
36
36
  navigationMenu: { type: String, required: false },
37
37
  navigationMenuLink: { type: String, required: false },
@@ -9,9 +9,9 @@ defineOptions({
9
9
  inheritAttrs: false
10
10
  });
11
11
  const props = defineProps({
12
- checkbox: { type: String, required: false },
12
+ checkbox: { type: String, required: false, default: "primary" },
13
13
  label: { type: String, required: false },
14
- size: { type: String, required: false },
14
+ size: { type: String, required: false, default: "md" },
15
15
  reverse: { type: Boolean, required: false },
16
16
  forceMount: { type: Boolean, required: false, default: true },
17
17
  _checkboxIndicator: { type: Object, required: false },
@@ -10,7 +10,9 @@ declare const __VLS_component: import("vue").DefineComponent<NCheckboxProps, {},
10
10
  }, string, import("vue").PublicProps, Readonly<NCheckboxProps> & Readonly<{
11
11
  "onUpdate:modelValue"?: ((value: boolean | "indeterminate") => any) | undefined;
12
12
  }>, {
13
+ size: string;
13
14
  forceMount: boolean;
15
+ checkbox: string;
14
16
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
17
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
16
18
  export default _default;
@@ -25,7 +25,7 @@ const statusClassVariants = computed(() => {
25
25
  success: "text-success",
26
26
  warning: "text-warning",
27
27
  error: "text-error",
28
- default: "text-muted"
28
+ default: "text-muted-foreground"
29
29
  };
30
30
  return text[props.status ?? "default"];
31
31
  });
@@ -1,11 +1,10 @@
1
1
  <script setup>
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from "reka-ui";
4
- import { computed } from "vue";
5
4
  import { cn } from "../../utils";
6
5
  const props = defineProps({
7
6
  slider: { type: String, required: false, default: "primary" },
8
- size: { type: String, required: false },
7
+ size: { type: String, required: false, default: "md" },
9
8
  una: { type: Object, required: false },
10
9
  defaultValue: { type: Array, required: false },
11
10
  modelValue: { type: [Array, null], required: false },
@@ -25,37 +24,39 @@ const props = defineProps({
25
24
  class: { type: null, required: false }
26
25
  });
27
26
  const emits = defineEmits(["update:modelValue", "valueCommit"]);
28
- const rootProps = reactiveOmit(props, ["class", "una", "slider", "una"]);
27
+ const rootProps = reactiveOmit(props, ["class", "una", "slider"]);
29
28
  const forwarded = useForwardPropsEmits(rootProps, emits);
30
- const isVertical = computed(() => props.orientation === "vertical");
31
29
  </script>
32
30
 
33
31
  <template>
34
32
  <SliderRoot
35
33
  v-slot="{ modelValue }"
34
+ data-slot="slider-root"
36
35
  :class="cn(
37
- 'slider-root',
38
- isVertical && 'slider-root-vertical',
36
+ 'relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',
37
+ // \'slider-root\',
39
38
  props.class,
40
- props.una?.sliderRoot,
41
- disabled && 'slider-disabled'
39
+ props.una?.sliderRoot
42
40
  )"
43
41
  v-bind="forwarded"
44
42
  :slider="slider"
43
+ :size="size"
45
44
  >
46
45
  <slot name="slider-track">
47
46
  <SliderTrack
47
+ data-slot="slider-track"
48
48
  :class="cn(
49
49
  'slider-track',
50
- isVertical && 'slider-track-vertical',
51
50
  props.una?.sliderTrack
52
51
  )"
52
+ :size
53
53
  >
54
54
  <slot name="slider-range">
55
55
  <SliderRange
56
+ data-slot="slider-range"
57
+ :size
56
58
  :class="cn(
57
59
  'slider-range',
58
- isVertical && 'slider-range-vertical',
59
60
  props.una?.sliderRange
60
61
  )"
61
62
  />
@@ -67,9 +68,10 @@ const isVertical = computed(() => props.orientation === "vertical");
67
68
  <SliderThumb
68
69
  v-for="(_, key) in modelValue"
69
70
  :key="key"
71
+ data-slot="slider-thumb"
72
+ :size
70
73
  :class="cn(
71
74
  'slider-thumb',
72
- isVertical && 'slider-thumb-vertical',
73
75
  props.una?.sliderThumb
74
76
  )"
75
77
  />
@@ -14,6 +14,7 @@ declare const __VLS_component: import("vue").DefineComponent<NSliderProps, {}, {
14
14
  "onUpdate:modelValue"?: ((payload: number[] | undefined) => any) | undefined;
15
15
  onValueCommit?: ((payload: number[]) => any) | undefined;
16
16
  }>, {
17
+ size: string;
17
18
  slider: string;
18
19
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
20
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -32,7 +32,7 @@ const statusClassVariants = computed(() => {
32
32
  success: "text-success",
33
33
  warning: "text-warning",
34
34
  error: "text-error",
35
- default: "text-muted"
35
+ default: "text-muted-foreground"
36
36
  };
37
37
  return text[props.status ?? "default"];
38
38
  });
@@ -7,7 +7,7 @@ import Button from "../../elements/Button.vue";
7
7
  import Icon from "../../elements/Icon.vue";
8
8
  const props = defineProps({
9
9
  id: { type: String, required: false },
10
- select: { type: String, required: false, default: "solid-white" },
10
+ select: { type: String, required: false, default: "outline-gray" },
11
11
  status: { type: String, required: false },
12
12
  una: { type: Object, required: false },
13
13
  disabled: { type: Boolean, required: false },
@@ -6,27 +6,41 @@ import { useUnaSettings } from "../../composables/useUnaSettings";
6
6
  import { useUnaThemes } from "../../composables/useUnaThemes";
7
7
  import { RADIUS } from "../../constants";
8
8
  import Button from "../elements/Button.vue";
9
+ import Icon from "../elements/Icon.vue";
9
10
  import Label from "../elements/Label.vue";
10
11
  import Popover from "../elements/popover/Popover.vue";
11
12
  import Separator from "../elements/Separator.vue";
12
13
  const colorMode = useColorMode();
13
14
  const [value, toggle] = useToggle();
14
- const { primaryThemes, grayThemes } = useUnaThemes();
15
+ const { primaryThemes, grayThemes, predefinedThemes } = useUnaThemes();
15
16
  const { settings, reset } = useUnaSettings();
16
17
  const currentPrimaryThemeHex = computed(() => settings.value.primaryColors?.["--una-primary-hex"]);
17
18
  const currentPrimaryThemeName = computed(() => {
19
+ if (settings.value.theme) {
20
+ return settings.value.theme.name;
21
+ }
18
22
  const theme = primaryThemes.find(([, theme2]) => theme2["--una-primary-hex"] === currentPrimaryThemeHex.value);
19
23
  return theme ? theme[0] : "";
20
24
  });
21
25
  const currentGrayThemeHex = computed(() => settings.value.grayColors?.["--una-gray-hex"]);
22
26
  const currentGrayThemeName = computed(() => {
27
+ if (settings.value.theme !== null) {
28
+ return false;
29
+ }
23
30
  const theme = grayThemes.find(([, theme2]) => theme2["--una-gray-hex"] === currentGrayThemeHex.value);
24
31
  return theme ? theme[0] : "";
25
32
  });
33
+ function updateColor(theme) {
34
+ settings.value.theme = theme;
35
+ settings.value.primary = "";
36
+ settings.value.gray = "";
37
+ }
26
38
  function updatePrimaryTheme(theme) {
39
+ settings.value.theme = null;
27
40
  settings.value.primary = theme;
28
41
  }
29
42
  function updateGrayTheme(theme) {
43
+ settings.value.theme = null;
30
44
  settings.value.gray = theme;
31
45
  }
32
46
  function shuffleTheme() {
@@ -62,8 +76,7 @@ function shuffleTheme() {
62
76
  <slot name="trigger" :open="open">
63
77
  <Button
64
78
  btn="soft"
65
- square
66
- icon
79
+ icon square
67
80
  label="i-lucide-paintbrush"
68
81
  />
69
82
  </slot>
@@ -72,32 +85,77 @@ function shuffleTheme() {
72
85
  <slot name="content">
73
86
  <div class="flex flex-col">
74
87
  <div class="grid space-y-1">
75
- <h1 class="text-md text-base font-semibold">
88
+ <h1 class="text-md text-foreground font-semibold">
76
89
  Customize
77
90
  </h1>
78
- <p class="text-xs text-muted">
91
+ <p class="text-xs text-muted-foreground">
79
92
  Pick a style and color for your components.
80
93
  </p>
81
94
  </div>
82
95
 
83
96
  <Separator />
84
97
 
98
+ <div class="space-y-2">
99
+ <Label for="color" class="text-xs"> Themes</Label>
100
+ <div class="grid grid-cols-2 gap-3">
101
+ <template
102
+ v-for="theme in predefinedThemes"
103
+ :key="theme.name"
104
+ >
105
+ <Button
106
+ v-if="theme"
107
+ btn="solid-gray"
108
+ size="xs"
109
+ :title="capitalize(theme?.name)"
110
+ class="justify-start gap-2 ring-primary"
111
+ :aria-label="`Theme: ${theme.name}`"
112
+ :class="currentPrimaryThemeName === theme?.name && 'ring-2'"
113
+ @click="updateColor(theme)"
114
+ >
115
+ <template #leading>
116
+ <Icon
117
+ name="i-tabler-circle-filled"
118
+ square="4.5"
119
+ :style="{
120
+ '--c-primary': `oklch(${theme?.cssVars.dark['--una-primary']})`,
121
+ '--c-primary-foreground': `oklch(${theme?.cssVars.dark['--una-background']})`
122
+ }"
123
+ class="shrink-0 rounded-full from-$c-primary to-$c-primary-foreground from-20% bg-gradient-to-b"
124
+ />
125
+ </template>
126
+
127
+ <span class="truncate text-xs">
128
+ {{ theme.name }}
129
+ </span>
130
+ </Button>
131
+ </template>
132
+ </div>
133
+ </div>
134
+
135
+ <Separator />
136
+
85
137
  <div class="space-y-2">
86
138
  <Label for="color" class="text-xs"> Primary Color</Label>
87
139
  <div class="grid grid-cols-7 gap-3">
88
- <button
140
+ <template
89
141
  v-for="[key, theme] in primaryThemes"
90
142
  :key="key"
91
- :title="capitalize(key)"
92
- :style="{ background: theme['--una-primary-hex'] }"
93
- class="transition-all"
94
- rounded="full"
95
- square="6.5"
96
- :class="[currentPrimaryThemeName === key ? 'ring-2' : 'scale-93']"
97
- ring="primary offset-4 offset-base"
98
- :aria-label="`Primary Color: ${key}`"
99
- @click="updatePrimaryTheme(key)"
100
- />
143
+ >
144
+ <button
145
+ :title="capitalize(key)"
146
+ :style="{
147
+ '--c-primary': `oklch(${theme['--una-primary-600']})`,
148
+ '--c-primary-foreground': `oklch(${theme['--una-primary-500']})`
149
+ }"
150
+ class="bg-$c-primary transition-all dark:bg-$c-primary-foreground"
151
+ rounded="full"
152
+ square="6.5"
153
+ :class="[currentPrimaryThemeName === key ? 'ring-2' : 'scale-93']"
154
+ ring="primary offset-4 offset-background"
155
+ :aria-label="`Primary Color: ${key}`"
156
+ @click="updatePrimaryTheme(key)"
157
+ />
158
+ </template>
101
159
  </div>
102
160
  </div>
103
161
 
@@ -116,7 +174,7 @@ function shuffleTheme() {
116
174
  rounded="full"
117
175
  square="6.5"
118
176
  :aria-label="`Gray Color: ${key}`"
119
- ring="gray offset-4 offset-base"
177
+ ring="gray offset-4 offset-background"
120
178
  @click="updateGrayTheme(key)"
121
179
  />
122
180
  </div>
@@ -10,7 +10,7 @@ const props = defineProps({
10
10
  role="link"
11
11
  aria-disabled="true"
12
12
  aria-current="page"
13
- :class="cn('font-normal text-base', props.class)"
13
+ :class="cn('font-normal text-foreground', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </span>
@@ -1,13 +1,14 @@
1
1
  <script setup>
2
2
  import { Primitive } from "reka-ui";
3
3
  import { cn } from "../../utils";
4
+ import NLink from "../elements/Link.vue";
4
5
  const props = defineProps({
5
6
  isActive: { type: Boolean, required: false },
6
7
  size: { type: String, required: false, default: "md" },
7
8
  class: { type: null, required: false },
8
9
  una: { type: Object, required: false },
9
10
  asChild: { type: Boolean, required: false },
10
- as: { type: [String, Object, Function], required: false, default: "a" }
11
+ as: { type: [String, Object, Function], required: false, default: NLink }
11
12
  });
12
13
  </script>
13
14
 
@@ -1,7 +1,6 @@
1
- import { useAppConfig } from "#imports";
1
+ import { useAppConfig, watch } from "#imports";
2
2
  import { useStorage } from "@vueuse/core";
3
3
  import { defu } from "defu";
4
- import { watchEffect } from "vue";
5
4
  import { useUnaThemes } from "./useUnaThemes.js";
6
5
  export function useUnaSettings() {
7
6
  const { una } = useAppConfig();
@@ -12,15 +11,20 @@ export function useUnaSettings() {
12
11
  primary: una.primary,
13
12
  gray: una.gray,
14
13
  radius: una.radius,
15
- fontSize: una.fontSize
14
+ fontSize: una.fontSize,
15
+ theme: null
16
16
  };
17
17
  const settings = useStorage("una-settings", defaultSettings, void 0, {
18
18
  mergeDefaults: defu
19
19
  });
20
- watchEffect(() => {
21
- settings.value.primaryColors = getPrimaryColors(settings.value.primary || una.primary);
22
- settings.value.grayColors = getGrayColors(settings.value.gray || una.gray);
23
- });
20
+ watch(
21
+ () => [settings.value.primary, settings.value.gray],
22
+ ([primary, gray]) => {
23
+ settings.value.primaryColors = getPrimaryColors(primary, una.primary);
24
+ settings.value.grayColors = getGrayColors(gray, una.gray);
25
+ },
26
+ { immediate: true }
27
+ );
24
28
  function reset() {
25
29
  settings.value.primary = defaultSettings.primary;
26
30
  settings.value.gray = defaultSettings.gray;
@@ -1,8 +1,80 @@
1
1
  import type { Colors } from '../types/index.js';
2
- export interface UseUnaThemesReturn {
2
+ export declare function useUnaThemes(): {
3
3
  primaryThemes: [string, Colors][];
4
4
  grayThemes: [string, Colors][];
5
- getPrimaryColors: (color: string) => Colors;
6
- getGrayColors: (color: string) => Colors;
7
- }
8
- export declare function useUnaThemes(): UseUnaThemesReturn;
5
+ predefinedThemes: {
6
+ name: string;
7
+ cssVars: {
8
+ light: {
9
+ '--una-background': string;
10
+ '--una-foreground': string;
11
+ '--una-card': string;
12
+ '--una-card-foreground': string;
13
+ '--una-popover': string;
14
+ '--una-popover-foreground': string;
15
+ '--una-primary': string;
16
+ '--una-primary-foreground': string;
17
+ '--una-secondary': string;
18
+ '--una-secondary-foreground': string;
19
+ '--una-muted': string;
20
+ '--una-muted-foreground': string;
21
+ '--una-accent': string;
22
+ '--una-accent-foreground': string;
23
+ '--una-destructive': string;
24
+ '--una-destructive-foreground': string;
25
+ '--una-border': string;
26
+ '--una-input': string;
27
+ '--una-ring': string;
28
+ '--una-chart-1': string;
29
+ '--una-chart-2': string;
30
+ '--una-chart-3': string;
31
+ '--una-chart-4': string;
32
+ '--una-chart-5': string;
33
+ '--una-sidebar': string;
34
+ '--una-sidebar-foreground': string;
35
+ '--una-sidebar-primary': string;
36
+ '--una-sidebar-primary-foreground': string;
37
+ '--una-sidebar-accent': string;
38
+ '--una-sidebar-accent-foreground': string;
39
+ '--una-sidebar-border': string;
40
+ '--una-sidebar-ring': string;
41
+ };
42
+ dark: {
43
+ '--una-background': string;
44
+ '--una-foreground': string;
45
+ '--una-card': string;
46
+ '--una-card-foreground': string;
47
+ '--una-popover': string;
48
+ '--una-popover-foreground': string;
49
+ '--una-primary': string;
50
+ '--una-primary-foreground': string;
51
+ '--una-secondary': string;
52
+ '--una-secondary-foreground': string;
53
+ '--una-muted': string;
54
+ '--una-muted-foreground': string;
55
+ '--una-accent': string;
56
+ '--una-accent-foreground': string;
57
+ '--una-destructive': string;
58
+ '--una-destructive-foreground': string;
59
+ '--una-border': string;
60
+ '--una-input': string;
61
+ '--una-ring': string;
62
+ '--una-chart-1': string;
63
+ '--una-chart-2': string;
64
+ '--una-chart-3': string;
65
+ '--una-chart-4': string;
66
+ '--una-chart-5': string;
67
+ '--una-sidebar': string;
68
+ '--una-sidebar-foreground': string;
69
+ '--una-sidebar-primary': string;
70
+ '--una-sidebar-primary-foreground': string;
71
+ '--una-sidebar-accent': string;
72
+ '--una-sidebar-accent-foreground': string;
73
+ '--una-sidebar-border': string;
74
+ '--una-sidebar-ring': string;
75
+ };
76
+ };
77
+ }[];
78
+ getPrimaryColors: (color: string, defaultColor?: string) => Colors;
79
+ getGrayColors: (color: string, defaultColor?: string) => Colors;
80
+ };