@k3-universe/react-kit 0.0.15 → 0.0.17

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
@@ -32387,7 +32387,9 @@ function ArrayField({ field, control, fieldPath, value, onChange }) {
32387
32387
  if (field.arrayLayout === "table") {
32388
32388
  const hasNested = Array.isArray(field.fields) && field.fields.length > 0;
32389
32389
  const fFields = field.fields ?? [];
32390
- const singleNested = hasNested && fFields.length === 1;
32390
+ const isSubFieldHidden = (subField) => Boolean(subField == null ? void 0 : subField.hidden) || (subField == null ? void 0 : subField.type) === "hidden";
32391
+ const visibleSubFields = fFields.filter((subField) => !isSubFieldHidden(subField));
32392
+ const singleNested = hasNested && visibleSubFields.length === 1;
32391
32393
  const headerBg = ((_a = field.arrayColors) == null ? void 0 : _a.headerBgClass) ?? "bg-primary";
32392
32394
  const headerText = ((_b = field.arrayColors) == null ? void 0 : _b.headerTextClass) ?? "text-primary-foreground";
32393
32395
  const altRow = ((_c = field.arrayColors) == null ? void 0 : _c.rowAltBgClass) ?? "bg-muted/40";
@@ -32404,7 +32406,7 @@ function ArrayField({ field, control, fieldPath, value, onChange }) {
32404
32406
  ] }) }),
32405
32407
  /* @__PURE__ */ jsx(CardContent, { className: "space-y-4", children: fields.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center py-2", children: 'No items added yet. Click "Add Item" to get started.' }) : /* @__PURE__ */ jsxs(Table, { children: [
32406
32408
  /* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow, { className: cn$1(headerBg, headerText), children: [
32407
- hasNested ? singleNested ? /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: ((_d = fFields[0]) == null ? void 0 : _d.label) || "Value" }) : fFields.map((sf) => /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: sf.label || sf.name }, sf.name)) : /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: "Value" }),
32409
+ hasNested ? singleNested ? /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: ((_d = visibleSubFields[0]) == null ? void 0 : _d.label) || "Value" }) : visibleSubFields.map((sf) => /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: sf.label || sf.name }, sf.name)) : /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: "Value" }),
32408
32410
  /* @__PURE__ */ jsx(TableHead, { className: cn$1(headerText), children: "Action" })
32409
32411
  ] }) }),
32410
32412
  /* @__PURE__ */ jsx(TableBody, { children: fields.map((item, index2) => {
@@ -32413,11 +32415,11 @@ function ArrayField({ field, control, fieldPath, value, onChange }) {
32413
32415
  hasNested ? singleNested ? /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
32414
32416
  FormBuilderField,
32415
32417
  {
32416
- field: { ...fFields[0], name: (_a2 = fFields[0]) == null ? void 0 : _a2.name, label: ((_b2 = fFields[0]) == null ? void 0 : _b2.label) || "Value" },
32418
+ field: { ...visibleSubFields[0], name: (_a2 = visibleSubFields[0]) == null ? void 0 : _a2.name, label: ((_b2 = visibleSubFields[0]) == null ? void 0 : _b2.label) || "Value" },
32417
32419
  control,
32418
32420
  parentPath: `${fieldPath}.${index2}`
32419
32421
  }
32420
- ) }) : fFields.map((subField) => /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
32422
+ ) }) : visibleSubFields.map((subField) => /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
32421
32423
  FormBuilderField,
32422
32424
  {
32423
32425
  field: subField,
@@ -32518,6 +32520,19 @@ function FormBuilderField({ field, control, onChange, parentPath }) {
32518
32520
  );
32519
32521
  const renderField = () => {
32520
32522
  switch (field.type) {
32523
+ case "hidden":
32524
+ return /* @__PURE__ */ jsx(
32525
+ "input",
32526
+ {
32527
+ id: fieldPath,
32528
+ type: "hidden",
32529
+ name: controllerField.name,
32530
+ value: controllerField.value ?? "",
32531
+ onChange: (event) => handleChange(event.target.value),
32532
+ onBlur: controllerField.onBlur,
32533
+ ref: controllerField.ref
32534
+ }
32535
+ );
32521
32536
  case "autocomplete":
32522
32537
  return /* @__PURE__ */ jsx(
32523
32538
  AutocompleteField,
@@ -32774,6 +32789,9 @@ function FormBuilderField({ field, control, onChange, parentPath }) {
32774
32789
  );
32775
32790
  }
32776
32791
  };
32792
+ if (field.type === "hidden") {
32793
+ return renderField();
32794
+ }
32777
32795
  if (field.type === "checkbox" || field.type === "switch") {
32778
32796
  return /* @__PURE__ */ jsxs("div", { className: cn$1("space-y-2", field.gridCols && `md:col-span-${field.gridCols}`), children: [
32779
32797
  renderField(),
@@ -32823,13 +32841,15 @@ function buildSectionNodes(options) {
32823
32841
  } = options;
32824
32842
  const buildLeavesFromFields = (fields) => (fields ?? []).map((field) => {
32825
32843
  const fieldState = handleFieldDependencies(field);
32826
- if (field.hidden || fieldState.hidden) return null;
32844
+ const isHiddenType = field.type === "hidden";
32845
+ if (!isHiddenType && (field.hidden || fieldState.hidden)) return null;
32846
+ if (fieldState.hidden) return null;
32827
32847
  const spanMd = Math.max(1, Math.min(12, field.gridCols ?? 1));
32828
32848
  return {
32829
32849
  key: field.name,
32830
- span: { base: 1, md: spanMd },
32831
- className: field.wrapperClassName,
32832
- hidden: field.hidden,
32850
+ span: isHiddenType ? void 0 : { base: 1, md: spanMd },
32851
+ className: cn$1(field.wrapperClassName, isHiddenType ? "hidden" : void 0),
32852
+ hidden: isHiddenType ? false : field.hidden,
32833
32853
  content: /* @__PURE__ */ jsx(
32834
32854
  FormBuilderField,
32835
32855
  {
@@ -35215,10 +35235,9 @@ function DataTable({
35215
35235
  }, [onRefresh]);
35216
35236
  const renderActionButton = (action, key) => {
35217
35237
  if (action.element) return /* @__PURE__ */ jsx(React.Fragment, { children: action.element }, key);
35218
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
35219
- action.icon && action.iconPosition !== "right" && /* @__PURE__ */ jsx("span", { className: "mr-2", children: action.icon }),
35220
- action.label,
35221
- action.icon && action.iconPosition === "right" && /* @__PURE__ */ jsx("span", { className: "ml-2", children: action.icon })
35238
+ const content = /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
35239
+ action.icon && /* @__PURE__ */ jsx("span", { className: cn$1(action.iconPosition === "right" ? "order-last" : ""), children: action.icon }),
35240
+ action.label
35222
35241
  ] });
35223
35242
  return /* @__PURE__ */ jsx(
35224
35243
  Button$1,
@@ -35239,10 +35258,9 @@ function DataTable({
35239
35258
  var _a2;
35240
35259
  return (_a2 = action.onClick) == null ? void 0 : _a2.call(action, { selectedRows, clearSelection: () => table.resetRowSelection() });
35241
35260
  };
35242
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
35243
- action.icon && action.iconPosition !== "right" && /* @__PURE__ */ jsx("span", { className: "mr-2", children: action.icon }),
35244
- action.label,
35245
- action.icon && action.iconPosition === "right" && /* @__PURE__ */ jsx("span", { className: "ml-2", children: action.icon })
35261
+ const content = /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
35262
+ action.icon && /* @__PURE__ */ jsx("span", { className: cn$1(action.iconPosition === "right" ? "order-last" : ""), children: action.icon }),
35263
+ action.label
35246
35264
  ] });
35247
35265
  return /* @__PURE__ */ jsx(
35248
35266
  Button$1,
@@ -41329,14 +41347,18 @@ const StackDialogContext = createContext({
41329
41347
  }
41330
41348
  });
41331
41349
  function StackDialogRenderer(props2) {
41332
- const handleCloseDialog = (id) => () => {
41333
- props2.closeDialog(id);
41350
+ const handleCloseDialog = (dialog) => () => {
41351
+ if (dialog.onInterruptClosing == null) {
41352
+ props2.closeDialog(dialog.id);
41353
+ } else if (dialog.onInterruptClosing()) {
41354
+ props2.closeDialog(dialog.id);
41355
+ }
41334
41356
  };
41335
41357
  return props2.dialogs.map((dialog, i2) => /* @__PURE__ */ jsx(
41336
41358
  Dialog,
41337
41359
  {
41338
41360
  open: !!props2.dialogs[i2],
41339
- onOpenChange: handleCloseDialog(dialog.id),
41361
+ onOpenChange: handleCloseDialog(dialog),
41340
41362
  children: /* @__PURE__ */ jsx(
41341
41363
  DialogContent,
41342
41364
  {
@@ -41357,15 +41379,10 @@ function StackDialogContextProvider(props2) {
41357
41379
  const [activeDialogs, setActiveDialogs] = useState([]);
41358
41380
  const ids = useRef(0);
41359
41381
  const handleCreateDialog = useCallback((config2) => {
41360
- const dialogId = config2.id || (ids.current++).toString();
41382
+ const dialogId = config2.id ?? (ids.current++).toString();
41361
41383
  setActiveDialogs((prev) => {
41362
41384
  const clone2 = [...prev];
41363
- clone2.push({
41364
- id: dialogId,
41365
- template: config2.template,
41366
- closeOnEscapePressed: config2.closeOnEscapePressed,
41367
- closeOnInteractOutside: config2.closeOnInteractOutside
41368
- });
41385
+ clone2.push({ ...config2, id: dialogId });
41369
41386
  return clone2;
41370
41387
  });
41371
41388
  return dialogId;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/data-table/components/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAwBvD,MAAM,WAAW,qBAAqB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/H,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,2CAwUrF;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FormBuilderField.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/FormBuilderField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAwBvD,MAAM,WAAW,qBAAqB,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/H,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,2CAwVrF;AAED,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/ArrayField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAkN1F"}
1
+ {"version":3,"file":"ArrayField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/ArrayField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAqN1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"sectionNodes.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/sectionNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAEhF,UAAU,wBAAwB,CAAC,YAAY,SAAS,WAAW;IACjE,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,uBAAuB,EAAE,CACvB,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,KACrE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACrE,iBAAiB,EAAE,CACjB,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACxE,KAAK,EAAE,OAAO,EACd,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,IAAI,CAAA;IACT,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,YAAY,KACpB,IAAI,CAAA;IACT,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;CAC1C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,SAAS,WAAW,EAChE,OAAO,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAC9C,WAAW,EAAE,CAyFf"}
1
+ {"version":3,"file":"sectionNodes.d.ts","sourceRoot":"","sources":["../../../../../src/kit/builder/form/components/sectionNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAGhF,UAAU,wBAAwB,CAAC,YAAY,SAAS,WAAW;IACjE,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,uBAAuB,EAAE,CACvB,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,KACrE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACrE,iBAAiB,EAAE,CACjB,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACxE,KAAK,EAAE,OAAO,EACd,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,IAAI,CAAA;IACT,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,YAAY,KACpB,IAAI,CAAA;IACT,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;CAC1C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,SAAS,WAAW,EAChE,OAAO,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAC9C,WAAW,EAAE,CA4Ff"}
@@ -5,7 +5,7 @@ import { Accept } from 'react-dropzone';
5
5
  import { SectionFlexOptions, SectionGridOptions, SectionLayout } from '../section/types';
6
6
  import { AutocompleteFetcher, AutocompleteOption } from '../../components/autocomplete/types';
7
7
  import { FileRecord, FileUploaderLayout } from '../../components/fileuploader/types';
8
- 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' | 'object' | 'array';
8
+ 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';
9
9
  export interface Dependency<TFieldValues extends FieldValues> {
10
10
  field: Path<TFieldValues>;
11
11
  condition: (value: unknown) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,IAAI,EACJ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAEzF,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,cAAc,GACd,UAAU,GACV,QAAQ,GACR,OAAO,GACP,MAAM,GACN,aAAa,GACb,YAAY,GACZ,OAAO,GACP,aAAa,GACb,MAAM,GACN,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;AAEX,MAAM,WAAW,UAAU,CAAC,YAAY,SAAS,WAAW;IAC1D,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACzB,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IACtC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB,CACrC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;IAC5D,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAA;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;IACjE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sBAAsB,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAA;IACzE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAChF,UAAU,CAAC,EACP,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAClB;QACE,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5C,GAAG,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QACxC,GAAG,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QACxC,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9C,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAC9C,CAAA;IAEL,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,MAAM,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,YAAY,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACvC,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,KACtC,IAAI,CAAA;IACT,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAA;QAC3C,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9B,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;QAClC,OAAO,EAAE,MAAM,IAAI,CAAA;QACnB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KACxB,KAAK,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE;QACZ,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACzB,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;IACD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9F,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IAChD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,wBAAwB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IACtF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;QACtB,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAA;QACvD,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAC,CAAA;IACF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IAC9E,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAChC,aAAa,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAC9E,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,EACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,YAAY,KACpB,IAAI,CAAA;IACT,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;CACnC;AAGD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
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":"provider.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,OAAO,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,2CAkDlE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiC,MAAM,OAAO,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,2CA6ClE"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,6CAyBA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,6CA8BA"}
@@ -8,13 +8,20 @@ export type StackDialogContextInstance = {
8
8
  export type StackDialogInstance = {
9
9
  id: string;
10
10
  template: ReactNode;
11
+ onInterruptClosing?: () => boolean;
11
12
  closeOnInteractOutside?: boolean;
12
13
  closeOnEscapePressed?: boolean;
13
14
  };
14
15
  export type StackDialogCreateConfig = {
16
+ /** Optional ID for the dialog, generated when omited. */
15
17
  id?: string;
18
+ /** The element to be rendered in the dialog. */
16
19
  template: ReactNode;
20
+ /** Return **`true`** to continue closing the dialog. */
21
+ onInterruptClosing?: () => boolean;
22
+ /** Allow closing the dialog by clicking outside of dialog. */
17
23
  closeOnInteractOutside?: boolean;
24
+ /** Allow closing the dialog by pressing Escape key. */
18
25
  closeOnEscapePressed?: boolean;
19
26
  };
20
27
  export type StackDialogHook = Omit<StackDialogContextInstance, "activeDialogs">;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,MAAM,CAAC;IAC1D,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/stack-dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,MAAM,CAAC;IAC1D,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,QAAQ,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA"}
@@ -584,6 +584,10 @@
584
584
  z-index: 1;
585
585
  }
586
586
 
587
+ .order-last {
588
+ order: 9999;
589
+ }
590
+
587
591
  .col-span-1 {
588
592
  grid-column: span 1 / span 1;
589
593
  }
@@ -1728,6 +1732,10 @@
1728
1732
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1729
1733
  }
1730
1734
 
1735
+ .gap-x-2 {
1736
+ column-gap: calc(var(--spacing) * 2);
1737
+ }
1738
+
1731
1739
  :where(.space-x-1 > :not(:last-child)) {
1732
1740
  --tw-space-x-reverse: 0;
1733
1741
  margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
@@ -587,6 +587,10 @@
587
587
  z-index: 1;
588
588
  }
589
589
 
590
+ .order-last {
591
+ order: 9999;
592
+ }
593
+
590
594
  .col-span-1 {
591
595
  grid-column: span 1 / span 1;
592
596
  }
@@ -1731,6 +1735,10 @@
1731
1735
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1732
1736
  }
1733
1737
 
1738
+ .gap-x-2 {
1739
+ column-gap: calc(var(--spacing) * 2);
1740
+ }
1741
+
1734
1742
  :where(.space-x-1 > :not(:last-child)) {
1735
1743
  --tw-space-x-reverse: 0;
1736
1744
  margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
@@ -584,6 +584,10 @@
584
584
  z-index: 1;
585
585
  }
586
586
 
587
+ .order-last {
588
+ order: 9999;
589
+ }
590
+
587
591
  .col-span-1 {
588
592
  grid-column: span 1 / span 1;
589
593
  }
@@ -1728,6 +1732,10 @@
1728
1732
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1729
1733
  }
1730
1734
 
1735
+ .gap-x-2 {
1736
+ column-gap: calc(var(--spacing) * 2);
1737
+ }
1738
+
1731
1739
  :where(.space-x-1 > :not(:last-child)) {
1732
1740
  --tw-space-x-reverse: 0;
1733
1741
  margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
@@ -584,6 +584,10 @@
584
584
  z-index: 1;
585
585
  }
586
586
 
587
+ .order-last {
588
+ order: 9999;
589
+ }
590
+
587
591
  .col-span-1 {
588
592
  grid-column: span 1 / span 1;
589
593
  }
@@ -1728,6 +1732,10 @@
1728
1732
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1729
1733
  }
1730
1734
 
1735
+ .gap-x-2 {
1736
+ column-gap: calc(var(--spacing) * 2);
1737
+ }
1738
+
1731
1739
  :where(.space-x-1 > :not(:last-child)) {
1732
1740
  --tw-space-x-reverse: 0;
1733
1741
  margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-universe/react-kit",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -220,11 +220,10 @@ export function DataTable<TData, TValue>({
220
220
  const renderActionButton = (action: DataTableAction, key: React.Key) => {
221
221
  if (action.element) return <React.Fragment key={key}>{action.element}</React.Fragment>;
222
222
  const content = (
223
- <>
224
- {action.icon && action.iconPosition !== 'right' && <span className="mr-2">{action.icon}</span>}
223
+ <div className="flex items-center gap-x-2">
224
+ {action.icon && <span className={cn(action.iconPosition === 'right' ? 'order-last' : '')}>{action.icon}</span>}
225
225
  {action.label}
226
- {action.icon && action.iconPosition === 'right' && <span className="ml-2">{action.icon}</span>}
227
- </>
226
+ </div>
228
227
  );
229
228
  return (
230
229
  <Button
@@ -244,11 +243,10 @@ export function DataTable<TData, TValue>({
244
243
  if (action.element) return <React.Fragment key={key}>{action.element}</React.Fragment>;
245
244
  const onClick = () => action.onClick?.({ selectedRows, clearSelection: () => table.resetRowSelection() });
246
245
  const content = (
247
- <>
248
- {action.icon && action.iconPosition !== 'right' && <span className="mr-2">{action.icon}</span>}
246
+ <div className="flex items-center gap-x-2">
247
+ {action.icon && <span className={cn(action.iconPosition === 'right' ? 'order-last' : '')}>{action.icon}</span>}
249
248
  {action.label}
250
- {action.icon && action.iconPosition === 'right' && <span className="ml-2">{action.icon}</span>}
251
- </>
249
+ </div>
252
250
  );
253
251
  return (
254
252
  <Button
@@ -66,6 +66,18 @@ export function FormBuilderField<
66
66
 
67
67
  const renderField = () => {
68
68
  switch (field.type) {
69
+ case 'hidden':
70
+ return (
71
+ <input
72
+ id={fieldPath}
73
+ type="hidden"
74
+ name={controllerField.name}
75
+ value={controllerField.value ?? ''}
76
+ onChange={(event) => handleChange(event.target.value)}
77
+ onBlur={controllerField.onBlur}
78
+ ref={controllerField.ref}
79
+ />
80
+ );
69
81
  case 'autocomplete':
70
82
  return (
71
83
  <AutocompleteField
@@ -302,6 +314,10 @@ export function FormBuilderField<
302
314
  }
303
315
  };
304
316
 
317
+ if (field.type === 'hidden') {
318
+ return renderField();
319
+ }
320
+
305
321
  // For checkbox/switch, label is handled inside the specific field component
306
322
  if (field.type === 'checkbox' || field.type === 'switch') {
307
323
  return (
@@ -48,7 +48,10 @@ export function ArrayField({ field, control, fieldPath, value, onChange }: Field
48
48
  if (field.arrayLayout === 'table') {
49
49
  const hasNested = Array.isArray(field.fields) && field.fields.length > 0
50
50
  const fFields = field.fields ?? []
51
- const singleNested = hasNested && fFields.length === 1
51
+ const isSubFieldHidden = (subField: typeof fFields[number]) =>
52
+ Boolean(subField?.hidden) || subField?.type === 'hidden'
53
+ const visibleSubFields = fFields.filter(subField => !isSubFieldHidden(subField))
54
+ const singleNested = hasNested && visibleSubFields.length === 1
52
55
  const headerBg = field.arrayColors?.headerBgClass ?? 'bg-primary'
53
56
  const headerText = field.arrayColors?.headerTextClass ?? 'text-primary-foreground'
54
57
  const altRow = field.arrayColors?.rowAltBgClass ?? 'bg-muted/40'
@@ -80,9 +83,9 @@ export function ArrayField({ field, control, fieldPath, value, onChange }: Field
80
83
  <TableRow className={cn(headerBg, headerText)}>
81
84
  {hasNested ? (
82
85
  singleNested ? (
83
- <TableHead className={cn(headerText)}>{fFields[0]?.label || 'Value'}</TableHead>
86
+ <TableHead className={cn(headerText)}>{visibleSubFields[0]?.label || 'Value'}</TableHead>
84
87
  ) : (
85
- fFields.map(sf => (
88
+ visibleSubFields.map(sf => (
86
89
  <TableHead key={sf.name} className={cn(headerText)}>{sf.label || sf.name}</TableHead>
87
90
  ))
88
91
  )
@@ -99,13 +102,13 @@ export function ArrayField({ field, control, fieldPath, value, onChange }: Field
99
102
  singleNested ? (
100
103
  <TableCell>
101
104
  <FormBuilderField
102
- field={{ ...fFields[0], name: fFields[0]?.name, label: fFields[0]?.label || 'Value' }}
105
+ field={{ ...visibleSubFields[0], name: visibleSubFields[0]?.name, label: visibleSubFields[0]?.label || 'Value' }}
103
106
  control={control}
104
107
  parentPath={`${fieldPath}.${index}`}
105
108
  />
106
109
  </TableCell>
107
110
  ) : (
108
- fFields.map(subField => (
111
+ visibleSubFields.map(subField => (
109
112
  <TableCell key={subField.name}>
110
113
  <FormBuilderField
111
114
  field={subField}
@@ -2,6 +2,7 @@ import type { FieldValues, Path, Control, UseFormGetValues } from 'react-hook-fo
2
2
  import type { SectionNode } from '../../section/types'
3
3
  import { FormBuilderField } from './FormBuilderField'
4
4
  import type { FormBuilderFieldConfig, FormBuilderSectionConfig } from '../types'
5
+ import { cn } from '../../../../shadcn/lib/utils'
5
6
 
6
7
  interface BuildSectionNodesOptions<TFieldValues extends FieldValues> {
7
8
  sections: Array<FormBuilderSectionConfig<TFieldValues>>
@@ -40,15 +41,18 @@ export function buildSectionNodes<TFieldValues extends FieldValues>(
40
41
  (fields ?? [])
41
42
  .map((field) => {
42
43
  const fieldState = handleFieldDependencies(field)
43
- if (field.hidden || fieldState.hidden) return null
44
+
45
+ const isHiddenType = field.type === 'hidden'
46
+ if (!isHiddenType && (field.hidden || fieldState.hidden)) return null
47
+ if (fieldState.hidden) return null
44
48
 
45
49
  const spanMd = Math.max(1, Math.min(12, field.gridCols ?? 1))
46
50
 
47
51
  return {
48
52
  key: field.name,
49
- span: { base: 1, md: spanMd },
50
- className: field.wrapperClassName,
51
- hidden: field.hidden,
53
+ span: isHiddenType ? undefined : { base: 1, md: spanMd },
54
+ className: cn(field.wrapperClassName, isHiddenType ? 'hidden' : undefined),
55
+ hidden: isHiddenType ? false : field.hidden,
52
56
  content: (
53
57
  <FormBuilderField
54
58
  key={field.name}
@@ -36,6 +36,7 @@ export type FieldType =
36
36
  | 'date_time'
37
37
  | 'date_time_range'
38
38
  | 'file'
39
+ | 'hidden'
39
40
  | 'object'
40
41
  | 'array'
41
42
 
@@ -8,16 +8,11 @@ export function StackDialogContextProvider(props: PropsWithChildren) {
8
8
  const ids = useRef<number>(0)
9
9
 
10
10
  const handleCreateDialog = useCallback((config: StackDialogCreateConfig) => {
11
- const dialogId = config.id || (ids.current++).toString();
11
+ const dialogId = config.id ?? (ids.current++).toString();
12
12
 
13
13
  setActiveDialogs(prev => {
14
14
  const clone = [...prev];
15
- clone.push({
16
- id: dialogId,
17
- template: config.template,
18
- closeOnEscapePressed: config.closeOnEscapePressed,
19
- closeOnInteractOutside: config.closeOnInteractOutside,
20
- });
15
+ clone.push({ ...config, id: dialogId });
21
16
  return clone;
22
17
  });
23
18
 
@@ -5,15 +5,20 @@ export function StackDialogRenderer(props: {
5
5
  dialogs: StackDialogInstance[],
6
6
  closeDialog: (id: string) => void
7
7
  }) {
8
- const handleCloseDialog = (id: string) => () => {
9
- props.closeDialog(id)
8
+ const handleCloseDialog = (dialog: StackDialogInstance) => () => {
9
+ if (dialog.onInterruptClosing == null) {
10
+ props.closeDialog(dialog.id);
11
+ }
12
+ else if (dialog.onInterruptClosing()) {
13
+ props.closeDialog(dialog.id)
14
+ }
10
15
  }
11
16
 
12
17
  return props.dialogs.map((dialog, i) => (
13
18
  (
14
19
  <Dialog
15
20
  open={!!props.dialogs[i]}
16
- onOpenChange={handleCloseDialog(dialog.id)}
21
+ onOpenChange={handleCloseDialog(dialog)}
17
22
  key={dialog.id}
18
23
  >
19
24
  <DialogContent
@@ -10,14 +10,21 @@ export type StackDialogContextInstance = {
10
10
  export type StackDialogInstance = {
11
11
  id: string,
12
12
  template: ReactNode,
13
+ onInterruptClosing?: () => boolean,
13
14
  closeOnInteractOutside?: boolean,
14
15
  closeOnEscapePressed?: boolean,
15
16
  };
16
17
 
17
18
  export type StackDialogCreateConfig = {
19
+ /** Optional ID for the dialog, generated when omited. */
18
20
  id?: string,
21
+ /** The element to be rendered in the dialog. */
19
22
  template: ReactNode,
23
+ /** Return **`true`** to continue closing the dialog. */
24
+ onInterruptClosing?: () => boolean,
25
+ /** Allow closing the dialog by clicking outside of dialog. */
20
26
  closeOnInteractOutside?: boolean,
27
+ /** Allow closing the dialog by pressing Escape key. */
21
28
  closeOnEscapePressed?: boolean,
22
29
  };
23
30
 
@@ -5,6 +5,7 @@ import { FormBuilder } from '../../../index'
5
5
  import type { FormBuilderSectionConfig } from '../../../kit/builder/form/types'
6
6
 
7
7
  interface SplitFormValues {
8
+ userId: string
8
9
  firstName: string
9
10
  lastName: string
10
11
  email: string
@@ -24,6 +25,7 @@ interface SplitFormValues {
24
25
  smsOptIn: boolean
25
26
  smsFrequency?: 'daily' | 'weekly' | 'monthly'
26
27
  timezone: string
28
+ authorizedContacts: Array<{ contactId: string; contactName: string }>
27
29
  }
28
30
 
29
31
  const generalInfoSections: FormBuilderSectionConfig<SplitFormValues>[] = [
@@ -32,6 +34,11 @@ const generalInfoSections: FormBuilderSectionConfig<SplitFormValues>[] = [
32
34
  layout: 'grid',
33
35
  grid: { cols: 2, gap: 'gap-4' },
34
36
  fields: [
37
+ {
38
+ name: 'userId',
39
+ label: 'User ID',
40
+ type: 'hidden',
41
+ },
35
42
  {
36
43
  name: 'firstName',
37
44
  label: 'First name',
@@ -243,6 +250,32 @@ const preferencesSections: FormBuilderSectionConfig<SplitFormValues>[] = [
243
250
  ],
244
251
  required: true,
245
252
  },
253
+ {
254
+ name: 'authorizedContacts',
255
+ label: 'Authorized contacts',
256
+ description: 'Names remain editable while hidden IDs stay intact for submission.',
257
+ type: 'array',
258
+ arrayLayout: 'table',
259
+ defaultValue: [
260
+ { contactId: 'contact-001', contactName: 'Jane Smith' },
261
+ { contactId: 'contact-002', contactName: 'John Appleseed' },
262
+ ],
263
+ fields: [
264
+ {
265
+ name: 'contactId',
266
+ label: 'Contact ID',
267
+ type: 'hidden',
268
+ defaultValue: '',
269
+ },
270
+ {
271
+ name: 'contactName',
272
+ label: 'Name',
273
+ type: 'text',
274
+ placeholder: 'Alex Johnson',
275
+ required: true,
276
+ },
277
+ ],
278
+ },
246
279
  ],
247
280
  },
248
281
  ]
@@ -250,6 +283,7 @@ const preferencesSections: FormBuilderSectionConfig<SplitFormValues>[] = [
250
283
  const SplitFormExample = () => {
251
284
  const form = useForm<SplitFormValues>({
252
285
  defaultValues: {
286
+ userId: 'user-001',
253
287
  firstName: 'Jane',
254
288
  lastName: 'Doe',
255
289
  email: 'jane.doe@example.com',
@@ -269,6 +303,10 @@ const SplitFormExample = () => {
269
303
  smsFrequency: undefined,
270
304
  complianceContactEmail: '',
271
305
  timezone: 'Asia/Jakarta',
306
+ authorizedContacts: [
307
+ { contactId: 'contact-001', contactName: 'Jane Smith' },
308
+ { contactId: 'contact-002', contactName: 'John Appleseed' },
309
+ ],
272
310
  },
273
311
  mode: 'onSubmit',
274
312
  })