@octabits-io/nuxt-ui-kit 0.14.0 → 0.14.2

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.
@@ -45,7 +45,9 @@ function useLocaleTabs(hasValue, source, registerOverride = false) {
45
45
  const isVariant = (loc) => baseLocaleOf(loc) !== loc && supportedLocales.value.includes(baseLocaleOf(loc));
46
46
  const visibleLocales = computed(() => {
47
47
  const filtered = toValue(registerOverride) ? supportedLocales.value : supportedLocales.value.filter((loc) => !isVariant(loc));
48
- return filtered.includes(defaultLocale.value) ? filtered : [...filtered, defaultLocale.value];
48
+ const withDefault = filtered.includes(defaultLocale.value) ? filtered : [...filtered, defaultLocale.value];
49
+ if (!defaultLocale.value) return withDefault;
50
+ return [defaultLocale.value, ...withDefault.filter((loc) => loc !== defaultLocale.value)];
49
51
  });
50
52
  const active = ref("");
51
53
  watchEffect(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octabits-io/nuxt-ui-kit",
3
- "version": "0.14.0",
3
+ "version": "0.14.2",
4
4
  "description": "Frontend kit for Nuxt/Vue admin SPAs: OIDC session harness (oidc-client-ts), Eden Treaty client factory, auth/org store cores, and a route-guard builder — factory-style seams the app wires into its own plugins, stores, and middleware",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -78,9 +78,9 @@
78
78
  "elysia": "^1.4.29",
79
79
  "oidc-client-ts": "^3.5.0",
80
80
  "vitest": "^4.1.10",
81
- "vue": "^3.5.40",
81
+ "vue": "^3.5.41",
82
82
  "zod": "^4.4.3",
83
- "@octabits-io/framework": "^0.19.1"
83
+ "@octabits-io/framework": "^0.22.0"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@elysiajs/eden": "^1.4.0",
@@ -59,7 +59,10 @@ const tooltipText = computed(() =>
59
59
  const buttonProps = computed<Partial<ButtonProps>>(() => {
60
60
  const base: Partial<ButtonProps> = {
61
61
  icon: props.icon,
62
- size: 'sm',
62
+ // `md` (the Nuxt UI default) — header actions read at the same text size as
63
+ // the buttons in the page body. `sm` renders text-xs, which looked shrunken
64
+ // next to its own icon and next to every other button on the page.
65
+ size: 'md',
63
66
  loading: props.loading,
64
67
  disabled: props.disabled || props.loading || isBlocked.value,
65
68
  to: props.to,
@@ -157,10 +157,12 @@ const hasUtilityRegion = computed(() =>
157
157
  @click="item.onSelect?.()"
158
158
  />
159
159
  <!-- AI cluster: soft-primary sparkles = "AI acts on data". One item → its
160
- verb label; several → the shared labeled dropdown. -->
160
+ verb label; several → the shared labeled dropdown. `size="md"` matches
161
+ PageAction — AiButton keeps its `sm` default for in-page triggers. -->
161
162
  <AiButton
162
163
  v-if="inlineAiItems.length === 1"
163
164
  :label="inlineAiItems[0]!.label"
165
+ size="md"
164
166
  :loading="inlineAiItems[0]!.loading"
165
167
  :disabled="inlineAiItems[0]!.disabled || Boolean(inlineAiItems[0]!.disabledReason)"
166
168
  @click="inlineAiItems[0]!.onSelect?.()"
@@ -176,7 +178,7 @@ const hasUtilityRegion = computed(() =>
176
178
  itemDescription: 'mt-0.5 whitespace-normal text-xs/4',
177
179
  }"
178
180
  >
179
- <AiButton :label="t('pageChrome.ai')" trailing-icon="i-lucide-chevron-down" />
181
+ <AiButton :label="t('pageChrome.ai')" size="md" trailing-icon="i-lucide-chevron-down" />
180
182
  <template #item-leading="{ item }">
181
183
  <span
182
184
  class="flex size-8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-primary/20 to-primary/5 text-primary ring-1 ring-primary/20 ring-inset"
@@ -108,7 +108,7 @@ const titleClass = computed(() => props.density === 'compact' ? 'font-display te
108
108
  icon="i-lucide-arrow-left"
109
109
  color="neutral"
110
110
  variant="ghost"
111
- size="sm"
111
+ size="md"
112
112
  :aria-label="t('pageChrome.back')"
113
113
  @click="onBack"
114
114
  />
@@ -22,7 +22,7 @@ const showHelp = computed(() => Boolean(helpPanel?.hasActions.value))
22
22
  v-if="helpPanel"
23
23
  icon="i-lucide-circle-help"
24
24
  :label="t('pageChrome.help')"
25
- size="sm"
25
+ size="md"
26
26
  color="neutral"
27
27
  :variant="helpPanel.isOpen.value ? 'soft' : 'ghost'"
28
28
  @click="helpPanel.toggle()"