@milaboratories/milaboratories.ui-examples.model 1.1.10 → 1.1.11

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.
package/dist/index.cjs CHANGED
@@ -7,7 +7,7 @@ var zod = require('zod');
7
7
  var $BlockArgs = zod.z.object({
8
8
  numbers: zod.z.array(zod.z.coerce.number())
9
9
  });
10
- var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }).withUiState({ dataTableState: void 0 }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
10
+ var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
11
11
  if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return void 0;
12
12
  return model.createPlDataTable(ctx, [
13
13
  {
@@ -35,10 +35,15 @@ var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }
35
35
  ]
36
36
  }
37
37
  ], ctx.uiState.dataTableState.tableState, [
38
- ...ctx.uiState.dataTableState.tableState.pTableParams?.filters,
38
+ ...ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? [],
39
39
  ...ctx.uiState.dataTableState.filterModel?.filters ?? []
40
40
  ]);
41
41
  }).sections((ctx) => {
42
+ const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({
43
+ type: "link",
44
+ href: `/section?id=${it.id}`,
45
+ label: it.label
46
+ }));
42
47
  return [
43
48
  { type: "link", href: "/loaders", label: "Loaders" },
44
49
  { type: "link", href: "/", label: "Icons/Masks" },
@@ -56,10 +61,21 @@ var platforma = model.BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }
56
61
  { type: "link", href: "/errors", label: "Errors" },
57
62
  { type: "link", href: "/text-fields", label: "PlTextField" },
58
63
  { type: "link", href: "/tabs", label: "PlTabs" },
59
- { type: "link", href: "/drafts", label: "Drafts" },
60
64
  { type: "link", href: "/stacked-bar", label: "PlChartStackedBar" },
61
65
  { type: "link", href: "/buttons", label: "ButtonsPage" },
62
- { type: "link", href: "/notifications", label: "Notifications" }
66
+ { type: "link", href: "/notifications", label: "Notifications" },
67
+ { type: "link", href: "/drafts", label: "Drafts" },
68
+ ...dynamicSections.length ? [
69
+ { type: "delimiter" },
70
+ ...dynamicSections,
71
+ { type: "delimiter" }
72
+ ] : [],
73
+ {
74
+ type: "link",
75
+ href: "/add-section",
76
+ appearance: "add-section",
77
+ label: "New Dynamic section"
78
+ }
63
79
  ];
64
80
  }).done();
65
81
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","createPlDataTable"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n BlockModel,\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n createPlDataTable,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId,\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3] })\n\n .withUiState<UiState>({ dataTableState: undefined })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(ctx, [\n {\n id: \"example\" as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n },\n }\n ]\n },\n data: [\n { key: [1], val: '1' },\n { key: [2], val: '2' }\n ]\n } satisfies PColumn<PColumnValues>\n ], ctx.uiState.dataTableState.tableState, [\n ...ctx.uiState.dataTableState.tableState.pTableParams?.filters,\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? [])\n ]);\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/log-view', label: 'PlLogView' },\n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["z","BlockModel","createPlDataTable"],"mappings":"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","file":"index.cjs","sourcesContent":["import type {\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId } from '@platforma-sdk/model';\nimport {\n BlockModel,\n createPlDataTable,\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number()),\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n dynamicSections: {\n id: string;\n label: string;\n }[];\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3, 4] })\n\n .withUiState<UiState>({ dataTableState: undefined, dynamicSections: [] })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(ctx, [\n {\n id: 'example' as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n },\n },\n ],\n },\n data: [\n { key: [1], val: '1' },\n { key: [2], val: '2' },\n ],\n } satisfies PColumn<PColumnValues>,\n ], ctx.uiState.dataTableState.tableState, [\n ...(ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? []),\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? []),\n ]);\n })\n\n .sections((ctx) => {\n const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({\n type: 'link' as const,\n href: `/section?id=${it.id}` as const,\n label: it.label,\n }));\n\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/log-view', label: 'PlLogView' },\n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n ...(dynamicSections.length\n ? [\n { type: 'delimiter' },\n ...dynamicSections,\n { type: 'delimiter' }] as const\n : []),\n {\n type: 'link',\n href: '/add-section',\n appearance: 'add-section',\n label: 'New Dynamic section',\n },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
package/dist/index.d.cts CHANGED
@@ -16,13 +16,17 @@ type TableState = {
16
16
  };
17
17
  type UiState = {
18
18
  dataTableState: TableState | undefined;
19
+ dynamicSections: {
20
+ id: string;
21
+ label: string;
22
+ }[];
19
23
  };
20
24
  declare const platforma: _platforma_sdk_model.Platforma<{
21
25
  numbers: number[];
22
26
  }, {
23
27
  numbers: _platforma_sdk_model.ValueOrErrors<number[] | undefined>;
24
28
  pt: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PTableHandle | undefined>;
25
- }, UiState, "/" | "/loaders" | "/layout" | "/form-components" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs" | "/drafts" | "/stacked-bar" | "/buttons" | "/notifications">;
29
+ }, UiState, "/" | "/loaders" | "/layout" | "/form-components" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs" | "/stacked-bar" | "/buttons" | "/notifications" | "/drafts" | `/section?id=${string}` | "/add-section">;
26
30
  type BlockOutputs = InferOutputsType<typeof platforma>;
27
31
  type Href = InferHrefType<typeof platforma>;
28
32
 
package/dist/index.d.ts CHANGED
@@ -16,13 +16,17 @@ type TableState = {
16
16
  };
17
17
  type UiState = {
18
18
  dataTableState: TableState | undefined;
19
+ dynamicSections: {
20
+ id: string;
21
+ label: string;
22
+ }[];
19
23
  };
20
24
  declare const platforma: _platforma_sdk_model.Platforma<{
21
25
  numbers: number[];
22
26
  }, {
23
27
  numbers: _platforma_sdk_model.ValueOrErrors<number[] | undefined>;
24
28
  pt: _platforma_sdk_model.ValueOrErrors<_platforma_sdk_model.PTableHandle | undefined>;
25
- }, UiState, "/" | "/loaders" | "/layout" | "/form-components" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs" | "/drafts" | "/stacked-bar" | "/buttons" | "/notifications">;
29
+ }, UiState, "/" | "/loaders" | "/layout" | "/form-components" | "/log-view" | "/modals" | "/select-files" | "/inject-env" | "/dropdowns" | "/use-watch-fetch" | "/typography" | "/ag-grid-vue" | "/pl-ag-data-table" | "/errors" | "/text-fields" | "/tabs" | "/stacked-bar" | "/buttons" | "/notifications" | "/drafts" | `/section?id=${string}` | "/add-section">;
26
30
  type BlockOutputs = InferOutputsType<typeof platforma>;
27
31
  type Href = InferHrefType<typeof platforma>;
28
32
 
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  var $BlockArgs = z.object({
6
6
  numbers: z.array(z.coerce.number())
7
7
  });
8
- var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }).withUiState({ dataTableState: void 0 }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
8
+ var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3, 4] }).withUiState({ dataTableState: void 0, dynamicSections: [] }).output("numbers", (ctx) => ctx.outputs?.resolve("numbers")?.getDataAsJson()).output("pt", (ctx) => {
9
9
  if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return void 0;
10
10
  return createPlDataTable(ctx, [
11
11
  {
@@ -33,10 +33,15 @@ var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }).with
33
33
  ]
34
34
  }
35
35
  ], ctx.uiState.dataTableState.tableState, [
36
- ...ctx.uiState.dataTableState.tableState.pTableParams?.filters,
36
+ ...ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? [],
37
37
  ...ctx.uiState.dataTableState.filterModel?.filters ?? []
38
38
  ]);
39
39
  }).sections((ctx) => {
40
+ const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({
41
+ type: "link",
42
+ href: `/section?id=${it.id}`,
43
+ label: it.label
44
+ }));
40
45
  return [
41
46
  { type: "link", href: "/loaders", label: "Loaders" },
42
47
  { type: "link", href: "/", label: "Icons/Masks" },
@@ -54,10 +59,21 @@ var platforma = BlockModel.create("Heavy").withArgs({ numbers: [1, 2, 3] }).with
54
59
  { type: "link", href: "/errors", label: "Errors" },
55
60
  { type: "link", href: "/text-fields", label: "PlTextField" },
56
61
  { type: "link", href: "/tabs", label: "PlTabs" },
57
- { type: "link", href: "/drafts", label: "Drafts" },
58
62
  { type: "link", href: "/stacked-bar", label: "PlChartStackedBar" },
59
63
  { type: "link", href: "/buttons", label: "ButtonsPage" },
60
- { type: "link", href: "/notifications", label: "Notifications" }
64
+ { type: "link", href: "/notifications", label: "Notifications" },
65
+ { type: "link", href: "/drafts", label: "Drafts" },
66
+ ...dynamicSections.length ? [
67
+ { type: "delimiter" },
68
+ ...dynamicSections,
69
+ { type: "delimiter" }
70
+ ] : [],
71
+ {
72
+ type: "link",
73
+ href: "/add-section",
74
+ appearance: "add-section",
75
+ label: "New Dynamic section"
76
+ }
61
77
  ];
62
78
  }).done();
63
79
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n BlockModel,\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n createPlDataTable,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId,\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number())\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3] })\n\n .withUiState<UiState>({ dataTableState: undefined })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(ctx, [\n {\n id: \"example\" as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n },\n }\n ]\n },\n data: [\n { key: [1], val: '1' },\n { key: [2], val: '2' }\n ]\n } satisfies PColumn<PColumnValues>\n ], ctx.uiState.dataTableState.tableState, [\n ...ctx.uiState.dataTableState.tableState.pTableParams?.filters,\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? [])\n ]);\n })\n\n .sections((ctx) => {\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/log-view', label: 'PlLogView' },\n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n InferHrefType,\n InferOutputsType,\n PlDataTableState,\n PlTableFiltersModel,\n PColumn,\n PColumnValues,\n PObjectId } from '@platforma-sdk/model';\nimport {\n BlockModel,\n createPlDataTable,\n} from '@platforma-sdk/model';\nimport { z } from 'zod';\n\nexport const $BlockArgs = z.object({\n numbers: z.array(z.coerce.number()),\n});\n\nexport type BlockArgs = z.infer<typeof $BlockArgs>;\n\nexport type TableState = {\n tableState: PlDataTableState;\n filterModel: PlTableFiltersModel;\n};\n\nexport type UiState = {\n dataTableState: TableState | undefined;\n dynamicSections: {\n id: string;\n label: string;\n }[];\n};\n\nexport const platforma = BlockModel.create('Heavy')\n\n .withArgs<BlockArgs>({ numbers: [1, 2, 3, 4] })\n\n .withUiState<UiState>({ dataTableState: undefined, dynamicSections: [] })\n\n .output('numbers', (ctx) => ctx.outputs?.resolve('numbers')?.getDataAsJson<number[]>())\n\n .output('pt', (ctx) => {\n if (!ctx.uiState?.dataTableState?.tableState.pTableParams?.filters) return undefined;\n return createPlDataTable(ctx, [\n {\n id: 'example' as PObjectId,\n spec: {\n kind: 'PColumn',\n valueType: 'String',\n name: 'example',\n annotations: {\n 'pl7.app/label': 'String column',\n },\n axesSpec: [\n {\n type: 'Int',\n name: 'index',\n annotations: {\n 'pl7.app/label': 'Int axis',\n },\n },\n ],\n },\n data: [\n { key: [1], val: '1' },\n { key: [2], val: '2' },\n ],\n } satisfies PColumn<PColumnValues>,\n ], ctx.uiState.dataTableState.tableState, [\n ...(ctx.uiState.dataTableState.tableState.pTableParams?.filters ?? []),\n ...(ctx.uiState.dataTableState.filterModel?.filters ?? []),\n ]);\n })\n\n .sections((ctx) => {\n const dynamicSections = (ctx.uiState.dynamicSections ?? []).map((it) => ({\n type: 'link' as const,\n href: `/section?id=${it.id}` as const,\n label: it.label,\n }));\n\n return [\n { type: 'link', href: '/loaders', label: 'Loaders' },\n { type: 'link', href: '/', label: 'Icons/Masks' },\n { type: 'link', href: '/layout', label: 'Layout' },\n { type: 'link', href: '/form-components', label: 'Form Components' },\n { type: 'link', href: '/log-view', label: 'PlLogView' },\n { type: 'link', href: '/modals', label: 'Modals' },\n { type: 'link', href: '/select-files', label: 'Select Files' },\n { type: 'link', href: '/inject-env', label: 'Inject env' },\n { type: 'link', href: '/dropdowns', label: 'Dropdowns' },\n { type: 'link', href: '/use-watch-fetch', label: 'useWatchFetch' },\n { type: 'link', href: '/typography', label: 'Typography' },\n { type: 'link', href: '/ag-grid-vue', label: 'AgGridVue' },\n { type: 'link', href: '/pl-ag-data-table', label: 'PlAgDataTable' },\n { type: 'link', href: '/errors', label: 'Errors' },\n { type: 'link', href: '/text-fields', label: 'PlTextField' },\n { type: 'link', href: '/tabs', label: 'PlTabs' },\n { type: 'link', href: '/stacked-bar', label: 'PlChartStackedBar' },\n { type: 'link', href: '/buttons', label: 'ButtonsPage' },\n { type: 'link', href: '/notifications', label: 'Notifications' },\n { type: 'link', href: '/drafts', label: 'Drafts' },\n ...(dynamicSections.length\n ? [\n { type: 'delimiter' },\n ...dynamicSections,\n { type: 'delimiter' }] as const\n : []),\n {\n type: 'link',\n href: '/add-section',\n appearance: 'add-section',\n label: 'New Dynamic section',\n },\n ];\n })\n\n .done();\n\nexport type BlockOutputs = InferOutputsType<typeof platforma>;\nexport type Href = InferHrefType<typeof platforma>;\n"]}