diff --git a/packages/mirinae/src/data-display/dynamic/dynamic-layout/PDynamicLayout.mdx b/packages/mirinae/src/data-display/dynamic/dynamic-layout/PDynamicLayout.mdx
index 126f880dab..600a0dd625 100644
--- a/packages/mirinae/src/data-display/dynamic/dynamic-layout/PDynamicLayout.mdx
+++ b/packages/mirinae/src/data-display/dynamic/dynamic-layout/PDynamicLayout.mdx
@@ -56,7 +56,7 @@ So, `options` is fixed, and `type-options` can be changed by the user's behavior
|----------------|------|--------------|-------|-----------|--------------------|-----|----------|------|-------|------|
| root_path | O | O | O | O | O | O | O | O | O | O |
| translation_id | O | O | O | O | O | O | O | O | O | O |
-| fields | X | O | O | X | O | X | X | X | X | X |
+| fields | O | O | O | X | O | X | X | X | X | X |
| markdown | X | X | X | X | X | X | O | X | X | X |
| layouts | X | X | X | X | X | X | X | X | X | O |
| search | X | X | X | X | O | X | X | X | X | X |
@@ -246,4 +246,4 @@ interface DynamicLayoutEventListeners {
-
\ No newline at end of file
+
diff --git a/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/index.vue b/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/index.vue
index 5c7ab878fb..912164eac3 100644
--- a/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/index.vue
+++ b/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/index.vue
@@ -1,15 +1,113 @@
+
-
- {{ layoutName }}
+ {{ state.layoutName }}
-
-
-
diff --git a/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/item.mdx b/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/item.mdx
index 7d3494dd28..63deb746b5 100644
--- a/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/item.mdx
+++ b/packages/mirinae/src/data-display/dynamic/dynamic-layout/templates/item/item.mdx
@@ -7,6 +7,19 @@ import * as itemStories from './item.stories';
# Item Type
+ This is an item type implemented with the `p-definition-table` component. The layout is dynamically generated according to the `options.fields` defined in the schema. For the options of `options.fields`, please refer to the `Dynamic Field` component.
+
+If `options.fields` is not provided, the layout is generated as a key-value pair of 1 depth by default. Therefore, it can be used when the data is in the following code.
+
+```json
+{
+ "key1": "value1",
+ "key2": "value2",
+ "key3": "value3"
+}
+```
+
+
diff --git a/packages/mirinae/src/data-display/dynamic/dynamic-layout/type/index.ts b/packages/mirinae/src/data-display/dynamic/dynamic-layout/type/index.ts
index b821766c44..4466e72344 100644
--- a/packages/mirinae/src/data-display/dynamic/dynamic-layout/type/index.ts
+++ b/packages/mirinae/src/data-display/dynamic/dynamic-layout/type/index.ts
@@ -35,18 +35,22 @@ export interface DynamicLayoutTypeOptions {
sortable?: boolean;
}
-export interface DynamicLayoutProps<
- SchemaOptions = DynamicLayoutOptions,
- > {
+// NOTE: Due to the version issue of mirinae vue, it is not possible to define a type with generics using defineProps, so DynamicLayoutBaseProps is added and used.
+export interface DynamicLayoutBaseProps {
name: string;
type: DynamicLayoutType;
- options: SchemaOptions;
data?: any;
fetchOptions?: DynamicLayoutFetchOptions;
typeOptions?: DynamicLayoutTypeOptions;
fieldHandler?: DynamicLayoutFieldHandler;
}
+export interface DynamicLayoutProps<
+ SchemaOptions = DynamicLayoutOptions,
+ > extends DynamicLayoutBaseProps {
+ options: SchemaOptions;
+}
+
export interface DynamicLayoutFieldExtraData extends DynamicField {
index: number;
}