@shwfed/nuxt 0.10.15 → 0.11.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 (60) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/button.d.vue.ts +6 -2
  3. package/dist/runtime/components/button.vue +18 -3
  4. package/dist/runtime/components/button.vue.d.ts +6 -2
  5. package/dist/runtime/components/component-config.d.ts +12 -0
  6. package/dist/runtime/components/component-config.js +22 -0
  7. package/dist/runtime/components/fields.d.vue.ts +9 -5
  8. package/dist/runtime/components/fields.vue +14 -5
  9. package/dist/runtime/components/fields.vue.d.ts +9 -5
  10. package/dist/runtime/components/markdown.d.vue.ts +19 -9
  11. package/dist/runtime/components/markdown.vue +15 -3
  12. package/dist/runtime/components/markdown.vue.d.ts +19 -9
  13. package/dist/runtime/components/menu-tabs.d.vue.ts +14 -4
  14. package/dist/runtime/components/menu-tabs.vue +15 -3
  15. package/dist/runtime/components/menu-tabs.vue.d.ts +14 -4
  16. package/dist/runtime/components/table.d.vue.ts +8 -3
  17. package/dist/runtime/components/table.vue +28 -2
  18. package/dist/runtime/components/table.vue.d.ts +8 -3
  19. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.d.vue.ts +4 -0
  20. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.vue +12 -4
  21. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.vue.d.ts +4 -0
  22. package/dist/runtime/components/ui/buttons/Buttons.d.vue.ts +9 -4
  23. package/dist/runtime/components/ui/buttons/Buttons.vue +15 -4
  24. package/dist/runtime/components/ui/buttons/Buttons.vue.d.ts +9 -4
  25. package/dist/runtime/components/ui/buttons/schema.d.ts +255 -2
  26. package/dist/runtime/components/ui/buttons/schema.js +13 -21
  27. package/dist/runtime/components/ui/fields/Fields.d.vue.ts +10 -2
  28. package/dist/runtime/components/ui/fields/Fields.vue +12 -3
  29. package/dist/runtime/components/ui/fields/Fields.vue.d.ts +10 -2
  30. package/dist/runtime/components/ui/fields/schema.d.ts +464 -0
  31. package/dist/runtime/components/ui/fields/schema.js +15 -2
  32. package/dist/runtime/components/ui/fields-configurator/FieldsConfiguratorDialog.d.vue.ts +4 -0
  33. package/dist/runtime/components/ui/fields-configurator/FieldsConfiguratorDialog.vue +10 -4
  34. package/dist/runtime/components/ui/fields-configurator/FieldsConfiguratorDialog.vue.d.ts +4 -0
  35. package/dist/runtime/components/ui/markdown/Markdown.d.vue.ts +18 -8
  36. package/dist/runtime/components/ui/markdown/Markdown.vue +13 -3
  37. package/dist/runtime/components/ui/markdown/Markdown.vue.d.ts +18 -8
  38. package/dist/runtime/components/ui/markdown/schema.d.ts +51 -6
  39. package/dist/runtime/components/ui/markdown/schema.js +15 -2
  40. package/dist/runtime/components/ui/markdown-configurator/MarkdownConfiguratorDialog.d.vue.ts +16 -7
  41. package/dist/runtime/components/ui/markdown-configurator/MarkdownConfiguratorDialog.vue +12 -7
  42. package/dist/runtime/components/ui/markdown-configurator/MarkdownConfiguratorDialog.vue.d.ts +16 -7
  43. package/dist/runtime/components/ui/menu-tabs/MenuTabs.d.vue.ts +14 -4
  44. package/dist/runtime/components/ui/menu-tabs/MenuTabs.vue +16 -5
  45. package/dist/runtime/components/ui/menu-tabs/MenuTabs.vue.d.ts +14 -4
  46. package/dist/runtime/components/ui/menu-tabs/schema.d.ts +42 -5
  47. package/dist/runtime/components/ui/menu-tabs/schema.js +13 -12
  48. package/dist/runtime/components/ui/menu-tabs-configurator/MenuTabsConfiguratorDialog.d.vue.ts +12 -3
  49. package/dist/runtime/components/ui/menu-tabs-configurator/MenuTabsConfiguratorDialog.vue +9 -5
  50. package/dist/runtime/components/ui/menu-tabs-configurator/MenuTabsConfiguratorDialog.vue.d.ts +12 -3
  51. package/dist/runtime/components/ui/table/Table.d.vue.ts +6 -2
  52. package/dist/runtime/components/ui/table/Table.vue +18 -2
  53. package/dist/runtime/components/ui/table/Table.vue.d.ts +6 -2
  54. package/dist/runtime/components/ui/table/schema.d.ts +239 -2
  55. package/dist/runtime/components/ui/table/schema.js +15 -6
  56. package/dist/runtime/components/ui/table-configurator/TableConfiguratorDialog.d.vue.ts +4 -0
  57. package/dist/runtime/components/ui/table-configurator/TableConfiguratorDialog.vue +2 -1
  58. package/dist/runtime/components/ui/table-configurator/TableConfiguratorDialog.vue.d.ts +4 -0
  59. package/dist/runtime/plugins/toast/index.d.ts +2 -2
  60. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shwfed/nuxt",
3
3
  "configKey": "shwfed",
4
- "version": "0.10.15",
4
+ "version": "0.11.0",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
2
  import type { ButtonConfigInput } from './ui/buttons/schema.js';
3
- export { ButtonActionC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonModalC, ButtonsStyleC } from './ui/buttons/schema.js';
4
- export type { ButtonAction, ButtonConfig, ButtonConfigInput, ButtonDropdown, ButtonDropdownAction, ButtonGroup, ButtonGroupItem, ButtonModal } from './ui/buttons/schema.js';
3
+ export { ButtonActionC, ButtonBodyC, ButtonBodyInputC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonModalC, ButtonsStyleC, CURRENT_COMPATIBILITY_DATE, KIND, SUPPORTED_COMPATIBILITY_DATES, createButtonConfig, } from './ui/buttons/schema.js';
4
+ export type { ButtonAction, ButtonBody, ButtonBodyInput, ButtonConfig, ButtonConfigInput, ButtonDropdown, ButtonDropdownAction, ButtonGroup, ButtonGroupItem, ButtonModal, } from './ui/buttons/schema.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
@@ -71,6 +71,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
71
71
  icon?: string | undefined;
72
72
  }>)[];
73
73
  }>[];
74
+ kind: string;
75
+ compatibilityDate: string;
74
76
  gap?: number | undefined;
75
77
  style?: string | undefined;
76
78
  }>) => any;
@@ -141,6 +143,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
141
143
  icon?: string | undefined;
142
144
  }>)[];
143
145
  }>[];
146
+ kind: string;
147
+ compatibilityDate: string;
144
148
  gap?: number | undefined;
145
149
  style?: string | undefined;
146
150
  }>) => any) | undefined;
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
2
  import { Effect } from "effect";
3
+ import { createButtonConfig } from "./ui/buttons/schema";
3
4
  import UiButtons from "./ui/buttons/Buttons.vue";
4
5
  defineOptions({
5
6
  inheritAttrs: false
@@ -8,10 +9,10 @@ const props = defineProps({
8
9
  config: { type: null, required: false }
9
10
  });
10
11
  const emit = defineEmits(["update:config"]);
11
- const defaultConfig = {
12
+ const defaultConfig = createButtonConfig({
12
13
  gap: 12,
13
14
  groups: []
14
- };
15
+ });
15
16
  function isEffectConfig(value) {
16
17
  return typeof value === "object" && value !== null && "pipe" in value && typeof Reflect.get(value, "pipe") === "function";
17
18
  }
@@ -27,7 +28,21 @@ function handleConfigUpdate(config) {
27
28
  </script>
28
29
 
29
30
  <script>
30
- export { ButtonActionC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonModalC, ButtonsStyleC } from "./ui/buttons/schema";
31
+ export {
32
+ ButtonActionC,
33
+ ButtonBodyC,
34
+ ButtonBodyInputC,
35
+ ButtonConfigC,
36
+ ButtonConfigInputC,
37
+ ButtonDropdownC,
38
+ ButtonGroupC,
39
+ ButtonModalC,
40
+ ButtonsStyleC,
41
+ CURRENT_COMPATIBILITY_DATE,
42
+ KIND,
43
+ SUPPORTED_COMPATIBILITY_DATES,
44
+ createButtonConfig
45
+ } from "./ui/buttons/schema";
31
46
  </script>
32
47
 
33
48
  <template>
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
2
  import type { ButtonConfigInput } from './ui/buttons/schema.js';
3
- export { ButtonActionC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonModalC, ButtonsStyleC } from './ui/buttons/schema.js';
4
- export type { ButtonAction, ButtonConfig, ButtonConfigInput, ButtonDropdown, ButtonDropdownAction, ButtonGroup, ButtonGroupItem, ButtonModal } from './ui/buttons/schema.js';
3
+ export { ButtonActionC, ButtonBodyC, ButtonBodyInputC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonModalC, ButtonsStyleC, CURRENT_COMPATIBILITY_DATE, KIND, SUPPORTED_COMPATIBILITY_DATES, createButtonConfig, } from './ui/buttons/schema.js';
4
+ export type { ButtonAction, ButtonBody, ButtonBodyInput, ButtonConfig, ButtonConfigInput, ButtonDropdown, ButtonDropdownAction, ButtonGroup, ButtonGroupItem, ButtonModal, } from './ui/buttons/schema.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
@@ -71,6 +71,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
71
71
  icon?: string | undefined;
72
72
  }>)[];
73
73
  }>[];
74
+ kind: string;
75
+ compatibilityDate: string;
74
76
  gap?: number | undefined;
75
77
  style?: string | undefined;
76
78
  }>) => any;
@@ -141,6 +143,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
141
143
  icon?: string | undefined;
142
144
  }>)[];
143
145
  }>[];
146
+ kind: string;
147
+ compatibilityDate: string;
144
148
  gap?: number | undefined;
145
149
  style?: string | undefined;
146
150
  }>) => any) | undefined;
@@ -0,0 +1,12 @@
1
+ import z from 'zod';
2
+ export declare const CompatibilityDateC: z.ZodString;
3
+ export type ComponentConfigMetadata<Kind extends string> = Readonly<{
4
+ kind: Kind;
5
+ compatibilityDate: string;
6
+ }>;
7
+ export declare function createCompatibilityDateC(supportedCompatibilityDates: ReadonlyArray<string>): z.ZodString;
8
+ export declare function createComponentConfigMetadataShape(kind: string, supportedCompatibilityDates: ReadonlyArray<string>): {
9
+ kind: z.ZodLiteral<string>;
10
+ compatibilityDate: z.ZodString;
11
+ };
12
+ export declare function createComponentConfig<Body extends Record<string, unknown>, Kind extends string>(kind: Kind, compatibilityDate: string, body: Body): Body & ComponentConfigMetadata<Kind>;
@@ -0,0 +1,22 @@
1
+ import z from "zod";
2
+ const COMPATIBILITY_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
3
+ export const CompatibilityDateC = z.string().regex(COMPATIBILITY_DATE_PATTERN, "compatibilityDate must use yyyy-MM-DD format").describe("\u914D\u7F6E\u517C\u5BB9\u534F\u8BAE\u65E5\u671F\uFF0C\u683C\u5F0F\u5FC5\u987B\u4E3A yyyy-MM-DD");
4
+ export function createCompatibilityDateC(supportedCompatibilityDates) {
5
+ return CompatibilityDateC.refine(
6
+ (value) => supportedCompatibilityDates.includes(value),
7
+ `compatibilityDate must be one of: ${supportedCompatibilityDates.join(", ")}`
8
+ );
9
+ }
10
+ export function createComponentConfigMetadataShape(kind, supportedCompatibilityDates) {
11
+ return {
12
+ kind: z.literal(kind).describe("\u7EC4\u4EF6\u914D\u7F6E\u534F\u8BAE\u6807\u8BC6"),
13
+ compatibilityDate: createCompatibilityDateC(supportedCompatibilityDates)
14
+ };
15
+ }
16
+ export function createComponentConfig(kind, compatibilityDate, body) {
17
+ return {
18
+ kind,
19
+ compatibilityDate,
20
+ ...body
21
+ };
22
+ }
@@ -1,11 +1,11 @@
1
1
  import { Effect } from 'effect';
2
- import type { FieldsConfig } from './ui/fields/Fields.vue.js';
3
- export { CalendarFieldC, EmptyFieldC, FieldC, FieldsConfigC, NumberFieldC, SelectFieldC, SlotFieldC, StringFieldC, } from './ui/fields/Fields.vue.js';
4
- export type { EmptyField, Field, FieldsConfig, SlotField } from './ui/fields/Fields.vue.js';
2
+ import { type FieldsConfigInput } from './ui/fields/Fields.vue.js';
3
+ export { CalendarFieldC, EmptyFieldC, FieldC, FieldsBodyC, FieldsBodyInputC, FieldsConfigC, FieldsConfigInputC, NumberFieldC, SelectFieldC, SlotFieldC, StringFieldC, CURRENT_COMPATIBILITY_DATE, KIND, SUPPORTED_COMPATIBILITY_DATES, createFieldsConfig, } from './ui/fields/Fields.vue.js';
4
+ export type { EmptyField, Field, FieldsBody, FieldsBodyInput, FieldsConfig, FieldsConfigInput, SlotField, } from './ui/fields/Fields.vue.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
8
- config?: Effect.Effect<FieldsConfig | undefined>;
8
+ config?: FieldsConfigInput | Effect.Effect<FieldsConfigInput | undefined>;
9
9
  } & {
10
10
  modelValue?: Record<string, unknown>;
11
11
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -125,12 +125,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
125
125
  type: "empty";
126
126
  style?: string | undefined;
127
127
  })[];
128
+ kind: string;
129
+ compatibilityDate: string;
128
130
  orientation?: "vertical" | "horizontal" | "floating" | undefined;
129
131
  style?: string | undefined;
130
132
  }>) => any;
131
133
  "initial-value-ready": () => any;
132
134
  }, string, import("vue").PublicProps, Readonly<{
133
- config?: Effect.Effect<FieldsConfig | undefined>;
135
+ config?: FieldsConfigInput | Effect.Effect<FieldsConfigInput | undefined>;
134
136
  } & {
135
137
  modelValue?: Record<string, unknown>;
136
138
  }> & Readonly<{
@@ -250,6 +252,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
250
252
  type: "empty";
251
253
  style?: string | undefined;
252
254
  })[];
255
+ kind: string;
256
+ compatibilityDate: string;
253
257
  orientation?: "vertical" | "horizontal" | "floating" | undefined;
254
258
  style?: string | undefined;
255
259
  }>) => any) | undefined;
@@ -1,6 +1,8 @@
1
1
  <script setup>
2
2
  import { Effect } from "effect";
3
- import UiFields from "./ui/fields/Fields.vue";
3
+ import UiFields, {
4
+ createFieldsConfig
5
+ } from "./ui/fields/Fields.vue";
4
6
  defineOptions({
5
7
  inheritAttrs: false
6
8
  });
@@ -11,10 +13,10 @@ const emit = defineEmits(["update:config", "initial-value-ready"]);
11
13
  const modelValue = defineModel("modelValue", { type: Object, ...{
12
14
  default: () => ({})
13
15
  } });
14
- const defaultConfig = {
16
+ const defaultConfig = createFieldsConfig({
15
17
  fields: []
16
- };
17
- const config = props.config ? props.config.pipe(Effect.map((config2) => config2 ?? defaultConfig)) : Effect.succeed(defaultConfig);
18
+ });
19
+ const config = !props.config ? Effect.succeed(defaultConfig) : "pipe" in props.config ? props.config.pipe(Effect.map((config2) => config2 ?? defaultConfig)) : Effect.succeed(props.config);
18
20
  function handleConfigUpdate(config2) {
19
21
  emit("update:config", config2);
20
22
  }
@@ -28,11 +30,18 @@ export {
28
30
  CalendarFieldC,
29
31
  EmptyFieldC,
30
32
  FieldC,
33
+ FieldsBodyC,
34
+ FieldsBodyInputC,
31
35
  FieldsConfigC,
36
+ FieldsConfigInputC,
32
37
  NumberFieldC,
33
38
  SelectFieldC,
34
39
  SlotFieldC,
35
- StringFieldC
40
+ StringFieldC,
41
+ CURRENT_COMPATIBILITY_DATE,
42
+ KIND,
43
+ SUPPORTED_COMPATIBILITY_DATES,
44
+ createFieldsConfig
36
45
  } from "./ui/fields/Fields.vue";
37
46
  </script>
38
47
 
@@ -1,11 +1,11 @@
1
1
  import { Effect } from 'effect';
2
- import type { FieldsConfig } from './ui/fields/Fields.vue.js';
3
- export { CalendarFieldC, EmptyFieldC, FieldC, FieldsConfigC, NumberFieldC, SelectFieldC, SlotFieldC, StringFieldC, } from './ui/fields/Fields.vue.js';
4
- export type { EmptyField, Field, FieldsConfig, SlotField } from './ui/fields/Fields.vue.js';
2
+ import { type FieldsConfigInput } from './ui/fields/Fields.vue.js';
3
+ export { CalendarFieldC, EmptyFieldC, FieldC, FieldsBodyC, FieldsBodyInputC, FieldsConfigC, FieldsConfigInputC, NumberFieldC, SelectFieldC, SlotFieldC, StringFieldC, CURRENT_COMPATIBILITY_DATE, KIND, SUPPORTED_COMPATIBILITY_DATES, createFieldsConfig, } from './ui/fields/Fields.vue.js';
4
+ export type { EmptyField, Field, FieldsBody, FieldsBodyInput, FieldsConfig, FieldsConfigInput, SlotField, } from './ui/fields/Fields.vue.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
8
- config?: Effect.Effect<FieldsConfig | undefined>;
8
+ config?: FieldsConfigInput | Effect.Effect<FieldsConfigInput | undefined>;
9
9
  } & {
10
10
  modelValue?: Record<string, unknown>;
11
11
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -125,12 +125,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
125
125
  type: "empty";
126
126
  style?: string | undefined;
127
127
  })[];
128
+ kind: string;
129
+ compatibilityDate: string;
128
130
  orientation?: "vertical" | "horizontal" | "floating" | undefined;
129
131
  style?: string | undefined;
130
132
  }>) => any;
131
133
  "initial-value-ready": () => any;
132
134
  }, string, import("vue").PublicProps, Readonly<{
133
- config?: Effect.Effect<FieldsConfig | undefined>;
135
+ config?: FieldsConfigInput | Effect.Effect<FieldsConfigInput | undefined>;
134
136
  } & {
135
137
  modelValue?: Record<string, unknown>;
136
138
  }> & Readonly<{
@@ -250,6 +252,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
250
252
  type: "empty";
251
253
  style?: string | undefined;
252
254
  })[];
255
+ kind: string;
256
+ compatibilityDate: string;
253
257
  orientation?: "vertical" | "horizontal" | "floating" | undefined;
254
258
  style?: string | undefined;
255
259
  }>) => any) | undefined;
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
- import type { MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
3
- export { MarkdownConfigC, MarkdownStyleC } from './ui/markdown/Markdown.vue.js';
4
- export type { MarkdownConfig, MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
2
+ import { type MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
3
+ export { CURRENT_COMPATIBILITY_DATE, KIND, MarkdownBodyC, MarkdownBodyInputC, MarkdownConfigC, MarkdownConfigInputC, MarkdownStyleC, SUPPORTED_COMPATIBILITY_DATES, createMarkdownConfig, } from './ui/markdown/Markdown.vue.js';
4
+ export type { MarkdownBody, MarkdownBodyInput, MarkdownConfig, MarkdownConfigInput, } from './ui/markdown/Markdown.vue.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: import("vue").DefineComponent<{
@@ -9,17 +9,27 @@ declare const __VLS_export: import("vue").DefineComponent<{
9
9
  context?: Record<string, unknown>;
10
10
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  "update:config": (args_0: Readonly<{
12
- locale?: import("../utils/coders.js").LocaleValue;
13
- inline?: boolean;
14
- style?: string;
12
+ kind: string;
13
+ compatibilityDate: string;
14
+ locale?: readonly {
15
+ locale: "zh" | "ja" | "en" | "ko";
16
+ message: string;
17
+ }[] | undefined;
18
+ inline?: boolean | undefined;
19
+ style?: string | undefined;
15
20
  }>) => any;
16
21
  }, string, import("vue").PublicProps, Readonly<{
17
22
  config?: MarkdownConfigInput | Effect.Effect<MarkdownConfigInput | undefined>;
18
23
  context?: Record<string, unknown>;
19
24
  }> & Readonly<{
20
25
  "onUpdate:config"?: ((args_0: Readonly<{
21
- locale?: import("../utils/coders.js").LocaleValue;
22
- inline?: boolean;
23
- style?: string;
26
+ kind: string;
27
+ compatibilityDate: string;
28
+ locale?: readonly {
29
+ locale: "zh" | "ja" | "en" | "ko";
30
+ message: string;
31
+ }[] | undefined;
32
+ inline?: boolean | undefined;
33
+ style?: string | undefined;
24
34
  }>) => any) | undefined;
25
35
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,7 +1,9 @@
1
1
  <script setup>
2
2
  import { Effect } from "effect";
3
3
  import { computed } from "vue";
4
- import UiMarkdown from "./ui/markdown/Markdown.vue";
4
+ import UiMarkdown, {
5
+ createMarkdownConfig
6
+ } from "./ui/markdown/Markdown.vue";
5
7
  defineOptions({
6
8
  inheritAttrs: false
7
9
  });
@@ -10,7 +12,7 @@ const props = defineProps({
10
12
  context: { type: Object, required: false }
11
13
  });
12
14
  const emit = defineEmits(["update:config"]);
13
- const defaultConfig = {};
15
+ const defaultConfig = createMarkdownConfig({});
14
16
  function isMarkdownConfigEffect(value) {
15
17
  return typeof value === "object" && value !== null && "pipe" in value && typeof value.pipe === "function";
16
18
  }
@@ -29,7 +31,17 @@ function handleConfigUpdate(config2) {
29
31
  </script>
30
32
 
31
33
  <script>
32
- export { MarkdownConfigC, MarkdownStyleC } from "./ui/markdown/Markdown.vue";
34
+ export {
35
+ CURRENT_COMPATIBILITY_DATE,
36
+ KIND,
37
+ MarkdownBodyC,
38
+ MarkdownBodyInputC,
39
+ MarkdownConfigC,
40
+ MarkdownConfigInputC,
41
+ MarkdownStyleC,
42
+ SUPPORTED_COMPATIBILITY_DATES,
43
+ createMarkdownConfig
44
+ } from "./ui/markdown/Markdown.vue";
33
45
  </script>
34
46
 
35
47
  <template>
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
- import type { MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
3
- export { MarkdownConfigC, MarkdownStyleC } from './ui/markdown/Markdown.vue.js';
4
- export type { MarkdownConfig, MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
2
+ import { type MarkdownConfigInput } from './ui/markdown/Markdown.vue.js';
3
+ export { CURRENT_COMPATIBILITY_DATE, KIND, MarkdownBodyC, MarkdownBodyInputC, MarkdownConfigC, MarkdownConfigInputC, MarkdownStyleC, SUPPORTED_COMPATIBILITY_DATES, createMarkdownConfig, } from './ui/markdown/Markdown.vue.js';
4
+ export type { MarkdownBody, MarkdownBodyInput, MarkdownConfig, MarkdownConfigInput, } from './ui/markdown/Markdown.vue.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: import("vue").DefineComponent<{
@@ -9,17 +9,27 @@ declare const __VLS_export: import("vue").DefineComponent<{
9
9
  context?: Record<string, unknown>;
10
10
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  "update:config": (args_0: Readonly<{
12
- locale?: import("../utils/coders.js").LocaleValue;
13
- inline?: boolean;
14
- style?: string;
12
+ kind: string;
13
+ compatibilityDate: string;
14
+ locale?: readonly {
15
+ locale: "zh" | "ja" | "en" | "ko";
16
+ message: string;
17
+ }[] | undefined;
18
+ inline?: boolean | undefined;
19
+ style?: string | undefined;
15
20
  }>) => any;
16
21
  }, string, import("vue").PublicProps, Readonly<{
17
22
  config?: MarkdownConfigInput | Effect.Effect<MarkdownConfigInput | undefined>;
18
23
  context?: Record<string, unknown>;
19
24
  }> & Readonly<{
20
25
  "onUpdate:config"?: ((args_0: Readonly<{
21
- locale?: import("../utils/coders.js").LocaleValue;
22
- inline?: boolean;
23
- style?: string;
26
+ kind: string;
27
+ compatibilityDate: string;
28
+ locale?: readonly {
29
+ locale: "zh" | "ja" | "en" | "ko";
30
+ message: string;
31
+ }[] | undefined;
32
+ inline?: boolean | undefined;
33
+ style?: string | undefined;
24
34
  }>) => any) | undefined;
25
35
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
2
  import type { MenuTabsConfigInput } from './ui/menu-tabs/schema.js';
3
- export { MenuTabsConfigC, MenuTabsConfigInputC, MenuTabsItemC, MenuTabsItemToC } from './ui/menu-tabs/schema.js';
4
- export type { MenuTabsConfig, MenuTabsConfigInput, MenuTabsItem } from './ui/menu-tabs/schema.js';
3
+ export { CURRENT_COMPATIBILITY_DATE, KIND, MenuTabsBodyC, MenuTabsBodyInputC, MenuTabsConfigC, MenuTabsConfigInputC, MenuTabsItemC, MenuTabsItemToC, SUPPORTED_COMPATIBILITY_DATES, createMenuTabsConfig, } from './ui/menu-tabs/schema.js';
4
+ export type { MenuTabsBody, MenuTabsBodyInput, MenuTabsConfig, MenuTabsConfigInput, MenuTabsItem, } from './ui/menu-tabs/schema.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: import("vue").DefineComponent<{
@@ -11,9 +11,14 @@ declare const __VLS_export: import("vue").DefineComponent<{
11
11
  "update:config": (args_0: Readonly<{
12
12
  menus: readonly Readonly<{
13
13
  id: string;
14
- title: import("../utils/coders.js").LocaleValue;
14
+ title: readonly {
15
+ locale: "zh" | "ja" | "en" | "ko";
16
+ message: string;
17
+ }[];
15
18
  to: string;
16
19
  }>[];
20
+ kind: string;
21
+ compatibilityDate: string;
17
22
  }>) => any;
18
23
  }, string, import("vue").PublicProps, Readonly<{
19
24
  config?: MenuTabsConfigInput | Effect.Effect<MenuTabsConfigInput | undefined>;
@@ -22,8 +27,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
22
27
  "onUpdate:config"?: ((args_0: Readonly<{
23
28
  menus: readonly Readonly<{
24
29
  id: string;
25
- title: import("../utils/coders.js").LocaleValue;
30
+ title: readonly {
31
+ locale: "zh" | "ja" | "en" | "ko";
32
+ message: string;
33
+ }[];
26
34
  to: string;
27
35
  }>[];
36
+ kind: string;
37
+ compatibilityDate: string;
28
38
  }>) => any) | undefined;
29
39
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
2
  import { Effect } from "effect";
3
+ import { createMenuTabsConfig } from "./ui/menu-tabs/schema";
3
4
  import UiMenuTabs from "./ui/menu-tabs/MenuTabs.vue";
4
5
  defineOptions({
5
6
  inheritAttrs: false
@@ -9,9 +10,9 @@ const props = defineProps({
9
10
  context: { type: Object, required: false }
10
11
  });
11
12
  const emit = defineEmits(["update:config"]);
12
- const defaultConfig = {
13
+ const defaultConfig = createMenuTabsConfig({
13
14
  menus: []
14
- };
15
+ });
15
16
  function isEffectConfig(value) {
16
17
  return typeof value === "object" && value !== null && "pipe" in value && typeof Reflect.get(value, "pipe") === "function";
17
18
  }
@@ -27,7 +28,18 @@ function handleConfigUpdate(config) {
27
28
  </script>
28
29
 
29
30
  <script>
30
- export { MenuTabsConfigC, MenuTabsConfigInputC, MenuTabsItemC, MenuTabsItemToC } from "./ui/menu-tabs/schema";
31
+ export {
32
+ CURRENT_COMPATIBILITY_DATE,
33
+ KIND,
34
+ MenuTabsBodyC,
35
+ MenuTabsBodyInputC,
36
+ MenuTabsConfigC,
37
+ MenuTabsConfigInputC,
38
+ MenuTabsItemC,
39
+ MenuTabsItemToC,
40
+ SUPPORTED_COMPATIBILITY_DATES,
41
+ createMenuTabsConfig
42
+ } from "./ui/menu-tabs/schema";
31
43
  </script>
32
44
 
33
45
  <template>
@@ -1,7 +1,7 @@
1
1
  import { Effect } from 'effect';
2
2
  import type { MenuTabsConfigInput } from './ui/menu-tabs/schema.js';
3
- export { MenuTabsConfigC, MenuTabsConfigInputC, MenuTabsItemC, MenuTabsItemToC } from './ui/menu-tabs/schema.js';
4
- export type { MenuTabsConfig, MenuTabsConfigInput, MenuTabsItem } from './ui/menu-tabs/schema.js';
3
+ export { CURRENT_COMPATIBILITY_DATE, KIND, MenuTabsBodyC, MenuTabsBodyInputC, MenuTabsConfigC, MenuTabsConfigInputC, MenuTabsItemC, MenuTabsItemToC, SUPPORTED_COMPATIBILITY_DATES, createMenuTabsConfig, } from './ui/menu-tabs/schema.js';
4
+ export type { MenuTabsBody, MenuTabsBodyInput, MenuTabsConfig, MenuTabsConfigInput, MenuTabsItem, } from './ui/menu-tabs/schema.js';
5
5
  declare const _default: typeof __VLS_export;
6
6
  export default _default;
7
7
  declare const __VLS_export: import("vue").DefineComponent<{
@@ -11,9 +11,14 @@ declare const __VLS_export: import("vue").DefineComponent<{
11
11
  "update:config": (args_0: Readonly<{
12
12
  menus: readonly Readonly<{
13
13
  id: string;
14
- title: import("../utils/coders.js").LocaleValue;
14
+ title: readonly {
15
+ locale: "zh" | "ja" | "en" | "ko";
16
+ message: string;
17
+ }[];
15
18
  to: string;
16
19
  }>[];
20
+ kind: string;
21
+ compatibilityDate: string;
17
22
  }>) => any;
18
23
  }, string, import("vue").PublicProps, Readonly<{
19
24
  config?: MenuTabsConfigInput | Effect.Effect<MenuTabsConfigInput | undefined>;
@@ -22,8 +27,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
22
27
  "onUpdate:config"?: ((args_0: Readonly<{
23
28
  menus: readonly Readonly<{
24
29
  id: string;
25
- title: import("../utils/coders.js").LocaleValue;
30
+ title: readonly {
31
+ locale: "zh" | "ja" | "en" | "ko";
32
+ message: string;
33
+ }[];
26
34
  to: string;
27
35
  }>[];
36
+ kind: string;
37
+ compatibilityDate: string;
28
38
  }>) => any) | undefined;
29
39
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,7 +1,8 @@
1
+ import { Effect } from 'effect';
1
2
  import type { TableConfigInput } from './ui/table/schema.js';
2
3
  export type { Accessor, Column, Expression, Markdown, Render, TableConfig, TableConfigInput } from './ui/table/schema.js';
3
4
  export type { TableInstance } from './ui/table/Table.vue.js';
4
- export { AccessorC, ColumnC, RenderC, TableConfigC } from './ui/table/schema.js';
5
+ export { AccessorC, ColumnC, CURRENT_COMPATIBILITY_DATE, KIND, RenderC, SUPPORTED_COMPATIBILITY_DATES, TableBodyC, TableBodyInputC, TableConfigC, TableConfigInputC, createTableConfig, } from './ui/table/schema.js';
5
6
  declare module '@tanstack/vue-table' {
6
7
  interface ColumnMeta<TData extends import('@tanstack/vue-table').RowData, TValue> {
7
8
  tooltip?: string;
@@ -13,11 +14,13 @@ declare module '@tanstack/vue-table' {
13
14
  declare const _default: typeof __VLS_export;
14
15
  export default _default;
15
16
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
16
- config?: TableConfigInput | import("effect").Effect.Effect<TableConfigInput | undefined>;
17
+ config?: TableConfigInput | Effect.Effect<TableConfigInput | undefined>;
17
18
  data: Array<unknown>;
18
19
  rowCount?: number;
19
20
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
21
  "update:config": (args_0: Readonly<{
22
+ kind: string;
23
+ compatibilityDate: string;
21
24
  getRowId?: import("./table.vue.js").Expression;
22
25
  getSubRows?: import("./table.vue.js").Expression;
23
26
  enableRowSelection?: import("./table.vue.js").Expression;
@@ -74,11 +77,13 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
74
77
  paginationPageSizes?: ReadonlyArray<number>;
75
78
  }>) => any;
76
79
  }, string, import("vue").PublicProps, Readonly<{
77
- config?: TableConfigInput | import("effect").Effect.Effect<TableConfigInput | undefined>;
80
+ config?: TableConfigInput | Effect.Effect<TableConfigInput | undefined>;
78
81
  data: Array<unknown>;
79
82
  rowCount?: number;
80
83
  }> & Readonly<{
81
84
  "onUpdate:config"?: ((args_0: Readonly<{
85
+ kind: string;
86
+ compatibilityDate: string;
82
87
  getRowId?: import("./table.vue.js").Expression;
83
88
  getSubRows?: import("./table.vue.js").Expression;
84
89
  enableRowSelection?: import("./table.vue.js").Expression;
@@ -1,5 +1,7 @@
1
1
  <script setup>
2
+ import { Effect } from "effect";
2
3
  import { ref } from "vue";
4
+ import { createTableConfig } from "./ui/table/schema";
3
5
  import UiTable from "./ui/table/Table.vue";
4
6
  defineOptions({
5
7
  inheritAttrs: false
@@ -10,6 +12,18 @@ const props = defineProps({
10
12
  rowCount: { type: Number, required: false }
11
13
  });
12
14
  const emit = defineEmits(["update:config"]);
15
+ const defaultConfig = createTableConfig({
16
+ columns: []
17
+ });
18
+ function isTableConfigEffect(value) {
19
+ return typeof value === "object" && value !== null && "pipe" in value && typeof value.pipe === "function";
20
+ }
21
+ function resolveConfig() {
22
+ if (isTableConfigEffect(props.config)) {
23
+ return props.config.pipe(Effect.map((value) => value ?? defaultConfig));
24
+ }
25
+ return props.config ?? defaultConfig;
26
+ }
13
27
  function handleConfigUpdate(config) {
14
28
  emit("update:config", config);
15
29
  }
@@ -43,13 +57,25 @@ defineExpose(new Proxy({}, {
43
57
  </script>
44
58
 
45
59
  <script>
46
- export { AccessorC, ColumnC, RenderC, TableConfigC } from "./ui/table/schema";
60
+ export {
61
+ AccessorC,
62
+ ColumnC,
63
+ CURRENT_COMPATIBILITY_DATE,
64
+ KIND,
65
+ RenderC,
66
+ SUPPORTED_COMPATIBILITY_DATES,
67
+ TableBodyC,
68
+ TableBodyInputC,
69
+ TableConfigC,
70
+ TableConfigInputC,
71
+ createTableConfig
72
+ } from "./ui/table/schema";
47
73
  </script>
48
74
 
49
75
  <template>
50
76
  <UiTable
51
77
  ref="tableRef"
52
- :config="props.config"
78
+ :config="resolveConfig()"
53
79
  :data="props.data"
54
80
  :row-count="props.rowCount"
55
81
  @update:config="handleConfigUpdate"