@ostack.tech/kform-scaffolder 0.34.2 → 0.36.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 (44) hide show
  1. package/ostack-kform-scaffolder.js +26 -16
  2. package/ostack-kform-scaffolder.js.map +1 -1
  3. package/package.json +1 -1
  4. package/types/SchematicBuilder.d.ts +5 -5
  5. package/types/SchematicBuilderConfig.d.ts +2 -2
  6. package/types/SchematicBuilderContext.d.ts +5 -5
  7. package/types/SchematicKind.d.ts +3 -3
  8. package/types/actions/LoadSchematic.d.ts +1 -1
  9. package/types/actions/SaveSchematic.d.ts +1 -1
  10. package/types/actions/ScaffoldToZip.d.ts +1 -1
  11. package/types/configs/UseFileBase64SerializerConfig.d.ts +1 -1
  12. package/types/configs/UseTableValuesSerializerConfig.d.ts +1 -1
  13. package/types/index.d.ts +37 -37
  14. package/types/main.d.ts +1 -0
  15. package/types/scaffolding/ScaffoldingData.d.ts +5 -5
  16. package/types/scaffolding/configScaffolder.d.ts +2 -2
  17. package/types/scaffolding/kotlin/KtData.d.ts +2 -2
  18. package/types/scaffolding/kotlin/KtFile.d.ts +2 -2
  19. package/types/scaffolding/kotlin/util/annotations.d.ts +1 -1
  20. package/types/scaffolding/scaffold.d.ts +4 -4
  21. package/types/scaffolding/scaffolders/scaffoldModels.d.ts +3 -3
  22. package/types/scaffolding/scaffolders/scaffoldSchemas.d.ts +3 -3
  23. package/types/scaffolding/scaffolders/scaffoldSerializer.d.ts +2 -2
  24. package/types/scaffolding/scaffolders/scaffoldValidator.d.ts +2 -2
  25. package/types/scaffolding/templating/EjsTemplateFile.d.ts +2 -2
  26. package/types/scaffolding/templating/TemplateFile.d.ts +3 -3
  27. package/types/scaffolding/templating/util/addEjsTemplateFile.d.ts +2 -2
  28. package/types/scaffolding/templating/util/addTemplateFile.d.ts +4 -4
  29. package/types/scaffolding/typescript/TsData.d.ts +2 -2
  30. package/types/scaffolding/typescript/TsFile.d.ts +2 -2
  31. package/types/scaffolding/useScaffolder.d.ts +1 -1
  32. package/types/schematicBuilders/ClassBuilder.d.ts +2 -2
  33. package/types/schematicBuilders/EnumBuilder.d.ts +2 -2
  34. package/types/schematicBuilders/ListableBuilder.d.ts +3 -3
  35. package/types/schematicBuilders/util/ChildMarker.d.ts +1 -1
  36. package/types/schematicBuilders/util/ChildRemove.d.ts +1 -1
  37. package/types/schematicBuilders/util/KindSelect.d.ts +1 -1
  38. package/types/schematicBuilders/util/NullableInput.d.ts +1 -1
  39. package/types/schematicBuilders/util/PackageNameInput.d.ts +1 -1
  40. package/types/util/preventDrag.d.ts +1 -1
  41. package/types/util/useSafeLayoutEffect.d.ts +3 -0
  42. package/webapp/assets/{index-Dhj399Pj.js → index-BE012wvE.js} +11 -11
  43. package/webapp/index.html +1 -1
  44. package/types/util/useLayoutEffect.d.ts +0 -3
@@ -1,5 +1,5 @@
1
1
  import { DndContext, DragOverlay, KeyboardSensor, PointerSensor, closestCenter, useDraggable, useDroppable, useSensor, useSensors } from "@dnd-kit/core";
2
- import { createContext, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from "react";
2
+ import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
3
3
  import { create } from "zustand";
4
4
  import { persist } from "zustand/middleware";
5
5
  import { fileOpen, fileSave, supported } from "browser-fs-access";
@@ -254,7 +254,7 @@ function UseFileBase64SerializerConfig({ disabled }) {
254
254
  disabled
255
255
  }),
256
256
  "Use ",
257
- /* @__PURE__ */ jsx("code", { children: "File.Base64Serializer" })
257
+ /* @__PURE__ */ jsx("code", { children: "FileBase64Serializer" })
258
258
  ] })
259
259
  });
260
260
  }
@@ -272,7 +272,7 @@ function UseTableValuesSerializerConfig({ disabled }) {
272
272
  disabled
273
273
  }),
274
274
  "Use ",
275
- /* @__PURE__ */ jsx("code", { children: "Table.ValuesSerializer" })
275
+ /* @__PURE__ */ jsx("code", { children: "TableValuesSerializer" })
276
276
  ] })
277
277
  });
278
278
  }
@@ -644,7 +644,7 @@ function ClassBuilder() {
644
644
  }),
645
645
  fields.length > 0 && /* @__PURE__ */ jsxs("ul", {
646
646
  className: "builder-children",
647
- children: [fields.map((field, i) => /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
647
+ children: [fields.map((field, i) => /* @__PURE__ */ jsx(SchematicBuilderContext, {
648
648
  value: {
649
649
  ...schematicBuilderContext,
650
650
  useSchematic: (selector) => useSchematic((schematic) => selector(schematic.children[i])),
@@ -741,7 +741,7 @@ function ClassFieldBuilder() {
741
741
  className: "builder-operator",
742
742
  children: "∶"
743
743
  }),
744
- /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
744
+ /* @__PURE__ */ jsx(SchematicBuilderContext, {
745
745
  value: {
746
746
  ...schematicBuilderContext,
747
747
  parentChildName: childName
@@ -751,7 +751,7 @@ function ClassFieldBuilder() {
751
751
  /* @__PURE__ */ jsx(NullableInput, {}),
752
752
  /* @__PURE__ */ jsx(ChildRemove, {})
753
753
  ]
754
- }), Builder && !collapsed && /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
754
+ }), Builder && !collapsed && /* @__PURE__ */ jsx(SchematicBuilderContext, {
755
755
  value: {
756
756
  ...schematicBuilderContext,
757
757
  parentChildName: childName,
@@ -791,7 +791,7 @@ function EnumBuilder() {
791
791
  }),
792
792
  fields.length > 0 && /* @__PURE__ */ jsxs("ul", {
793
793
  className: "builder-children",
794
- children: [fields.map((field, i) => /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
794
+ children: [fields.map((field, i) => /* @__PURE__ */ jsx(SchematicBuilderContext, {
795
795
  value: {
796
796
  ...schematicBuilderContext,
797
797
  useSchematic: (selector) => useSchematic((schematic) => selector(schematic.children[i])),
@@ -893,7 +893,7 @@ function ListableBuilder({ showKindSelect = true }) {
893
893
  const id = useSchematic((schematic) => schematic.id);
894
894
  return /* @__PURE__ */ jsx("div", {
895
895
  className: "listable-builder builder",
896
- children: /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
896
+ children: /* @__PURE__ */ jsx(SchematicBuilderContext, {
897
897
  value: {
898
898
  ...schematicBuilderContext,
899
899
  useSchematic: (selector) => useSchematic((schematic) => selector(schematic.children[0])),
@@ -1075,7 +1075,12 @@ var fileSchematicKind = {
1075
1075
  data.currentFile.imports.add("tech.ostack.kform.datatypes.emptyPlaceholderFile");
1076
1076
  return "emptyPlaceholderFile()";
1077
1077
  },
1078
- propertyAnnotations: (_schematic, data) => data.useFileBase64Serializer ? "@Serializable(with = File.Base64Serializer::class)" : void 0
1078
+ propertyAnnotations: (_schematic, data) => {
1079
+ if (data.useFileBase64Serializer) {
1080
+ data.currentFile.imports.add("tech.ostack.kform.serializers.FileBase64Serializer");
1081
+ return "@Serializable(with = FileBase64Serializer::class)";
1082
+ }
1083
+ }
1079
1084
  };
1080
1085
  var floatSchematicKind = {
1081
1086
  kind: "Float",
@@ -1168,7 +1173,12 @@ var tableSchematicKind = {
1168
1173
  },
1169
1174
  builder: ListableBuilder,
1170
1175
  initChildren: () => [createSchematic()],
1171
- propertyAnnotations: (_schematic, data) => data.useTableValuesSerializer ? "@Serializable(with = Table.ValuesSerializer::class)" : void 0,
1176
+ propertyAnnotations: (_schematic, data) => {
1177
+ if (data.useTableValuesSerializer) {
1178
+ data.currentFile.imports.add("tech.ostack.kform.serializers.TableValuesSerializer");
1179
+ return "@Serializable(with = TableValuesSerializer::class)";
1180
+ }
1181
+ },
1172
1182
  scaffoldType: (schematic, data) => `Table<${scaffoldType(schematic.children[0], {
1173
1183
  ...data,
1174
1184
  currentPath: joinPaths(data.currentPath, "*")
@@ -1296,9 +1306,9 @@ function scaffoldValidator(schematic, data) {
1296
1306
  });
1297
1307
  }
1298
1308
  //#endregion
1299
- //#region src/util/useLayoutEffect.ts
1300
- /** `useLayoutEffect` hook which performs a noop when run on the server. */
1301
- var useLayoutEffect$1 = typeof document !== "undefined" ? useLayoutEffect : () => {};
1309
+ //#region src/util/useSafeLayoutEffect.ts
1310
+ /** `useLayoutEffect` hook which runs `useEffect` on the server. */
1311
+ var useSafeLayoutEffect = typeof document !== "undefined" ? useLayoutEffect : useEffect;
1302
1312
  //#endregion
1303
1313
  //#region src/util/useMeasure.ts
1304
1314
  /**
@@ -1306,7 +1316,7 @@ var useLayoutEffect$1 = typeof document !== "undefined" ? useLayoutEffect : () =
1306
1316
  * API + window resize.
1307
1317
  */
1308
1318
  function useMeasure(element, setMeasurement) {
1309
- useLayoutEffect$1(() => {
1319
+ useSafeLayoutEffect(() => {
1310
1320
  if (!element) {
1311
1321
  setMeasurement(void 0);
1312
1322
  return;
@@ -1372,7 +1382,7 @@ function SchematicBuilder({ name = "kform", title = document.title, basePath, ba
1372
1382
  /* @__PURE__ */ jsx(LoadSchematic, {}),
1373
1383
  /* @__PURE__ */ jsx(SaveSchematic, {}),
1374
1384
  /* @__PURE__ */ jsx(ScaffoldToZip, {})
1375
- ] }), configs = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(UseFileBase64SerializerConfig, {}), /* @__PURE__ */ jsx(UseTableValuesSerializerConfig, {})] }), version = "0.34.2" }) {
1385
+ ] }), configs = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(UseFileBase64SerializerConfig, {}), /* @__PURE__ */ jsx(UseTableValuesSerializerConfig, {})] }), version = "0.36.0" }) {
1376
1386
  const [useSchematic] = useState(() => create(persist(() => createSchematic({
1377
1387
  kind: classSchematicKind.kind,
1378
1388
  packageSuffix: defaultRootClassPackage,
@@ -1387,7 +1397,7 @@ function SchematicBuilder({ name = "kform", title = document.title, basePath, ba
1387
1397
  delay: 400,
1388
1398
  tolerance: 20
1389
1399
  } }), useSensor(KeyboardSensor));
1390
- return /* @__PURE__ */ jsx(SchematicBuilderContext.Provider, {
1400
+ return /* @__PURE__ */ jsx(SchematicBuilderContext, {
1391
1401
  value: {
1392
1402
  name,
1393
1403
  basePath,