@framework-m/desk 0.7.0 → 0.8.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 (77) hide show
  1. package/dist/components/form/LinkWidget.d.ts +6 -1
  2. package/dist/components/form/LinkWidget.d.ts.map +1 -1
  3. package/dist/components/form/fields/AutoField.d.ts +26 -0
  4. package/dist/components/form/fields/AutoField.d.ts.map +1 -0
  5. package/dist/components/form/fields/BooleanField.d.ts +3 -0
  6. package/dist/components/form/fields/BooleanField.d.ts.map +1 -0
  7. package/dist/components/form/fields/ErrorsField.d.ts +5 -0
  8. package/dist/components/form/fields/ErrorsField.d.ts.map +1 -0
  9. package/dist/components/form/fields/LinkField.d.ts +2 -0
  10. package/dist/components/form/fields/LinkField.d.ts.map +1 -0
  11. package/dist/components/form/fields/ListField.d.ts +6 -0
  12. package/dist/components/form/fields/ListField.d.ts.map +1 -0
  13. package/dist/components/form/fields/MultiSelectField.d.ts +3 -0
  14. package/dist/components/form/fields/MultiSelectField.d.ts.map +1 -0
  15. package/dist/components/form/fields/SelectField.d.ts +19 -0
  16. package/dist/components/form/fields/SelectField.d.ts.map +1 -0
  17. package/dist/components/form/fields/SubmitField.d.ts +5 -0
  18. package/dist/components/form/fields/SubmitField.d.ts.map +1 -0
  19. package/dist/components/form/fields/TextField.d.ts +19 -0
  20. package/dist/components/form/fields/TextField.d.ts.map +1 -0
  21. package/dist/components/form/fields/registry.d.ts +16 -0
  22. package/dist/components/form/fields/registry.d.ts.map +1 -0
  23. package/dist/components/form/tamagui-fields.d.ts +6 -15
  24. package/dist/components/form/tamagui-fields.d.ts.map +1 -1
  25. package/dist/components/layout/ColumnGrid.d.ts +22 -0
  26. package/dist/components/layout/ColumnGrid.d.ts.map +1 -0
  27. package/dist/components/layout/FrameworkMShell.d.ts +0 -4
  28. package/dist/components/layout/FrameworkMShell.d.ts.map +1 -1
  29. package/dist/components/layout/Navigation/ContextualDrawer.d.ts +20 -0
  30. package/dist/components/layout/Navigation/ContextualDrawer.d.ts.map +1 -0
  31. package/dist/components/layout/Navigation/NavigationShell.d.ts +16 -0
  32. package/dist/components/layout/Navigation/NavigationShell.d.ts.map +1 -0
  33. package/dist/components/layout/Navigation/PrimaryRail.d.ts +13 -0
  34. package/dist/components/layout/Navigation/PrimaryRail.d.ts.map +1 -0
  35. package/dist/components/layout/PageHeader.d.ts +19 -0
  36. package/dist/components/layout/PageHeader.d.ts.map +1 -0
  37. package/dist/components/layout/SectionField.d.ts +15 -0
  38. package/dist/components/layout/SectionField.d.ts.map +1 -0
  39. package/dist/components/layout/ShellSkeleton.d.ts +3 -1
  40. package/dist/components/layout/ShellSkeleton.d.ts.map +1 -1
  41. package/dist/components/layout/TabContainer.d.ts +17 -0
  42. package/dist/components/layout/TabContainer.d.ts.map +1 -0
  43. package/dist/components/layout/index.d.ts +12 -0
  44. package/dist/components/layout/index.d.ts.map +1 -1
  45. package/dist/components/table/AutoTable.d.ts.map +1 -1
  46. package/dist/data.d.ts.map +1 -1
  47. package/dist/hooks/index.d.ts +3 -1
  48. package/dist/hooks/index.d.ts.map +1 -1
  49. package/dist/hooks/types.d.ts +23 -8
  50. package/dist/hooks/types.d.ts.map +1 -1
  51. package/dist/hooks/useDocTypes.d.ts +3 -0
  52. package/dist/hooks/useDocTypes.d.ts.map +1 -1
  53. package/dist/hooks/useFormKeyboard.d.ts +6 -0
  54. package/dist/hooks/useFormKeyboard.d.ts.map +1 -0
  55. package/dist/hooks/useTabKeyboard.d.ts +15 -0
  56. package/dist/hooks/useTabKeyboard.d.ts.map +1 -0
  57. package/dist/hooks/useUIMeta.d.ts +2 -0
  58. package/dist/hooks/useUIMeta.d.ts.map +1 -1
  59. package/dist/index.d.ts +4 -6
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +6224 -5752
  62. package/dist/index.js.map +1 -1
  63. package/dist/pages/FormView.d.ts +40 -0
  64. package/dist/pages/FormView.d.ts.map +1 -1
  65. package/dist/pages/ListView.d.ts.map +1 -1
  66. package/dist/shell/ShellProvider.d.ts.map +1 -1
  67. package/package.json +16 -16
  68. package/dist/components/layout/Navbar/Navbar.d.ts +0 -16
  69. package/dist/components/layout/Navbar/Navbar.d.ts.map +0 -1
  70. package/dist/components/layout/Sidebar/Sidebar.d.ts +0 -9
  71. package/dist/components/layout/Sidebar/Sidebar.d.ts.map +0 -1
  72. package/dist/components/layout/Sidebar/SidebarItem.d.ts +0 -10
  73. package/dist/components/layout/Sidebar/SidebarItem.d.ts.map +0 -1
  74. package/dist/components/layout/Sidebar/SidebarMobileFooter.d.ts +0 -11
  75. package/dist/components/layout/Sidebar/SidebarMobileFooter.d.ts.map +0 -1
  76. package/dist/components/layout/Sidebar/SidebarUtils.d.ts +0 -44
  77. package/dist/components/layout/Sidebar/SidebarUtils.d.ts.map +0 -1
@@ -2,9 +2,14 @@
2
2
  * LinkWidget - Async Search Combobox for Link Fields
3
3
  *
4
4
  * A cross-platform async search field built with Tamagui and Uniforms.
5
+ *
6
+ * Quick Entry (Slide-over Drawer):
7
+ * By default, a "+ New" button opens a Drawer to create a linked
8
+ * record inline without navigating away.
9
+ * To disable, set `"x-quick-entry": false` in the JSON Schema property.
5
10
  */
6
11
  /**
7
- * LinkWidget - Combobox with async search
12
+ * LinkWidget - Combobox with async search + Drawer quick entry.
8
13
  */
9
14
  export declare const Link: (props: any) => import("react/jsx-runtime").JSX.Element;
10
15
  export declare const LinkField: import('uniforms').ConnectedField<any, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkWidget.d.ts","sourceRoot":"","sources":["../../../src/components/form/LinkWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAkCH;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,4CA6K9B,CAAC;AAEF,eAAO,MAAM,SAAS,6CAAqB,CAAC;AAC5C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"LinkWidget.d.ts","sourceRoot":"","sources":["../../../src/components/form/LinkWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0LH;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,4CAkX9B,CAAC;AAEF,eAAO,MAAM,SAAS,6CAAqB,CAAC;AAC5C,eAAe,SAAS,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * AutoField (Bridge Resolver)
3
+ *
4
+ * Automatically resolves the correct UI component based on the field type
5
+ * and specialized metadata widgets (e.g. ui_widget: "grid").
6
+ *
7
+ * IMPORTANT: This IS a connected field. It receives the schema and current
8
+ * value path from uniforms. To prevent double-prefixing (e.g. name.name),
9
+ * it MUST return raw (unconnected) components.
10
+ *
11
+ * UIMeta integration (3.1 — Pydantic Enum Leveraging):
12
+ * -------------------------------------------------------
13
+ * The backend's `enrich_schema()` post-processor guarantees that every
14
+ * property carries a unified `ui_meta` object. AutoField respects:
15
+ *
16
+ * - `schema.enum` → SelectF (Literal types, always inlined)
17
+ * - `schema.ui_meta.options` → SelectF (Python Enum types, resolved from $defs)
18
+ * - `schema.ui_meta.widget` → explicit widget override (e.g. "status_badge")
19
+ * - `schema["x-options"]` → LinkField (unchanged)
20
+ *
21
+ * Validation constraints come via uniforms' renamed props:
22
+ * `minimum` → `min`, `maximum` → `max`, `pattern` → `pattern`
23
+ * The TextField reads these via `props.schema?.ui_meta?.validation`.
24
+ */
25
+ export declare const AutoField: import('uniforms').ConnectedField<any, any>;
26
+ //# sourceMappingURL=AutoField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/AutoField.tsx"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,6CAoEpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const Bool: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const BooleanField: import('uniforms').ConnectedField<any, any>;
3
+ //# sourceMappingURL=BooleanField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/BooleanField.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,4CAqD9B,CAAC;AAGF,eAAO,MAAM,YAAY,6CAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ErrorsField - Displays global errors
3
+ */
4
+ export declare const ErrorsField: () => import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=ErrorsField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorsField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ErrorsField.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,WAAW,sDA0BvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { LinkField, LinkField as default } from '../LinkWidget';
2
+ //# sourceMappingURL=LinkField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/LinkField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * ListFieldBase (Spreadsheet UX)
3
+ */
4
+ export declare const List: (props: any) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ListField: import('uniforms').ConnectedField<any, any>;
6
+ //# sourceMappingURL=ListField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ListField.tsx"],"names":[],"mappings":"AAuBA;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,4CAyc9B,CAAC;AAEF,eAAO,MAAM,SAAS,6CAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const MultiSelect: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MultiSelectField: import('uniforms').ConnectedField<any, any>;
3
+ //# sourceMappingURL=MultiSelectField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/MultiSelectField.tsx"],"names":[],"mappings":"AA+EA,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,4CAuIrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,6CAA4B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SelectField component.
3
+ *
4
+ * UIMeta integration (3.1 — Pydantic Enum Leveraging):
5
+ * -------------------------------------------------------
6
+ * Option sources (in priority order):
7
+ * 1. `props.options` — from uniforms bridge (schema.enum)
8
+ * 2. `props.schema.ui_meta.options` — human-friendly options from enrich_schema()
9
+ * These are objects like `{ value: "draft", label: "Draft" }` generated
10
+ * from Literal["draft", ...] or Python Enum types.
11
+ * 3. `props.allowedValues` — legacy uniforms fallback
12
+ *
13
+ * The ui_meta.options labels are preferred when present because they are
14
+ * already title-cased by `enrich_schema` and may carry developer-supplied
15
+ * overrides (e.g. `{"value": "draft", "label": "In Progress"}`).
16
+ */
17
+ export declare const SelectF: (props: any) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const SelectField: import('uniforms').ConnectedField<any, any>;
19
+ //# sourceMappingURL=SelectField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/SelectField.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,4CAsFjC,CAAC;AAEF,eAAO,MAAM,WAAW,6CAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * SubmitField - Maps to Button
3
+ */
4
+ export declare const SubmitField: ({ value, ...props }: any) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=SubmitField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubmitField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/SubmitField.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,qBAAqB,GAAG,4CAanD,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Text/Date field component.
3
+ *
4
+ * UIMeta integration (3.1 — Field Meta Access):
5
+ * -----------------------------------------------
6
+ * Reads `props.schema.ui_meta` (surfaced by `enrich_schema()`) for:
7
+ * - `placeholder` — overrides the default placeholder
8
+ * - `hint` — renders a small helper text below the field
9
+ * - `validation` — HTML5 native constraint attributes:
10
+ * `min`, `max`, `minLength`, `maxLength`, `pattern`, `step`
11
+ *
12
+ * These correspond to JSON Schema keywords that backends express via
13
+ * `Field(..., ge=0, le=100, pattern="...", json_schema_extra={...})`.
14
+ *
15
+ * Constraint priority: direct prop (from uniforms rename) > ui_meta.validation.
16
+ */
17
+ export declare const Text: (props: any) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const TextField: import('uniforms').ConnectedField<any, any>;
19
+ //# sourceMappingURL=TextField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/TextField.tsx"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,4CAwG9B,CAAC;AAEF,eAAO,MAAM,SAAS,6CAAqB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ type FieldComponent = React.ComponentType<any>;
3
+ /**
4
+ * FieldRegistry allows plugins and macroservices to register custom React
5
+ * components for specific field types, preventing the monolithic AutoField
6
+ * from needing to know about every possible UI widget.
7
+ */
8
+ declare class Registry {
9
+ private fields;
10
+ register(type: string, component: FieldComponent): void;
11
+ get(type: string): FieldComponent | undefined;
12
+ clear(): void;
13
+ }
14
+ export declare const FieldRegistry: Registry;
15
+ export {};
16
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAE/C;;;;GAIG;AACH,cAAM,QAAQ;IACZ,OAAO,CAAC,MAAM,CAA0C;IAExD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAIvD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C,KAAK,IAAI,IAAI;CAGd;AAED,eAAO,MAAM,aAAa,UAAiB,CAAC"}
@@ -1,16 +1,7 @@
1
- export declare const TextField: import('uniforms').ConnectedField<any, any>;
2
- export declare const BoolField: import('uniforms').ConnectedField<any, any>;
3
- export declare const SelectField: import('uniforms').ConnectedField<any, any>;
4
- /**
5
- * SubmitField - Maps to Button
6
- */
7
- export declare const SubmitField: ({ value, ...props }: any) => import("react/jsx-runtime").JSX.Element;
8
- /**
9
- * ErrorsField - Displays global errors
10
- */
11
- export declare const ErrorsField: () => import("react/jsx-runtime").JSX.Element | null;
12
- /**
13
- * AutoField - Generic field picker
14
- */
15
- export declare const AutoField: import('uniforms').ConnectedField<any, any>;
1
+ export { AutoField } from './fields/AutoField';
2
+ export { BooleanField as BoolField } from './fields/BooleanField';
3
+ export { ErrorsField } from './fields/ErrorsField';
4
+ export { SelectField } from './fields/SelectField';
5
+ export { SubmitField } from './fields/SubmitField';
6
+ export { TextField } from './fields/TextField';
16
7
  //# sourceMappingURL=tamagui-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tamagui-fields.d.ts","sourceRoot":"","sources":["../../../src/components/form/tamagui-fields.tsx"],"names":[],"mappings":"AAgGA,eAAO,MAAM,SAAS,6CAAqB,CAAC;AAoD5C,eAAO,MAAM,SAAS,6CAAqB,CAAC;AAuD5C,eAAO,MAAM,WAAW,6CAAwB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,qBAAqB,GAAG,4CAanD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,sDA0BvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,6CAkCpB,CAAC"}
1
+ {"version":3,"file":"tamagui-fields.d.ts","sourceRoot":"","sources":["../../../src/components/form/tamagui-fields.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ /** Named-fraction width tokens */
3
+ export type ColumnWidth = "1/3" | "2/3" | "1/2" | "auto";
4
+ /** Explicit column definition used by ColumnGrid */
5
+ export interface ColumnDef {
6
+ width?: ColumnWidth;
7
+ children: ReactNode;
8
+ }
9
+ export interface ColumnGridProps {
10
+ /** Explicit column definitions (used when backend specifies per-column field lists). */
11
+ columns?: ColumnDef[];
12
+ /**
13
+ * Number of equal-width columns when no explicit `columns` prop is provided.
14
+ * Ignored when `columns` is set.
15
+ */
16
+ equalColumns?: 1 | 2 | 3;
17
+ /** Children used only when `columns` is NOT provided (treated as equal-width slots). */
18
+ children?: ReactNode;
19
+ }
20
+ export declare function ColumnGrid({ columns, equalColumns, children, }: Readonly<ColumnGridProps>): import("react/jsx-runtime").JSX.Element;
21
+ export default ColumnGrid;
22
+ //# sourceMappingURL=ColumnGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnGrid.d.ts","sourceRoot":"","sources":["../../../src/components/layout/ColumnGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,kCAAkC;AAClC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAyCD,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,YAAgB,EAChB,QAAQ,GACT,EAAE,QAAQ,CAAC,eAAe,CAAC,2CAiC3B;AAED,eAAe,UAAU,CAAC"}
@@ -7,10 +7,6 @@ export interface FrameworkMShellProps {
7
7
  children?: ReactNode;
8
8
  /** Optional plugins to initialize the shell with */
9
9
  initialPlugins?: FrameworkMPlugin[];
10
- /** Optional custom Sidebar component */
11
- sidebar?: ReactNode;
12
- /** Optional custom Navbar component */
13
- navbar?: ReactNode;
14
10
  /** Whether focus mode is enabled by default */
15
11
  defaultFocusMode?: boolean;
16
12
  /** Optional custom login page */
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkMShell.d.ts","sourceRoot":"","sources":["../../../src/components/layout/FrameworkMShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AASnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAa3D,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uCAAuC;IACvC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAmDD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,+CAI3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgL1D,CACA"}
1
+ {"version":3,"file":"FrameworkMShell.d.ts","sourceRoot":"","sources":["../../../src/components/layout/FrameworkMShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAC;AAOxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAa3D,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAiDD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,+CAI3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4J1D,CAAA"}
@@ -0,0 +1,20 @@
1
+ export interface NavigationNode {
2
+ name: string;
3
+ label: string;
4
+ route: string;
5
+ icon?: string;
6
+ badge?: string;
7
+ children?: NavigationNode[];
8
+ }
9
+ export interface ContextualDrawerProps {
10
+ app?: {
11
+ label: string;
12
+ resources: NavigationNode[];
13
+ };
14
+ collapsed?: boolean;
15
+ onNavigate: (route: string) => void;
16
+ isMobile?: boolean;
17
+ onClose?: () => void;
18
+ }
19
+ export declare function ContextualDrawer({ app, collapsed, onNavigate, isMobile, onClose }: ContextualDrawerProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=ContextualDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextualDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Navigation/ContextualDrawer.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,cAAc,EAAE,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,SAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,2CAiGhH"}
@@ -0,0 +1,16 @@
1
+ import { NavigationNode } from './ContextualDrawer';
2
+ export interface AppManifest {
3
+ app_id: string;
4
+ label: string;
5
+ icon: string;
6
+ resources: NavigationNode[];
7
+ }
8
+ export interface NavigationShellProps {
9
+ apps: AppManifest[];
10
+ defaultAppId?: string;
11
+ collapsed?: boolean;
12
+ onNavigate: (route: string) => void;
13
+ isMobile?: boolean;
14
+ }
15
+ export declare function NavigationShell({ apps, defaultAppId, collapsed, onNavigate, isMobile }: NavigationShellProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=NavigationShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationShell.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Navigation/NavigationShell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAkDpH"}
@@ -0,0 +1,13 @@
1
+ export interface PrimaryRailProps {
2
+ apps: Array<{
3
+ app_id: string;
4
+ label: string;
5
+ icon: string;
6
+ resources: any[];
7
+ }>;
8
+ activeAppId: string;
9
+ onAppSelect: (appId: string) => void;
10
+ isMobile?: boolean;
11
+ }
12
+ export declare function PrimaryRail({ apps, activeAppId, onAppSelect, isMobile }: PrimaryRailProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=PrimaryRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimaryRail.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Navigation/PrimaryRail.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,GAAG,EAAE,CAAC;KAClB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAgB,EAAE,EAAE,gBAAgB,2CAiIjG"}
@@ -0,0 +1,19 @@
1
+ import { ReactNode } from 'react';
2
+ export interface PageHeaderProps {
3
+ title: string;
4
+ breadcrumb?: {
5
+ app: string;
6
+ view?: string;
7
+ };
8
+ extra?: ReactNode;
9
+ children?: ReactNode;
10
+ isMobile?: boolean;
11
+ }
12
+ /**
13
+ * PageHeader
14
+ *
15
+ * Standard header for all Framework M pages (List, Form, Dashboards).
16
+ * Replaces the old global Top Navbar.
17
+ */
18
+ export declare function PageHeader({ title, breadcrumb, extra, children, isMobile }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=PageHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAiC3F"}
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SectionFieldProps {
3
+ /** Section title */
4
+ label?: string;
5
+ /** Allow the user to collapse this section */
6
+ collapsible?: boolean;
7
+ /** Whether the section is collapsed initially */
8
+ defaultCollapsed?: boolean;
9
+ /** Number of auto-equal columns (1–3). Ignored if children is a single element */
10
+ columns?: 1 | 2 | 3;
11
+ children: ReactNode;
12
+ }
13
+ export declare function SectionField({ label, collapsible, defaultCollapsed, columns, children, }: Readonly<SectionFieldProps>): import("react/jsx-runtime").JSX.Element;
14
+ export default SectionField;
15
+ //# sourceMappingURL=SectionField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionField.d.ts","sourceRoot":"","sources":["../../../src/components/layout/SectionField.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,WAAmB,EACnB,gBAAwB,EACxB,OAAW,EACX,QAAQ,GACT,EAAE,QAAQ,CAAC,iBAAiB,CAAC,2CAiE7B;AAED,eAAe,YAAY,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { default as React } from 'react';
2
+ export interface ShellSkeletonProps {
3
+ }
2
4
  /**
3
5
  * PageSkeleton
4
6
  *
@@ -15,7 +17,7 @@ export declare const TableSkeleton: React.FC;
15
17
  /**
16
18
  * ShellSkeleton
17
19
  *
18
- * Full app layout (Sidebar + Navbar + Content).
20
+ * Full app layout (Rail + Drawer + Content).
19
21
  * Used for the very first bootstrap phase.
20
22
  */
21
23
  export declare const ShellSkeleton: React.FC;
@@ -1 +1 @@
1
- {"version":3,"file":"ShellSkeleton.d.ts","sourceRoot":"","sources":["../../../src/components/layout/ShellSkeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAqDhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAiCjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAsDjC,CAAC"}
1
+ {"version":3,"file":"ShellSkeleton.d.ts","sourceRoot":"","sources":["../../../src/components/layout/ShellSkeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,kBAAkB;CAElC;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EA+BhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAiCjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAuEjC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from 'react';
2
+ import { FormTab } from '../../hooks/useUIMeta';
3
+ export interface TabContainerProps {
4
+ /** Tab definitions from UIMeta.form.tabs */
5
+ tabs: FormTab[];
6
+ /** DocType name — used to key the localStorage persistence entry */
7
+ doctype: string;
8
+ /** Render prop receiving the active tab and its index */
9
+ children: (tab: FormTab, index: number) => ReactNode;
10
+ /** Initial tab index override (ignored if localStorage has a value) */
11
+ defaultTabIndex?: number;
12
+ /** Called after the active tab changes */
13
+ onTabChange?: (index: number) => void;
14
+ }
15
+ export declare function TabContainer({ tabs, doctype, children, defaultTabIndex, onTabChange, }: Readonly<TabContainerProps>): import("react/jsx-runtime").JSX.Element | null;
16
+ export default TabContainer;
17
+ //# sourceMappingURL=TabContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabContainer.d.ts","sourceRoot":"","sources":["../../../src/components/layout/TabContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACrD,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAkCD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAmB,EACnB,WAAW,GACZ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,kDAyG7B;AAED,eAAe,YAAY,CAAC"}
@@ -6,6 +6,8 @@ export interface LayoutProps {
6
6
  navbar: ReactNode;
7
7
  /** Primary content */
8
8
  children: ReactNode;
9
+ /** Mobile layout toggle */
10
+ isMobile?: boolean;
9
11
  }
10
12
  /**
11
13
  * Standard Framework M Desk Layout
@@ -13,4 +15,14 @@ export interface LayoutProps {
13
15
  * Provides a responsive structure for the sidebar, navbar, and main content area.
14
16
  */
15
17
  export declare const Layout: React.FC<LayoutProps>;
18
+ export { TabContainer } from './TabContainer';
19
+ export type { TabContainerProps } from './TabContainer';
20
+ export { SectionField } from './SectionField';
21
+ export type { SectionFieldProps } from './SectionField';
22
+ export { ColumnGrid } from './ColumnGrid';
23
+ export type { ColumnGridProps, ColumnDef, ColumnWidth } from './ColumnGrid';
24
+ export { PageHeader } from './PageHeader';
25
+ export type { PageHeaderProps } from './PageHeader';
26
+ export { ShellSkeleton } from './ShellSkeleton';
27
+ export type { ShellSkeletonProps } from './ShellSkeleton';
16
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgBxC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAiCxC,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoTable.d.ts","sourceRoot":"","sources":["../../../src/components/table/AutoTable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAML,KAAK,SAAS,EAIf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACpD,iCAAiC;IACjC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkLD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,EACvD,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EAAE,aAAa,EACtB,eAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,2CAmTjC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"AutoTable.d.ts","sourceRoot":"","sources":["../../../src/components/table/AutoTable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAML,KAAK,SAAS,EAIf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC3D,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mDAAmD;IACnD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACpD,iCAAiC;IACjC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkLD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,EACvD,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EAAE,aAAa,EACtB,eAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,2CAuSjC;AAED,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAMV,YAAY,EASb,MAAM,iBAAiB,CAAC;AA8MzB;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAsLpC,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAMV,YAAY,EASb,MAAM,iBAAiB,CAAC;AAiNzB;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAsLpC,CAAC"}
@@ -26,5 +26,7 @@ export { useAuditTimeline } from './useAuditTimeline';
26
26
  export type { AuditTimelineDiffValue, AuditTimelineEntry, UseAuditTimelineResult, } from './useAuditTimeline';
27
27
  export { useSiblingDocTypes } from './useSiblingDocTypes';
28
28
  export type { SiblingDocTypeInfo, UseSiblingDocTypesResult, } from './useSiblingDocTypes';
29
- export type { DocTypeMeta, DocTypeSchema, DocTypePermissions, LayoutConfig, WorkflowConfig, FieldSchema, JSONSchemaProperty, LayoutSection, WorkflowState as WorkflowStateConfig, WorkflowTransition, } from './types';
29
+ export type { DocTypeMeta, DocTypeSchema, DocTypePermissions, LayoutConfig, WorkflowConfig, FieldSchema, JSONSchemaProperty, LayoutSection, LayoutColumn, WorkflowState as WorkflowStateConfig, WorkflowTransition, } from './types';
30
+ export { useTabKeyboard } from './useTabKeyboard';
31
+ export { useFormKeyboard } from './useFormKeyboard';
30
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,wBAAwB,EACxB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,aAAa,IAAI,mBAAmB,EACpC,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,wBAAwB,EACxB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,IAAI,mBAAmB,EACpC,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -43,6 +43,14 @@ export interface JSONSchemaProperty {
43
43
  "x-read-only"?: boolean;
44
44
  "x-hidden"?: boolean;
45
45
  }
46
+ /**
47
+ * A column within a section, carrying a named-fraction width.
48
+ */
49
+ export interface LayoutColumn {
50
+ /** Named fraction: 1/3, 2/3, 1/2, or auto */
51
+ width?: "1/3" | "2/3" | "1/2" | "auto";
52
+ fields: string[];
53
+ }
46
54
  /**
47
55
  * Layout configuration for form rendering
48
56
  */
@@ -57,19 +65,24 @@ export interface LayoutSection {
57
65
  label?: string;
58
66
  collapsible?: boolean;
59
67
  collapsed?: boolean;
68
+ /** Default number of auto-equal columns (1, 2, or 3). Ignored if column_fields is set. */
69
+ columns?: 1 | 2 | 3;
70
+ /** Explicit per-column field lists with named-fraction widths. */
71
+ column_fields?: LayoutColumn[];
60
72
  fields: string[];
61
73
  }
62
74
  /**
63
- * Permissions for the current user on this DocType
75
+ * Permissions for the current user on this DocType (roles)
64
76
  */
65
77
  export interface DocTypePermissions {
66
- read: boolean;
67
- write: boolean;
68
- create: boolean;
69
- delete: boolean;
70
- submit?: boolean;
71
- cancel?: boolean;
72
- amend?: boolean;
78
+ read: string[];
79
+ write: string[];
80
+ create: string[];
81
+ delete: string[];
82
+ submit?: string[];
83
+ cancel?: string[];
84
+ amend?: string[];
85
+ [key: string]: string[] | undefined;
73
86
  }
74
87
  /**
75
88
  * Workflow configuration if DocType has workflow
@@ -107,6 +120,8 @@ export interface DocTypeMeta {
107
120
  workflow?: WorkflowConfig;
108
121
  is_submittable?: boolean;
109
122
  is_child_table?: boolean;
123
+ is_singleton?: boolean;
124
+ show_in_desk?: boolean;
110
125
  title_field?: string;
111
126
  search_fields?: string[];
112
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ export interface DocTypeMeta {
12
12
  module: string;
13
13
  label: string;
14
14
  is_child_table: boolean;
15
+ is_singleton: boolean;
15
16
  api_resource: boolean;
16
17
  show_in_desk: boolean;
18
+ metadata: Record<string, any>;
17
19
  }
18
20
  /**
19
21
  * Refine resource configuration
@@ -27,6 +29,7 @@ export interface RefineResource {
27
29
  meta?: {
28
30
  label?: string;
29
31
  canDelete?: boolean;
32
+ is_singleton?: boolean;
30
33
  };
31
34
  }
32
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useDocTypes.d.ts","sourceRoot":"","sources":["../../src/hooks/useDocTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oDAAoD;IACpD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,oBAAoB;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,uBAAuB;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CAoD/C;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useDocTypes.d.ts","sourceRoot":"","sources":["../../src/hooks/useDocTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oDAAoD;IACpD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,oBAAoB;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,uBAAuB;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CA8D/C;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * @param containerRef A ref to the form's root element.
4
+ */
5
+ export declare function useFormKeyboard(containerRef: RefObject<HTMLElement | null>): void;
6
+ //# sourceMappingURL=useFormKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormKeyboard.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormKeyboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAQlD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAC1C,IAAI,CAyCN"}