@k3-tech/react-kit 0.0.55 → 0.0.57

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.js CHANGED
@@ -12102,7 +12102,7 @@ function SectionNodeRenderer({
12102
12102
  node,
12103
12103
  renderLeaf
12104
12104
  }) {
12105
- var _a2;
12105
+ var _a2, _b, _c;
12106
12106
  if (node.hidden) return null;
12107
12107
  const layout = node.layout ?? "grid";
12108
12108
  const containerClass = layout === "grid" ? gridClasses(node.grid) : layout === "flex" ? flexClasses(node.flex) : "";
@@ -12117,26 +12117,38 @@ function SectionNodeRenderer({
12117
12117
  className: node.className,
12118
12118
  headerClassName: node.headerClassName,
12119
12119
  contentClassName: node.contentClassName,
12120
- children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: defaultTabId, className: cn$1("space-y-2"), children: [
12121
- /* @__PURE__ */ jsx(TabsList, { className: cn$1(node.tabsListClassName), children: node.tabs.map((tab) => /* @__PURE__ */ jsx(
12122
- TabsTrigger,
12123
- {
12124
- value: tab.id,
12125
- className: cn$1(tab.className),
12126
- children: tab.label
12127
- },
12128
- tab.id
12129
- )) }),
12130
- node.tabs.map((tab) => /* @__PURE__ */ jsx(
12131
- TabsContent,
12132
- {
12133
- value: tab.id,
12134
- className: cn$1(node.tabsContentClassName, tab.contentClassName),
12135
- children: /* @__PURE__ */ jsx(SectionNodeRenderer, { node: tab.node, renderLeaf })
12136
- },
12137
- tab.id
12138
- ))
12139
- ] })
12120
+ children: /* @__PURE__ */ jsxs(
12121
+ Tabs,
12122
+ {
12123
+ defaultValue: defaultTabId,
12124
+ className: cn$1("space-y-2"),
12125
+ value: (_b = node.tabsState) == null ? void 0 : _b[0],
12126
+ onValueChange: (_c = node.tabsState) == null ? void 0 : _c[1],
12127
+ children: [
12128
+ /* @__PURE__ */ jsx(TabsList, { className: cn$1(node.tabsListClassName), children: node.tabs.filter((tab) => !tab.hidden).map((tab) => {
12129
+ return /* @__PURE__ */ jsx(
12130
+ TabsTrigger,
12131
+ {
12132
+ value: tab.id,
12133
+ disabled: !!tab.disable,
12134
+ className: cn$1(tab.className),
12135
+ children: tab.label
12136
+ },
12137
+ tab.id
12138
+ );
12139
+ }) }),
12140
+ node.tabs.map((tab) => /* @__PURE__ */ jsx(
12141
+ TabsContent,
12142
+ {
12143
+ value: tab.id,
12144
+ className: cn$1(node.tabsContentClassName, tab.contentClassName),
12145
+ children: /* @__PURE__ */ jsx(SectionNodeRenderer, { node: tab.node, renderLeaf })
12146
+ },
12147
+ tab.id
12148
+ ))
12149
+ ]
12150
+ }
12151
+ )
12140
12152
  }
12141
12153
  );
12142
12154
  }
@@ -32868,7 +32880,9 @@ function FileUploader({
32868
32880
  const preparedFile = isBlobLike(transformed) ? await normalizeTransformedFile(preparedSource, transformed) : transformed ?? preparedSource;
32869
32881
  setFilesAndEmit((prev) => {
32870
32882
  var _a2;
32871
- const index2 = prev.findIndex((file) => getUploadToken(file) === token);
32883
+ const index2 = prev.findIndex(
32884
+ (file) => getUploadToken(file) === token
32885
+ );
32872
32886
  if (index2 < 0) return prev;
32873
32887
  const n2 = [...prev];
32874
32888
  n2[index2] = {
@@ -32885,7 +32899,9 @@ function FileUploader({
32885
32899
  });
32886
32900
  const result = await uploader(preparedFile, (pct) => {
32887
32901
  setFilesAndEmit((prev) => {
32888
- const index2 = prev.findIndex((file) => getUploadToken(file) === token);
32902
+ const index2 = prev.findIndex(
32903
+ (file) => getUploadToken(file) === token
32904
+ );
32889
32905
  if (index2 < 0) return prev;
32890
32906
  const n2 = [...prev];
32891
32907
  n2[index2] = {
@@ -32897,7 +32913,9 @@ function FileUploader({
32897
32913
  });
32898
32914
  });
32899
32915
  setFilesAndEmit((prev) => {
32900
- const index2 = prev.findIndex((file) => getUploadToken(file) === token);
32916
+ const index2 = prev.findIndex(
32917
+ (file) => getUploadToken(file) === token
32918
+ );
32901
32919
  if (index2 < 0) return prev;
32902
32920
  const n2 = [...prev];
32903
32921
  n2[index2] = {
@@ -32914,7 +32932,9 @@ function FileUploader({
32914
32932
  if (uploaded) onUploadSuccess == null ? void 0 : onUploadSuccess(uploaded);
32915
32933
  } catch (err) {
32916
32934
  setFilesAndEmit((prev) => {
32917
- const index2 = prev.findIndex((file) => getUploadToken(file) === token);
32935
+ const index2 = prev.findIndex(
32936
+ (file) => getUploadToken(file) === token
32937
+ );
32918
32938
  if (index2 < 0) return prev;
32919
32939
  const n2 = [...prev];
32920
32940
  const msg = err && typeof err === "object" && "message" in err ? String(err.message) : "Upload failed";
@@ -32990,7 +33010,10 @@ function FileUploader({
32990
33010
  return next;
32991
33011
  });
32992
33012
  if (uploader) {
32993
- const capacity = typeof maxFiles === "number" ? Math.max(0, maxFiles - (((_a2 = isControlled ? value : files) == null ? void 0 : _a2.length) ?? 0)) : acceptedFiles.length;
33013
+ const capacity = typeof maxFiles === "number" ? Math.max(
33014
+ 0,
33015
+ maxFiles - (((_a2 = isControlled ? value : files) == null ? void 0 : _a2.length) ?? 0)
33016
+ ) : acceptedFiles.length;
32994
33017
  uploadQueue.slice(0, capacity).forEach(({ file, token }) => {
32995
33018
  void startUpload(token, file);
32996
33019
  });
@@ -33149,6 +33172,7 @@ function FileUploader({
33149
33172
  }
33150
33173
  },
33151
33174
  "aria-label": "Download",
33175
+ type: "button",
33152
33176
  children: /* @__PURE__ */ jsx(Download, { className: "h-4 w-4" })
33153
33177
  }
33154
33178
  ) }),
@@ -33162,6 +33186,7 @@ function FileUploader({
33162
33186
  variant: "ghost",
33163
33187
  onClick: () => onRemove2(idx),
33164
33188
  "aria-label": "Remove",
33189
+ type: "button",
33165
33190
  children: /* @__PURE__ */ jsx(Trash2, { className: "h-4 w-4" })
33166
33191
  }
33167
33192
  ) }),
@@ -34067,6 +34092,7 @@ function buildSectionNodes(options) {
34067
34092
  baseNode.defaultTabId = section.defaultTabId ?? ((_a2 = section.tabs[0]) == null ? void 0 : _a2.id);
34068
34093
  baseNode.tabsListClassName = section.tabsListClassName;
34069
34094
  baseNode.tabsContentClassName = section.tabsContentClassName;
34095
+ baseNode.tabsState = section.tabsState;
34070
34096
  baseNode.tabs = section.tabs.map((tab, _tabIdx) => {
34071
34097
  const nestedNodes = tab.sections.map(
34072
34098
  (subSection, subIdx) => buildSectionNode(subSection, subIdx)
@@ -34083,6 +34109,8 @@ function buildSectionNodes(options) {
34083
34109
  label: tab.label,
34084
34110
  className: tab.className,
34085
34111
  contentClassName: tab.contentClassName,
34112
+ hidden: tab.hidden,
34113
+ disable: tab.disable,
34086
34114
  node: containerNode
34087
34115
  };
34088
34116
  });
@@ -37715,7 +37743,7 @@ function superRefine(fn) {
37715
37743
  return _superRefine(fn);
37716
37744
  }
37717
37745
  function useFormBuilder(options) {
37718
- const { sections, defaultValues, schema: providedSchema } = options;
37746
+ const { sections, defaultValues, schema: providedSchema, extendValidation } = options;
37719
37747
  const generatedSchema = useMemo(() => {
37720
37748
  if (providedSchema) return providedSchema;
37721
37749
  const generateFieldSchema = (field) => {
@@ -37961,8 +37989,11 @@ function useFormBuilder(options) {
37961
37989
  }
37962
37990
  };
37963
37991
  forEachField(sections);
37992
+ if (typeof extendValidation === "function") {
37993
+ return extendValidation(object(schemaObject));
37994
+ }
37964
37995
  return object(schemaObject);
37965
- }, [sections, providedSchema]);
37996
+ }, [sections, providedSchema, extendValidation]);
37966
37997
  const generatedDefaultValues = useMemo(() => {
37967
37998
  const values = {
37968
37999
  ...defaultValues ?? {}
@@ -38074,12 +38105,14 @@ function FormBuilder({
38074
38105
  showActions = true,
38075
38106
  customActions,
38076
38107
  showActionsSeparator = true,
38077
- form
38108
+ form,
38109
+ extendValidation
38078
38110
  }) {
38079
38111
  const { form: generatedForm } = useFormBuilder({
38080
38112
  sections,
38081
38113
  schema,
38082
- defaultValues: defaultValues ?? void 0
38114
+ defaultValues: defaultValues ?? void 0,
38115
+ extendValidation
38083
38116
  });
38084
38117
  const activeForm = form ?? generatedForm;
38085
38118
  const { control, handleSubmit, reset: reset2, setValue, getValues } = activeForm;
@@ -48727,7 +48760,11 @@ function AdminLayoutContent({
48727
48760
  ] })
48728
48761
  }
48729
48762
  ),
48730
- hasChildren && isOpen && /* @__PURE__ */ jsx("div", { className: "mt-1 flex flex-col", children: (item.children ?? []).map(
48763
+ hasChildren && isOpen && // Submenu must be wrapped in a list element so the SidebarMenuItem
48764
+ // (rendered as <li>) children don't end up as direct descendants of
48765
+ // a <div> inside another <li> — that's invalid HTML and triggers a
48766
+ // React hydration warning.
48767
+ /* @__PURE__ */ jsx("ul", { className: "mt-1 flex flex-col list-none p-0 m-0", children: (item.children ?? []).map(
48731
48768
  (child) => renderItem(child, Math.min(level + 1, 3))
48732
48769
  ) })
48733
48770
  ]
@@ -1,4 +1,4 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { FormBuilderProps } from '../types';
3
- export declare function FormBuilder<TFieldValues extends FieldValues = FieldValues>({ sections, schema, defaultValues, onSubmit, onCancel, onReset, onFieldChange, submitLabel, cancelLabel, resetLabel, isSubmitting, className, formClassName, actionsClassName, showActions, customActions, showActionsSeparator, form, }: FormBuilderProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function FormBuilder<TFieldValues extends FieldValues = FieldValues>({ sections, schema, defaultValues, onSubmit, onCancel, onReset, onFieldChange, submitLabel, cancelLabel, resetLabel, isSubmitting, className, formClassName, actionsClassName, showActions, customActions, showActionsSeparator, form, extendValidation, }: FormBuilderProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=FormBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAa,MAAM,iBAAiB,CAAC;AASxE,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAsB,EACtB,WAAsB,EACtB,UAAoB,EACpB,YAAoB,EACpB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,WAAkB,EAClB,aAAa,EACb,oBAA2B,EAC3B,IAAI,GACL,EAAE,gBAAgB,CAAC,YAAY,CAAC,2CAkQhC"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,WAAW,EAAa,MAAM,iBAAiB,CAAC;AASxE,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAsB,EACtB,WAAsB,EACtB,UAAoB,EACpB,YAAoB,EACpB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,WAAkB,EAClB,aAAa,EACb,oBAA2B,EAC3B,IAAI,EACJ,gBAAgB,GACjB,EAAE,gBAAgB,CAAC,YAAY,CAAC,2CAmQhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sectionNodes.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/sectionNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,OAAO,EACP,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAGlB,UAAU,wBAAwB,CAAC,YAAY,SAAS,WAAW;IACjE,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,uBAAuB,EAAE,CACvB,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,KACxC;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1F,iBAAiB,EAAE,CACjB,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,EAC3C,KAAK,EAAE,OAAO,EACd,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,YAAY,KACpB,IAAI,CAAC;IACV,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,SAAS,WAAW,EAChE,OAAO,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAC9C,WAAW,EAAE,CA6Gf"}
1
+ {"version":3,"file":"sectionNodes.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/sectionNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,IAAI,EACJ,OAAO,EACP,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAGlB,UAAU,wBAAwB,CAAC,YAAY,SAAS,WAAW;IACjE,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,uBAAuB,EAAE,CACvB,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,KACxC;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1F,iBAAiB,EAAE,CACjB,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,EAC3C,KAAK,EAAE,OAAO,EACd,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,YAAY,KACpB,IAAI,CAAC;IACV,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,SAAS,WAAW,EAChE,OAAO,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAC9C,WAAW,EAAE,CAgHf"}
@@ -5,6 +5,7 @@ export interface UseFormBuilderOptions<TFieldValues extends FieldValues = FieldV
5
5
  sections: FormBuilderSectionConfig<TFieldValues>[];
6
6
  defaultValues?: Partial<TFieldValues>;
7
7
  schema?: z.ZodType<TFieldValues>;
8
+ extendValidation?: (originalSchema: z.ZodType<TFieldValues>) => z.ZodType<TFieldValues>;
8
9
  }
9
10
  export interface UseFormBuilderReturn<TFieldValues extends FieldValues = FieldValues> {
10
11
  form: UseFormReturn<TFieldValues>;
@@ -1 +1 @@
1
- {"version":3,"file":"useFormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/hooks/useFormBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,qBAAqB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB,CACnC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAClC,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC3E,OAAO,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAC3C,oBAAoB,CAAC,YAAY,CAAC,CAuapC"}
1
+ {"version":3,"file":"useFormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/hooks/useFormBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,qBAAqB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjC,gBAAgB,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;CACxF;AAED,MAAM,WAAW,oBAAoB,CACnC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAClC,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC3E,OAAO,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAC3C,oBAAoB,CAAC,YAAY,CAAC,CA2apC"}
@@ -1,10 +1,9 @@
1
- import { ReactNode } from 'react';
2
1
  import { Accept } from 'react-dropzone';
3
2
  import { Control, DeepPartial, DefaultValues, FieldValues, Path, UseFormGetValues, UseFormReturn, UseFormSetValue } from 'react-hook-form';
4
3
  import { z } from 'zod';
5
4
  import { AutocompleteFetcher, AutocompleteOption } from '../../components/autocomplete/types';
6
5
  import { FileRecord, FileTransformResult, FileUploaderLayout } from '../../components/fileuploader/types';
7
- import { SectionFlexOptions, SectionGridOptions, SectionLayout } from '../section/types';
6
+ import { SectionFlexOptions, SectionGridOptions, SectionLayout, SectionTab } from '../section/types';
8
7
  export type FieldType = 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'autocomplete' | 'checkbox' | 'switch' | 'radio' | 'date' | 'date_picker' | 'date_range' | 'month' | 'month_range' | 'time' | 'time_range' | 'date_time' | 'date_time_range' | 'file' | 'hidden' | 'object' | 'array' | 'custom_field';
9
8
  export interface Dependency<TFieldValues extends FieldValues> {
10
9
  field: Path<TFieldValues>;
@@ -163,16 +162,13 @@ export interface FormBuilderSectionConfig<TFieldValues extends FieldValues = Fie
163
162
  grid?: SectionGridOptions;
164
163
  flex?: SectionFlexOptions;
165
164
  hidden?: boolean;
166
- tabs?: Array<{
167
- id: string;
168
- label: ReactNode;
165
+ tabs?: Array<Pick<SectionTab, "id" | "label" | "className" | "contentClassName" | "hidden" | "disable"> & {
169
166
  sections: Array<FormBuilderSectionConfig<TFieldValues>>;
170
- className?: string;
171
- contentClassName?: string;
172
167
  }>;
173
168
  defaultTabId?: string;
174
169
  tabsListClassName?: string;
175
170
  tabsContentClassName?: string;
171
+ tabsState?: [string, React.Dispatch<React.SetStateAction<string>>];
176
172
  }
177
173
  export interface FormBuilderProps<TFieldValues extends FieldValues = FieldValues> {
178
174
  form?: UseFormReturn<TFieldValues>;
@@ -193,6 +189,7 @@ export interface FormBuilderProps<TFieldValues extends FieldValues = FieldValues
193
189
  showActions?: boolean;
194
190
  customActions?: React.ReactNode;
195
191
  showActionsSeparator?: boolean;
192
+ extendValidation?: (originalSchema: z.ZodType<TFieldValues>) => z.ZodType<TFieldValues>;
196
193
  }
197
194
  export type { SectionNode } from '../section/types';
198
195
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/section/SectionBuilder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,SAAS,CAAC;AAga7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE,mBAAmB,2CAYrB"}
1
+ {"version":3,"file":"SectionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/section/SectionBuilder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,SAAS,CAAC;AAwa7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE,mBAAmB,2CAYrB"}
@@ -50,6 +50,8 @@ export interface SectionTab {
50
50
  label: React.ReactNode;
51
51
  className?: string;
52
52
  contentClassName?: string;
53
+ hidden?: boolean;
54
+ disable?: boolean;
53
55
  node: SectionNode;
54
56
  }
55
57
  export interface SectionNode extends SectionBase {
@@ -61,6 +63,7 @@ export interface SectionNode extends SectionBase {
61
63
  defaultTabId?: string;
62
64
  tabsListClassName?: string;
63
65
  tabsContentClassName?: string;
66
+ tabsState?: [string, React.Dispatch<React.SetStateAction<string>>];
64
67
  }
65
68
  export interface SectionBuilderProps {
66
69
  sections: SectionNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/section/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/section/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploader.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/fileuploader/FileUploader.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAgK7D,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,UAAU,EACV,QAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAe,EACf,QAAQ,EACR,uBAA+B,EAC/B,+BAAuC,EACvC,YAAmB,EACnB,gBAAwB,EACxB,WAA4D,EAC5D,SAAS,GACV,EAAE,iBAAiB,2CAsoBnB;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FileUploader.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/fileuploader/FileUploader.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAmK7D,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,UAAU,EACV,QAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAe,EACf,QAAQ,EACR,uBAA+B,EAC/B,+BAAuC,EACvC,YAAmB,EACnB,gBAAwB,EACxB,WAA4D,EAC5D,SAAS,GACV,EAAE,iBAAiB,2CAmpBnB;AAED,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../../../src/kit/layouts/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AA+BA,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAoNF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,EAAE,gBAAgB,2CAmBlB"}
1
+ {"version":3,"file":"AdminLayout.d.ts","sourceRoot":"","sources":["../../../../../src/kit/layouts/admin/components/AdminLayout.tsx"],"names":[],"mappings":"AA+BA,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhE,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAwNF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,GACT,EAAE,gBAAgB,2CAmBlB"}
@@ -713,6 +713,10 @@
713
713
  }
714
714
  }
715
715
 
716
+ .m-0 {
717
+ margin: calc(var(--spacing) * 0);
718
+ }
719
+
716
720
  .-mx-1 {
717
721
  margin-inline: calc(var(--spacing) * -1);
718
722
  }
@@ -716,6 +716,10 @@
716
716
  }
717
717
  }
718
718
 
719
+ .m-0 {
720
+ margin: calc(var(--spacing) * 0);
721
+ }
722
+
719
723
  .-mx-1 {
720
724
  margin-inline: calc(var(--spacing) * -1);
721
725
  }
@@ -713,6 +713,10 @@
713
713
  }
714
714
  }
715
715
 
716
+ .m-0 {
717
+ margin: calc(var(--spacing) * 0);
718
+ }
719
+
716
720
  .-mx-1 {
717
721
  margin-inline: calc(var(--spacing) * -1);
718
722
  }
@@ -713,6 +713,10 @@
713
713
  }
714
714
  }
715
715
 
716
+ .m-0 {
717
+ margin: calc(var(--spacing) * 0);
718
+ }
719
+
716
720
  .-mx-1 {
717
721
  margin-inline: calc(var(--spacing) * -1);
718
722
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-tech/react-kit",
3
- "version": "0.0.55",
3
+ "version": "0.0.57",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -113,6 +113,7 @@ export function buildSectionNodes<TFieldValues extends FieldValues>(
113
113
  baseNode.defaultTabId = section.defaultTabId ?? section.tabs[0]?.id;
114
114
  baseNode.tabsListClassName = section.tabsListClassName;
115
115
  baseNode.tabsContentClassName = section.tabsContentClassName;
116
+ baseNode.tabsState = section.tabsState;
116
117
  baseNode.tabs = section.tabs.map((tab, _tabIdx) => {
117
118
  const nestedNodes = tab.sections.map((subSection, subIdx) =>
118
119
  buildSectionNode(subSection, subIdx),
@@ -129,6 +130,8 @@ export function buildSectionNodes<TFieldValues extends FieldValues>(
129
130
  label: tab.label,
130
131
  className: tab.className,
131
132
  contentClassName: tab.contentClassName,
133
+ hidden: tab.hidden,
134
+ disable: tab.disable,
132
135
  node: containerNode,
133
136
  };
134
137
  });
@@ -1,4 +1,3 @@
1
- import type { ReactNode } from 'react';
2
1
  import type { Accept } from 'react-dropzone';
3
2
  import type {
4
3
  Control,
@@ -24,6 +23,7 @@ import type {
24
23
  SectionFlexOptions,
25
24
  SectionGridOptions,
26
25
  SectionLayout,
26
+ SectionTab,
27
27
  } from '../section/types';
28
28
 
29
29
  export type FieldType =
@@ -216,16 +216,20 @@ export interface FormBuilderSectionConfig<
216
216
  grid?: SectionGridOptions;
217
217
  flex?: SectionFlexOptions;
218
218
  hidden?: boolean;
219
- tabs?: Array<{
220
- id: string;
221
- label: ReactNode;
219
+ tabs?: Array<Pick<SectionTab,
220
+ | "id"
221
+ | "label"
222
+ | "className"
223
+ | "contentClassName"
224
+ | "hidden"
225
+ | "disable"
226
+ > & {
222
227
  sections: Array<FormBuilderSectionConfig<TFieldValues>>;
223
- className?: string;
224
- contentClassName?: string;
225
- }>;
228
+ }>
226
229
  defaultTabId?: string;
227
230
  tabsListClassName?: string;
228
231
  tabsContentClassName?: string;
232
+ tabsState?: [string, React.Dispatch<React.SetStateAction<string>>];
229
233
  }
230
234
 
231
235
  export interface FormBuilderProps<
@@ -355,17 +355,25 @@ function SectionNodeRenderer({
355
355
  headerClassName={node.headerClassName}
356
356
  contentClassName={node.contentClassName}
357
357
  >
358
- <Tabs defaultValue={defaultTabId} className={cn('space-y-2')}>
358
+ <Tabs
359
+ defaultValue={defaultTabId}
360
+ className={cn('space-y-2')}
361
+ value={node.tabsState?.[0]}
362
+ onValueChange={node.tabsState?.[1]}
363
+ >
359
364
  <TabsList className={cn(node.tabsListClassName)}>
360
- {node.tabs.map((tab) => (
361
- <TabsTrigger
362
- key={tab.id}
363
- value={tab.id}
364
- className={cn(tab.className)}
365
- >
366
- {tab.label}
367
- </TabsTrigger>
368
- ))}
365
+ {node.tabs.filter(tab => !tab.hidden).map((tab) => {
366
+ return (
367
+ <TabsTrigger
368
+ key={tab.id}
369
+ value={tab.id}
370
+ disabled={!!tab.disable}
371
+ className={cn(tab.className)}
372
+ >
373
+ {tab.label}
374
+ </TabsTrigger>
375
+ )
376
+ })}
369
377
  </TabsList>
370
378
  {node.tabs.map((tab) => (
371
379
  <TabsContent
@@ -58,6 +58,8 @@ export interface SectionTab {
58
58
  label: React.ReactNode;
59
59
  className?: string;
60
60
  contentClassName?: string;
61
+ hidden?: boolean;
62
+ disable?: boolean;
61
63
  node: SectionNode; // Content of this tab as a nested section node
62
64
  }
63
65
 
@@ -71,6 +73,7 @@ export interface SectionNode extends SectionBase {
71
73
  defaultTabId?: string;
72
74
  tabsListClassName?: string;
73
75
  tabsContentClassName?: string;
76
+ tabsState?: [string, React.Dispatch<React.SetStateAction<string>>]
74
77
  }
75
78
 
76
79
  export interface SectionBuilderProps {