rimelight-components 2.0.60 → 2.0.63

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 (54) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +1 -2
  3. package/dist/runtime/app.config.d.ts +4 -0
  4. package/dist/runtime/app.config.js +4 -0
  5. package/dist/runtime/components/blocks/BlockEditRenderer.d.vue.ts +1 -1
  6. package/dist/runtime/components/blocks/BlockEditRenderer.vue.d.ts +1 -1
  7. package/dist/runtime/components/blocks/BlockEditor.d.vue.ts +1 -1
  8. package/dist/runtime/components/blocks/BlockEditor.vue +1 -1
  9. package/dist/runtime/components/blocks/BlockEditor.vue.d.ts +1 -1
  10. package/dist/runtime/components/blocks/BlockViewRenderer.d.vue.ts +1 -1
  11. package/dist/runtime/components/blocks/BlockViewRenderer.vue.d.ts +1 -1
  12. package/dist/runtime/components/blocks/TOC.d.vue.ts +2 -2
  13. package/dist/runtime/components/blocks/TOC.vue.d.ts +2 -2
  14. package/dist/runtime/components/blocks/TextRenderer.d.vue.ts +1 -1
  15. package/dist/runtime/components/blocks/TextRenderer.vue.d.ts +1 -1
  16. package/dist/runtime/components/blocks/editor/ParagraphBlockEditor.d.vue.ts +1 -1
  17. package/dist/runtime/components/blocks/editor/ParagraphBlockEditor.vue.d.ts +1 -1
  18. package/dist/runtime/components/blocks/editor/SectionBlockEditor.d.vue.ts +1 -1
  19. package/dist/runtime/components/blocks/editor/SectionBlockEditor.vue.d.ts +1 -1
  20. package/dist/runtime/components/blocks/editor/TestBlockEditor.d.vue.ts +1 -1
  21. package/dist/runtime/components/blocks/editor/TestBlockEditor.vue.d.ts +1 -1
  22. package/dist/runtime/components/content/Section.vue +1 -1
  23. package/dist/runtime/components/page/PageEditor.d.vue.ts +17 -5
  24. package/dist/runtime/components/page/PageEditor.vue +1 -1
  25. package/dist/runtime/components/page/PageEditor.vue.d.ts +17 -5
  26. package/dist/runtime/components/page/PagePropertiesEditor.d.vue.ts +9 -3
  27. package/dist/runtime/components/page/PagePropertiesEditor.vue +16 -12
  28. package/dist/runtime/components/page/PagePropertiesEditor.vue.d.ts +9 -3
  29. package/dist/runtime/components/page/PagePropertiesRenderer.d.vue.ts +1 -1
  30. package/dist/runtime/components/page/PagePropertiesRenderer.vue +25 -17
  31. package/dist/runtime/components/page/PagePropertiesRenderer.vue.d.ts +1 -1
  32. package/dist/runtime/components/swatches/ColorSwatch.vue +1 -1
  33. package/dist/runtime/composables/index.d.ts +3 -0
  34. package/dist/runtime/composables/index.js +3 -0
  35. package/dist/runtime/composables/useBlockEditor.d.ts +131 -131
  36. package/dist/runtime/composables/usePageEditor.d.ts +1 -1
  37. package/dist/runtime/types/app.config.d.ts +10 -2
  38. package/dist/runtime/types/index.d.ts +3 -4
  39. package/dist/runtime/types/index.js +0 -1
  40. package/dist/runtime/types/pages.d.ts +31 -109
  41. package/dist/runtime/types/pages.js +3 -58
  42. package/dist/runtime/types/schemas.d.ts +0 -6
  43. package/dist/runtime/types/schemas.js +0 -10
  44. package/dist/runtime/utils/blockMapper.d.ts +1 -1
  45. package/dist/runtime/utils/database.d.ts +6 -0
  46. package/dist/runtime/utils/database.js +10 -0
  47. package/dist/runtime/utils/index.d.ts +4 -3
  48. package/dist/runtime/utils/index.js +1 -0
  49. package/dist/runtime/utils/page.d.ts +7 -4
  50. package/dist/runtime/utils/page.js +64 -13
  51. package/dist/runtime/utils/richTextHelpers.d.ts +1 -1
  52. package/package.json +30 -23
  53. package/dist/runtime/types/pageTemplates.d.ts +0 -3
  54. package/dist/runtime/types/pageTemplates.js +0 -173
package/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rimelight-components",
3
- "version": "2.0.60",
3
+ "version": "2.0.63",
4
4
  "docs": "https://rimelight.com/tools/rimelight-components",
5
5
  "configKey": "rimelightComponents",
6
6
  "compatibility": {
package/dist/module.mjs CHANGED
@@ -2,10 +2,9 @@ import { addTemplate, defineNuxtModule, createResolver, addComponentsDir, addImp
2
2
  import { defu } from 'defu';
3
3
  import { readdirSync } from 'node:fs';
4
4
  import { basename } from 'node:path';
5
- export * from '../dist/runtime/types/index.js';
6
5
 
7
6
  const name = "rimelight-components";
8
- const version = "2.0.60";
7
+ const version = "2.0.63";
9
8
  const homepage = "https://rimelight.com/tools/rimelight-components";
10
9
 
11
10
  const defaultOptions = {
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ rimelightComponents: {};
3
+ };
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { defineAppConfig } from "#imports";
2
+ export default defineAppConfig({
3
+ rimelightComponents: {}
4
+ });
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  blocks: Block[];
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  blocks: Block[];
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  export interface BlockEditorProps {
3
3
  historyLimit?: number;
4
4
  }
@@ -16,7 +16,7 @@ const {
16
16
  redo,
17
17
  canUndo,
18
18
  canRedo
19
- } = useBlockEditor(blocks, historyLimit);
19
+ } = useBlockEditor(blocks, { maxHistorySize: historyLimit });
20
20
  provide("block-editor-api", {
21
21
  removeBlock,
22
22
  moveBlock,
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  export interface BlockEditorProps {
3
3
  historyLimit?: number;
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  blocks: Block[];
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { Block } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  blocks: Block[];
4
4
  };
@@ -1,5 +1,5 @@
1
- import type { Block } from "../../types/blocks.js";
2
- import type { HeadingLevel } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
+ import type { HeadingLevel } from "../../types/blocks";
3
3
  export interface TOCItem {
4
4
  id: string;
5
5
  title: string;
@@ -1,5 +1,5 @@
1
- import type { Block } from "../../types/blocks.js";
2
- import type { HeadingLevel } from "../../types/blocks.js";
1
+ import type { Block } from "../../types/blocks";
2
+ import type { HeadingLevel } from "../../types/blocks";
3
3
  export interface TOCItem {
4
4
  id: string;
5
5
  title: string;
@@ -1,4 +1,4 @@
1
- import { type RichTextContent } from "../../types/blocks.js";
1
+ import { type RichTextContent } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  content: RichTextContent;
4
4
  };
@@ -1,4 +1,4 @@
1
- import { type RichTextContent } from "../../types/blocks.js";
1
+ import { type RichTextContent } from "../../types/blocks";
2
2
  type __VLS_Props = {
3
3
  content: RichTextContent;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { ParagraphBlockProps } from "../../../types/blocks.js";
1
+ import type { ParagraphBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = ParagraphBlockProps & {
3
3
  id: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { ParagraphBlockProps } from "../../../types/blocks.js";
1
+ import type { ParagraphBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = ParagraphBlockProps & {
3
3
  id: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { SectionBlockProps } from "../../../types/blocks.js";
1
+ import type { SectionBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = SectionBlockProps & {
3
3
  id: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { SectionBlockProps } from "../../../types/blocks.js";
1
+ import type { SectionBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = SectionBlockProps & {
3
3
  id: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { TestBlockProps } from "../../../types/blocks.js";
1
+ import type { TestBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = TestBlockProps & {
3
3
  id: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { TestBlockProps } from "../../../types/blocks.js";
1
+ import type { TestBlockProps } from "../../../types/blocks";
2
2
  type __VLS_Props = TestBlockProps & {
3
3
  id: string;
4
4
  };
@@ -2,7 +2,7 @@
2
2
  import { useRoute } from "#imports";
3
3
  import { computed } from "vue";
4
4
  import { useClipboard } from "@vueuse/core";
5
- import { useToast } from "#imports";
5
+ import { useToast } from "@nuxt/ui/composables";
6
6
  import { tv } from "tailwind-variants";
7
7
  import { slugify } from "../../utils";
8
8
  const { copy } = useClipboard();
@@ -1,4 +1,4 @@
1
- import type { Page } from "../../types/pages.js";
1
+ import type { Page } from "../../types/pages";
2
2
  interface Props {
3
3
  isSaving: boolean;
4
4
  }
@@ -13,12 +13,24 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
13
13
  canUndo: import("vue").ComputedRef<boolean>;
14
14
  canRedo: import("vue").ComputedRef<boolean>;
15
15
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
- "update:modelValue": (value: Page) => any;
16
+ "update:modelValue": (value: {
17
+ type: "Default";
18
+ properties: import("../../types").BasePageProperties;
19
+ } & import("../../types").BasePage) => any;
17
20
  } & {
18
- save: (value: Page) => any;
21
+ save: (value: {
22
+ type: "Default";
23
+ properties: import("../../types").BasePageProperties;
24
+ } & import("../../types").BasePage) => any;
19
25
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
- onSave?: ((value: Page) => any) | undefined;
21
- "onUpdate:modelValue"?: ((value: Page) => any) | undefined;
26
+ onSave?: ((value: {
27
+ type: "Default";
28
+ properties: import("../../types").BasePageProperties;
29
+ } & import("../../types").BasePage) => any) | undefined;
30
+ "onUpdate:modelValue"?: ((value: {
31
+ type: "Default";
32
+ properties: import("../../types").BasePageProperties;
33
+ } & import("../../types").BasePage) => any) | undefined;
22
34
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
35
  declare const _default: typeof __VLS_export;
24
36
  export default _default;
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { ref, computed, useTemplateRef } from "vue";
3
3
  import { usePageEditor } from "../../composables/usePageEditor";
4
- const page = defineModel({ type: Object, ...{ required: true } });
4
+ const page = defineModel({ type: null, ...{ required: true } });
5
5
  const { undo, redo, canUndo, canRedo, captureSnapshot } = usePageEditor(page);
6
6
  const emit = defineEmits(["save"]);
7
7
  const handleSave = () => {
@@ -1,4 +1,4 @@
1
- import type { Page } from "../../types/pages.js";
1
+ import type { Page } from "../../types/pages";
2
2
  interface Props {
3
3
  isSaving: boolean;
4
4
  }
@@ -13,12 +13,24 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
13
13
  canUndo: import("vue").ComputedRef<boolean>;
14
14
  canRedo: import("vue").ComputedRef<boolean>;
15
15
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
- "update:modelValue": (value: Page) => any;
16
+ "update:modelValue": (value: {
17
+ type: "Default";
18
+ properties: import("../../types").BasePageProperties;
19
+ } & import("../../types").BasePage) => any;
17
20
  } & {
18
- save: (value: Page) => any;
21
+ save: (value: {
22
+ type: "Default";
23
+ properties: import("../../types").BasePageProperties;
24
+ } & import("../../types").BasePage) => any;
19
25
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
- onSave?: ((value: Page) => any) | undefined;
21
- "onUpdate:modelValue"?: ((value: Page) => any) | undefined;
26
+ onSave?: ((value: {
27
+ type: "Default";
28
+ properties: import("../../types").BasePageProperties;
29
+ } & import("../../types").BasePage) => any) | undefined;
30
+ "onUpdate:modelValue"?: ((value: {
31
+ type: "Default";
32
+ properties: import("../../types").BasePageProperties;
33
+ } & import("../../types").BasePage) => any) | undefined;
22
34
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
35
  declare const _default: typeof __VLS_export;
24
36
  export default _default;
@@ -1,11 +1,17 @@
1
- import { type Page } from '../../types/pages.js';
1
+ import { type Page } from '../../types/pages';
2
2
  type __VLS_ModelProps = {
3
3
  modelValue: Page;
4
4
  };
5
5
  declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- "update:modelValue": (value: Page) => any;
6
+ "update:modelValue": (value: {
7
+ type: "Default";
8
+ properties: import("../../types").BasePageProperties;
9
+ } & import("../../types").BasePage) => any;
7
10
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
8
- "onUpdate:modelValue"?: ((value: Page) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((value: {
12
+ type: "Default";
13
+ properties: import("../../types").BasePageProperties;
14
+ } & import("../../types").BasePage) => any) | undefined;
9
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
16
  declare const _default: typeof __VLS_export;
11
17
  export default _default;
@@ -1,10 +1,14 @@
1
1
  <script setup>
2
2
  import { computed } from "vue";
3
- import { PAGE_SCHEMAS } from "../../types/pages";
4
- const page = defineModel({ type: Object, ...{ required: true } });
3
+ import { useAppConfig } from "#imports";
4
+ import { useI18n } from "vue-i18n";
5
+ import {} from "../../types/pages";
6
+ const page = defineModel({ type: null, ...{ required: true } });
7
+ const appConfig = useAppConfig();
8
+ const locale = useI18n().locale;
5
9
  const properties = computed(() => page.value.properties);
6
10
  const groups = computed(() => {
7
- return PAGE_SCHEMAS[page.value.type] || [];
11
+ return page.value.properties;
8
12
  });
9
13
  const isFieldVisible = (fieldSchema) => {
10
14
  if (!fieldSchema.visibleIf) return true;
@@ -26,46 +30,46 @@ const getSortedFields = (fields) => {
26
30
  </UBadge>
27
31
  </div>
28
32
 
29
- <div v-for="group in groups" :key="group.id" class="space-y-4">
33
+ <div v-for="(group, groupId) in groups" :key="groupId" class="space-y-4">
30
34
  <div class="flex items-center gap-3">
31
35
  <span class="text-[10px] font-bold uppercase tracking-widest text-primary">
32
- {{ group.label }}
36
+ {{ group.label[locale] }}
33
37
  </span>
34
38
  <div class="h-px flex-1 bg-border/50"></div>
35
39
  </div>
36
40
 
37
41
  <div class="grid gap-y-4 px-1">
38
- <template v-for="[key, schema] in getSortedFields(group.fields)" :key="key">
42
+ <template v-for="[fieldKey, schema] in getSortedFields(group.fields)" :key="fieldKey">
39
43
 
40
44
  <UFormField
41
45
  v-if="isFieldVisible(schema)"
42
46
  :label="schema.label"
43
- :name="key"
47
+ :name="fieldKey"
44
48
  >
45
49
  <UInput
46
50
  v-if="schema.type === 'text'"
47
- v-model="properties[key]"
51
+ v-model="properties[groupId].fields[fieldKey].value[locale]"
48
52
  variant="subtle"
49
53
  placeholder="..."
50
54
  />
51
55
 
52
56
  <UInput
53
57
  v-else-if="schema.type === 'number'"
54
- v-model.number="properties[key]"
58
+ v-model.number="properties[groupId].fields[fieldKey].value"
55
59
  type="number"
56
60
  variant="subtle"
57
61
  />
58
62
 
59
63
  <USelect
60
64
  v-else-if="schema.type === 'enum'"
61
- v-model="properties[key]"
65
+ v-model="properties[groupId].fields[fieldKey].value"
62
66
  :items="schema.options || []"
63
67
  variant="subtle"
64
68
  />
65
69
 
66
70
  <UInputMenu
67
71
  v-else-if="schema.type === 'text-array'"
68
- v-model="properties[key]"
72
+ v-model="properties[groupId].fields[fieldKey].value[locale]"
69
73
  multiple
70
74
  creatable
71
75
  variant="subtle"
@@ -74,7 +78,7 @@ const getSortedFields = (fields) => {
74
78
 
75
79
  <UInput
76
80
  v-else-if="schema.type === 'page'"
77
- v-model="properties[key]"
81
+ v-model="properties[groupId].fields[fieldKey].value"
78
82
  icon="lucide:link-2"
79
83
  variant="subtle"
80
84
  :placeholder="`Select ${schema.allowedPageTypes?.join('/')}`"
@@ -1,11 +1,17 @@
1
- import { type Page } from '../../types/pages.js';
1
+ import { type Page } from '../../types/pages';
2
2
  type __VLS_ModelProps = {
3
3
  modelValue: Page;
4
4
  };
5
5
  declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- "update:modelValue": (value: Page) => any;
6
+ "update:modelValue": (value: {
7
+ type: "Default";
8
+ properties: import("../../types").BasePageProperties;
9
+ } & import("../../types").BasePage) => any;
7
10
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
8
- "onUpdate:modelValue"?: ((value: Page) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((value: {
12
+ type: "Default";
13
+ properties: import("../../types").BasePageProperties;
14
+ } & import("../../types").BasePage) => any) | undefined;
9
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
16
  declare const _default: typeof __VLS_export;
11
17
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type Page } from '../../types/pages.js';
1
+ import { type Page } from '../../types/pages';
2
2
  type __VLS_Props = {
3
3
  modelValue: Page;
4
4
  };
@@ -1,17 +1,19 @@
1
1
  <script setup>
2
2
  import { computed } from "vue";
3
+ import { useAppConfig } from "#imports";
4
+ import { useI18n } from "vue-i18n";
3
5
  import {
4
- PAGE_SCHEMAS
5
6
  } from "../../types/pages";
6
7
  const props = defineProps({
7
- modelValue: { type: Object, required: true }
8
+ modelValue: { type: null, required: true }
8
9
  });
10
+ const appConfig = useAppConfig();
11
+ const locale = useI18n().locale;
9
12
  const properties = computed(() => props.modelValue.properties);
10
13
  const displayGroups = computed(() => {
11
- const allGroups = PAGE_SCHEMAS[props.modelValue.type] || [];
12
- return allGroups.map((group) => {
13
- const visibleFields = Object.entries(group.fields).filter(([key, schema]) => {
14
- const value = properties.value[key];
14
+ return Object.entries(properties.value || {}).map(([groupId, group]) => {
15
+ const visibleFields = Object.entries(group.fields || {}).filter(([fieldKey, schema]) => {
16
+ const value = schema.type === "text" || schema.type === "text-array" ? schema.value?.[locale.value] : schema.value;
15
17
  const isVisible = !schema.visibleIf || schema.visibleIf(props.modelValue.properties);
16
18
  if (!isVisible) return false;
17
19
  if (Array.isArray(value)) return value.length > 0;
@@ -19,6 +21,7 @@ const displayGroups = computed(() => {
19
21
  }).sort(([, a], [, b]) => (a.order ?? 0) - (b.order ?? 0));
20
22
  return {
21
23
  ...group,
24
+ groupId,
22
25
  visibleFields
23
26
  };
24
27
  }).filter((group) => group.visibleFields.length > 0);
@@ -32,19 +35,19 @@ const displayGroups = computed(() => {
32
35
  {{ props.modelValue.type }}
33
36
  </div>
34
37
  <h2 class="text-xl font-serif font-bold italic text-foreground">
35
- {{ properties.name || props.modelValue.slug }}
38
+ {{ properties.name?.value?.[locale] || props.modelValue.slug }}
36
39
  </h2>
37
40
  </div>
38
41
 
39
- <div v-for="group in displayGroups" :key="group.id" class="border-b last:border-b-0 border-border/40">
42
+ <div v-for="group in displayGroups" :key="group.groupId" class="border-b last:border-b-0 border-border/40">
40
43
  <div class="bg-muted/30 px-3 py-1.5 text-[10px] font-black text-primary uppercase tracking-tighter border-b border-border/10">
41
- {{ group.label }}
44
+ {{ group.label[locale] }}
42
45
  </div>
43
46
 
44
47
  <dl class="p-3 space-y-2.5">
45
48
  <div
46
- v-for="[key, schema] in group.visibleFields"
47
- :key="key"
49
+ v-for="[fieldKey, schema] in group.visibleFields"
50
+ :key="fieldKey"
48
51
  class="grid grid-cols-3 gap-x-3 items-baseline"
49
52
  >
50
53
  <dt class="text-[11px] font-semibold text-muted-foreground leading-tight">
@@ -53,18 +56,22 @@ const displayGroups = computed(() => {
53
56
 
54
57
  <dd class="text-xs col-span-2 text-foreground leading-snug">
55
58
  <div v-if="schema.type === 'text-array'" class="flex flex-wrap gap-1">
56
- <template v-for="(item, index) in properties[key]" :key="index">
59
+ <template v-for="(item, index) in properties[group.groupId].fields[fieldKey].value[locale]" :key="index">
57
60
  <span class="font-medium">{{ item }}</span>
58
- <span v-if="index < properties[key].length - 1" class="text-muted-foreground/50">, </span>
61
+ <span v-if="index < properties[group.groupId].fields[fieldKey].value[locale].length - 1" class="text-muted-foreground/50">, </span>
59
62
  </template>
60
63
  </div>
61
64
 
62
65
  <span v-else-if="schema.type === 'page'" class="text-primary font-bold hover:underline cursor-pointer">
63
- {{ properties[key] }}
66
+ {{ properties[group.groupId].fields[fieldKey].value }}
67
+ </span>
68
+
69
+ <span v-else-if="schema.type === 'text'" class="font-medium">
70
+ {{ properties[group.groupId].fields[fieldKey].value[locale] }}
64
71
  </span>
65
72
 
66
73
  <span v-else class="font-medium">
67
- {{ properties[key] }}
74
+ {{ properties[group.groupId].fields[fieldKey].value }}
68
75
  </span>
69
76
  </dd>
70
77
  </div>
@@ -75,16 +82,17 @@ const displayGroups = computed(() => {
75
82
  <div class="flex flex-wrap gap-1.5">
76
83
  <UBadge
77
84
  v-for="tag in props.modelValue.tags"
78
- :key="tag"
85
+ :key="String(tag[locale])"
79
86
  variant="subtle"
80
87
  size="sm"
81
88
  color="neutral"
82
89
  class="text-[9px] font-bold uppercase tracking-tight"
83
90
  >
84
- #{{ tag }}
91
+ #{{ tag[locale] }}
85
92
  </UBadge>
86
93
  </div>
87
94
  </div>
95
+
88
96
  </div>
89
97
  </template>
90
98
 
@@ -1,4 +1,4 @@
1
- import { type Page } from '../../types/pages.js';
1
+ import { type Page } from '../../types/pages';
2
2
  type __VLS_Props = {
3
3
  modelValue: Page;
4
4
  };
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { computed } from "vue";
3
3
  import { useClipboard } from "@vueuse/core";
4
- import { useToast } from "#imports";
4
+ import { useToast } from "@nuxt/ui/composables";
5
5
  const { copy } = useClipboard();
6
6
  const toast = useToast();
7
7
  const { name, hex, rgb, hsl, oklch, cmyk } = defineProps({
@@ -0,0 +1,3 @@
1
+ export * from "./useDateRange";
2
+ export * from "./usePageEditor";
3
+ export * from "./useBlockEditor";
@@ -0,0 +1,3 @@
1
+ export * from "./useDateRange.js";
2
+ export * from "./usePageEditor.js";
3
+ export * from "./useBlockEditor.js";