@michelangelo-ai/core 0.1.16 → 0.2.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 (66) hide show
  1. package/dist/components/actions/action-menu/action-menu-item.d.ts +18 -1
  2. package/dist/components/actions/action-menu/action-menu-item.d.ts.map +1 -1
  3. package/dist/components/actions/action-menu/action-menu.d.ts +15 -0
  4. package/dist/components/actions/action-menu/action-menu.d.ts.map +1 -1
  5. package/dist/components/actions/actions-buttons/actions-buttons.d.ts +15 -0
  6. package/dist/components/actions/actions-buttons/actions-buttons.d.ts.map +1 -0
  7. package/dist/components/actions/actions-buttons/types.d.ts +7 -0
  8. package/dist/components/actions/actions-buttons/types.d.ts.map +1 -0
  9. package/dist/components/actions/actions-buttons/utils.d.ts +8 -0
  10. package/dist/components/actions/actions-buttons/utils.d.ts.map +1 -0
  11. package/dist/components/actions/actions-popover.d.ts.map +1 -1
  12. package/dist/components/actions/interpolatable-actions-popover.d.ts +16 -0
  13. package/dist/components/actions/interpolatable-actions-popover.d.ts.map +1 -0
  14. package/dist/components/actions/types.d.ts +33 -0
  15. package/dist/components/actions/types.d.ts.map +1 -1
  16. package/dist/components/form/fields/map/__tests__/map-field.test.d.ts +2 -0
  17. package/dist/components/form/fields/map/__tests__/map-field.test.d.ts.map +1 -0
  18. package/dist/components/form/fields/map/key-value-row.d.ts +14 -0
  19. package/dist/components/form/fields/map/key-value-row.d.ts.map +1 -0
  20. package/dist/components/form/fields/map/map-field.d.ts +3 -0
  21. package/dist/components/form/fields/map/map-field.d.ts.map +1 -0
  22. package/dist/components/form/fields/map/types.d.ts +34 -0
  23. package/dist/components/form/fields/map/types.d.ts.map +1 -0
  24. package/dist/components/views/detail-view/components/detail-view-header/detail-view-header.d.ts +1 -1
  25. package/dist/components/views/detail-view/components/detail-view-header/detail-view-header.d.ts.map +1 -1
  26. package/dist/components/views/detail-view/detail-view.d.ts +1 -1
  27. package/dist/components/views/detail-view/detail-view.d.ts.map +1 -1
  28. package/dist/components/views/detail-view/types/detail-view-component-types.d.ts +11 -0
  29. package/dist/components/views/detail-view/types/detail-view-component-types.d.ts.map +1 -1
  30. package/dist/components/views/project/__tests__/project-detail.test.d.ts +2 -0
  31. package/dist/components/views/project/__tests__/project-detail.test.d.ts.map +1 -0
  32. package/dist/components/views/project/__tests__/project-list.test.d.ts +2 -0
  33. package/dist/components/views/project/__tests__/project-list.test.d.ts.map +1 -0
  34. package/dist/components/views/project/components/phase-card.d.ts.map +1 -1
  35. package/dist/components/views/project/project-detail.d.ts +4 -1
  36. package/dist/components/views/project/project-detail.d.ts.map +1 -1
  37. package/dist/components/views/sandbox/sandbox.d.ts.map +1 -1
  38. package/dist/components/views/types.d.ts +2 -2
  39. package/dist/components/views/types.d.ts.map +1 -1
  40. package/dist/config/entities/pipeline/detail.d.ts +3 -0
  41. package/dist/config/entities/pipeline/detail.d.ts.map +1 -0
  42. package/dist/config/entities/pipeline/list.d.ts.map +1 -1
  43. package/dist/config/entities/pipeline/pipeline.d.ts.map +1 -1
  44. package/dist/config/entities/pipeline/shared.d.ts +4 -0
  45. package/dist/config/entities/pipeline/shared.d.ts.map +1 -0
  46. package/dist/config/entities/trigger/__tests__/trigger-run-action-form.test.d.ts +2 -0
  47. package/dist/config/entities/trigger/__tests__/trigger-run-action-form.test.d.ts.map +1 -0
  48. package/dist/config/entities/trigger/trigger-run-action-form.d.ts +4 -0
  49. package/dist/config/entities/trigger/trigger-run-action-form.d.ts.map +1 -0
  50. package/dist/config/entities/trigger/trigger.d.ts.map +1 -1
  51. package/dist/config/entities/trigger/types.d.ts +50 -0
  52. package/dist/config/entities/trigger/types.d.ts.map +1 -1
  53. package/dist/index.d.ts +1 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/interpolation/types.d.ts +30 -0
  56. package/dist/interpolation/types.d.ts.map +1 -1
  57. package/dist/michelangelo-core.cjs +70 -76
  58. package/dist/michelangelo-core.js +29723 -32238
  59. package/dist/router/entity-detail-route.d.ts.map +1 -1
  60. package/dist/router/router.d.ts.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/dist/types/common/studio-types.d.ts +2 -2
  63. package/dist/types/common/studio-types.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/components/views/sandbox/fixtures/execution-data.d.ts +0 -327
  66. package/dist/components/views/sandbox/fixtures/execution-data.d.ts.map +0 -1
@@ -5,8 +5,25 @@ export declare const ActionMenuItem: import("react").ForwardRefExoticComponent<{
5
5
  * Item is the action configuration defined for a specific action in
6
6
  * the ActionMenu list, passed as `item` per baseui MenuAdapter props.
7
7
  */
8
- item: ComponentActionConfig;
8
+ item: Omit<ComponentActionConfig, "disabled"> & {
9
+ disabled: boolean;
10
+ disabledMessage: string | undefined;
11
+ };
9
12
  record: Data;
10
13
  onSelectAction: (action: SelectedAction) => void;
14
+ onClose?: () => void;
15
+ /**
16
+ * The action currently under the mouse cursor, or null.
17
+ * Compared by object identity against `action` to derive `isHovered`.
18
+ */
19
+ hoveredItem: object | null;
20
+ setHoveredItem: (item: object | null) => void;
21
+ /**
22
+ * True after any keydown inside the menu. False on mouse enter.
23
+ * Gates the keyboard tooltip path so auto-highlight on focus
24
+ * doesn't flash a tooltip.
25
+ */
26
+ keyboardActive: boolean;
27
+ setKeyboardActive: (active: boolean) => void;
11
28
  } & Omit<MenuAdapterProps, "children" | "item"> & import("react").RefAttributes<HTMLLIElement>>;
12
29
  //# sourceMappingURL=action-menu-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu-item.d.ts","sourceRoot":"","sources":["../../../../components/actions/action-menu/action-menu-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAYlG,eAAO,MAAM,cAAc;IATzB;;;OAGG;UACG,qBAAqB;YACnB,IAAI;oBACI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI;+FA0BhD,CAAC"}
1
+ {"version":3,"file":"action-menu-item.d.ts","sourceRoot":"","sources":["../../../../components/actions/action-menu/action-menu-item.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAqClG,eAAO,MAAM,cAAc;IA1BzB;;;OAGG;UACG,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,GAAG;QAC9C,QAAQ,EAAE,OAAO,CAAC;QAClB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC;YACO,IAAI;oBACI,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI;cACtC,MAAM,IAAI;IACpB;;;OAGG;iBACU,MAAM,GAAG,IAAI;oBACV,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;IAC7C;;;;OAIG;oBACa,OAAO;uBACJ,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;+FA4E5C,CAAC"}
@@ -3,7 +3,22 @@ type ActionMenuProps = {
3
3
  actions: ActionConfig[];
4
4
  record: Data;
5
5
  onSelectAction: (action: SelectedAction) => void;
6
+ onClose?: () => void;
6
7
  };
8
+ /**
9
+ * Renders a BaseUI StatefulMenu with tooltip support for disabled items.
10
+ *
11
+ * Disabled items show a tooltip explaining why they're disabled. The tooltip
12
+ * must appear on both mouse hover and keyboard navigation, but NOT on the
13
+ * auto-highlight that StatefulMenu applies to the first item when the menu
14
+ * receives focus. Two pieces of state coordinate this:
15
+ *
16
+ * - `hoveredItem` — tracks which item the mouse is over (object identity).
17
+ * Ensures only one tooltip is visible at a time without manual cleanup.
18
+ * - `keyboardActive` — distinguishes intentional arrow-key navigation from
19
+ * the auto-highlight on focus. Set to `true` on any keydown inside the
20
+ * menu, reset to `false` on mouse enter.
21
+ */
7
22
  export declare function ActionMenu(props: ActionMenuProps): import("react/jsx-runtime").JSX.Element;
8
23
  export {};
9
24
  //# sourceMappingURL=action-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu.d.ts","sourceRoot":"","sources":["../../../../components/actions/action-menu/action-menu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEzF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAahD"}
1
+ {"version":3,"file":"action-menu.d.ts","sourceRoot":"","sources":["../../../../components/actions/action-menu/action-menu.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,YAAY,EAEZ,IAAI,EACJ,cAAc,EACf,MAAM,gCAAgC,CAAC;AAExC,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAkDhD"}
@@ -0,0 +1,15 @@
1
+ import type { ActionConfig, Data } from '../../../components/actions/types';
2
+ type ActionsButtonsProps<T extends Data = Data> = {
3
+ actions: ActionConfig<T>[];
4
+ record: T;
5
+ loading?: boolean;
6
+ };
7
+ /**
8
+ * Renders action buttons partitioned by hierarchy level and manages the selected action.
9
+ *
10
+ * Primary actions render as a fixed-width filled button, secondary as pill-shaped
11
+ * buttons, and tertiary actions collapse into an overflow popover.
12
+ */
13
+ export declare function ActionsButtons<T extends Data>({ actions, record, loading, }: ActionsButtonsProps<T>): import("react/jsx-runtime").JSX.Element | null;
14
+ export {};
15
+ //# sourceMappingURL=actions-buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-buttons.d.ts","sourceRoot":"","sources":["../../../../components/actions/actions-buttons/actions-buttons.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAkB,MAAM,gCAAgC,CAAC;AAEzF,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI;IAChD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,EAC7C,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,mBAAmB,CAAC,CAAC,CAAC,kDAsExB"}
@@ -0,0 +1,7 @@
1
+ import type { ActionConfig, Data } from '../../../components/actions/types';
2
+ export type PartitionedActions<T extends Data> = {
3
+ primary: ActionConfig<T> | undefined;
4
+ secondary: ActionConfig<T>[];
5
+ tertiary: ActionConfig<T>[];
6
+ };
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../components/actions/actions-buttons/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,IAAI,IAAI;IAC/C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ActionConfig, Data } from '../../../components/actions/types';
2
+ import type { PartitionedActions } from './types';
3
+ /**
4
+ * Splits an actions array by hierarchy level. Actions without an explicit
5
+ * hierarchy default to tertiary (overflow menu).
6
+ */
7
+ export declare function partitionActions<T extends Data>(actions: ActionConfig<T>[]): PartitionedActions<T>;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../components/actions/actions-buttons/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAC7C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,kBAAkB,CAAC,CAAC,CAAC,CAMvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions-popover.d.ts","sourceRoot":"","sources":["../../../components/actions/actions-popover.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAAwB,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAExE,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI;IACzC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,EAC7C,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,GACb,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAwExB"}
1
+ {"version":3,"file":"actions-popover.d.ts","sourceRoot":"","sources":["../../../components/actions/actions-popover.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAAwB,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAExE,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI;IACzC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,EAC7C,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,GACb,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CA8ExB"}
@@ -0,0 +1,16 @@
1
+ import type { BasePopoverProps } from 'baseui/popover';
2
+ import type { ActionConfigSchema, Data } from './types';
3
+ type InterpolatableActionsPopoverProps = {
4
+ actions: ActionConfigSchema<Data>[];
5
+ record: Data;
6
+ popoverProps?: BasePopoverProps;
7
+ };
8
+ /**
9
+ * Resolves interpolated action configs per-row before delegating to {@link ActionsPopover}.
10
+ *
11
+ * Table action render functions aren't React components and can't use hooks, so this thin
12
+ * wrapper provides the per-row resolution boundary that the table view needs.
13
+ */
14
+ export declare function InterpolatableActionsPopover({ actions, record, ...rest }: InterpolatableActionsPopoverProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=interpolatable-actions-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolatable-actions-popover.d.ts","sourceRoot":"","sources":["../../../components/actions/interpolatable-actions-popover.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAgB,kBAAkB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEtE,KAAK,iCAAiC,GAAG;IACvC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACR,EAAE,iCAAiC,2CAQnC"}
@@ -1,4 +1,5 @@
1
1
  import type { ComponentType } from 'react';
2
+ import type { DeepInterpolatable } from '../../interpolation/types';
2
3
  export type ActionConfig<T = Data> = ComponentActionConfig<T>;
3
4
  /**
4
5
  * Base fields shared by all action configurations.
@@ -18,6 +19,20 @@ export type ActionConfigBase = {
18
19
  * @see {@link ActionTriggerDisplay}
19
20
  */
20
21
  display: ActionTriggerDisplay;
22
+ /**
23
+ * Visual hierarchy of the action's trigger button
24
+ *
25
+ * @note Actions without an explicit hierarchy default to tertiary (overflow menu).
26
+ *
27
+ * @see {@link ActionHierarchy}
28
+ */
29
+ hierarchy?: ActionHierarchy;
30
+ /**
31
+ * Optional rules to disable this action for specific records.
32
+ * Rules are evaluated in order; the first match disables the item and
33
+ * shows its message as a hover tooltip.
34
+ */
35
+ disabled?: DisabledRule[];
21
36
  };
22
37
  /**
23
38
  * How the action's trigger button is displayed to the user
@@ -28,6 +43,11 @@ type ActionTriggerDisplay = {
28
43
  label: string;
29
44
  icon?: string;
30
45
  };
46
+ export declare enum ActionHierarchy {
47
+ PRIMARY = "primary",
48
+ SECONDARY = "secondary",
49
+ TERTIARY = "tertiary"
50
+ }
31
51
  export type Data = Record<string, unknown>;
32
52
  export type ComponentActionConfig<T = Data> = ActionConfigBase & {
33
53
  component: ComponentType<ActionComponentProps<T>>;
@@ -41,5 +61,18 @@ export type SelectedAction = {
41
61
  component: ComponentType<ActionComponentProps>;
42
62
  record: Data;
43
63
  };
64
+ /**
65
+ * Schema version of {@link ActionConfig} — what config authors write.
66
+ * All leaf fields accept interpolated values via {@link DeepInterpolatable}.
67
+ *
68
+ * Components always receive the resolved {@link ActionConfig} — interpolation
69
+ * is resolved at the per-row boundary before reaching any rendering code.
70
+ */
71
+ export type ActionConfigSchema<T = Data> = DeepInterpolatable<ActionConfig<T>>;
72
+ /** A condition that disables an action for a specific record, with an optional hover tooltip. */
73
+ type DisabledRule = {
74
+ condition: boolean;
75
+ message?: string;
76
+ };
44
77
  export {};
45
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../components/actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,IAAI,IAAI,gBAAgB,GAAG;IAC/D,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,IAAI,IAAI;IAC3C,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../components/actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,IAAI,IAAI,gBAAgB,GAAG;IAC/D,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,IAAI,IAAI;IAC3C,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,MAAM,EAAE,IAAI,CAAC;CACd,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,IAAI,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,iGAAiG;AACjG,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=map-field.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-field.test.d.ts","sourceRoot":"","sources":["../../../../../../components/form/fields/map/__tests__/map-field.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { KeyValueEntry, KeyValueRowConfig } from './types';
2
+ interface KeyValueRowProps extends KeyValueRowConfig {
3
+ row: KeyValueEntry;
4
+ readOnly?: boolean;
5
+ disabled?: boolean;
6
+ keyError?: string;
7
+ onChange: (row: KeyValueEntry) => void;
8
+ onDelete: (row: KeyValueEntry) => void;
9
+ onFocus: () => void;
10
+ onBlur: () => void;
11
+ }
12
+ export declare function KeyValueRow({ row, keyConfig, valueConfig, readOnly, disabled, deletable, size, keyError, onChange, onDelete, onFocus, onBlur, }: KeyValueRowProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=key-value-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-row.d.ts","sourceRoot":"","sources":["../../../../../components/form/fields/map/key-value-row.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEhE,UAAU,gBAAiB,SAAQ,iBAAiB;IAClD,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,gBAAgB,2CA6DlB"}
@@ -0,0 +1,3 @@
1
+ import type { MapFieldProps } from './types';
2
+ export declare function MapField({ name, label, defaultValue, initialValue, required, validate, readOnly, disabled, description, caption, labelEndEnhancer, format, parse, keyConfig, valueConfig, singleValue, creatable, deletable, emptyMessage, size, }: MapFieldProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=map-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-field.d.ts","sourceRoot":"","sources":["../../../../../components/form/fields/map/map-field.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,SAAS,CAAC;AAK5D,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAgB,EAChB,SAAgB,EAChB,YAAY,EACZ,IAAI,GACL,EAAE,aAAa,2CA2Gf"}
@@ -0,0 +1,34 @@
1
+ import type { SIZE } from 'baseui/input';
2
+ import type { BaseFieldProps } from '../../../../components/form/fields/types';
3
+ export interface KeyValueEntry {
4
+ /** Stable React key — monotonically increasing, never reused after deletion. */
5
+ id: number;
6
+ key: string;
7
+ value: string;
8
+ }
9
+ /** Props shared between MapField and KeyValueRow — controls how each row renders. */
10
+ export interface KeyValueRowConfig {
11
+ /** Configuration for the key input column */
12
+ keyConfig?: {
13
+ placeholder?: string;
14
+ readOnly?: boolean;
15
+ };
16
+ /** Configuration for the value input column */
17
+ valueConfig?: {
18
+ placeholder?: string;
19
+ };
20
+ /** Show delete button per row. Defaults to true. */
21
+ deletable?: boolean;
22
+ /** BaseUI input size variant */
23
+ size?: keyof typeof SIZE;
24
+ }
25
+ export interface MapFieldOwnProps extends KeyValueRowConfig {
26
+ /** When true, renders exactly one key-value pair with no add/delete controls */
27
+ singleValue?: boolean;
28
+ /** Show "Add more" button. Defaults to true. */
29
+ creatable?: boolean;
30
+ /** Message shown when the map is empty */
31
+ emptyMessage?: string;
32
+ }
33
+ export type MapFieldProps = MapFieldOwnProps & BaseFieldProps<Record<string, string>>;
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../components/form/fields/map/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,SAAS,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAEzD,+CAA+C;IAC/C,WAAW,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvC,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,OAAO,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { DetailViewHeaderProps } from './types';
2
- export declare function DetailViewHeader({ subtitle, title, onGoBack, children }: DetailViewHeaderProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DetailViewHeader({ subtitle, title, onGoBack, children, actions, record, loading, }: DetailViewHeaderProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=detail-view-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detail-view-header.d.ts","sourceRoot":"","sources":["../../../../../../components/views/detail-view/components/detail-view-header/detail-view-header.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CA2D9F"}
1
+ {"version":3,"file":"detail-view-header.d.ts","sourceRoot":"","sources":["../../../../../../components/views/detail-view/components/detail-view-header/detail-view-header.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAsEvB"}
@@ -1,3 +1,3 @@
1
1
  import type { DetailViewProps } from './types/detail-view-component-types';
2
- export declare function DetailView({ title, subtitle, onGoBack, headerContent, children, }: DetailViewProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DetailView({ title, subtitle, onGoBack, headerContent, children, actions, record, loading, }: DetailViewProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=detail-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detail-view.d.ts","sourceRoot":"","sources":["../../../../components/views/detail-view/detail-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,EAAE,eAAe,2CAYjB"}
1
+ {"version":3,"file":"detail-view.d.ts","sourceRoot":"","sources":["../../../../components/views/detail-view/detail-view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,eAAe,2CAmBjB"}
@@ -1,3 +1,4 @@
1
+ import type { ActionConfigSchema } from '../../../../components/actions/types';
1
2
  export interface DetailViewProps extends DetailHeaderBaseProps {
2
3
  /**
3
4
  * Content displayed at the bottom of the header container
@@ -15,6 +16,16 @@ export interface DetailHeaderBaseProps {
15
16
  */
16
17
  title?: string;
17
18
  onGoBack?: () => void;
19
+ /**
20
+ * Configuration for set of action buttons that render within the header. These actions
21
+ * operate on the currently viewed entity record. For example, a "Delete" action would delete
22
+ * the currently viewed entity.
23
+ */
24
+ actions?: ActionConfigSchema<object>[];
25
+ /** The data for the currently viewed entity. */
26
+ record?: Record<string, unknown>;
27
+ /** Loading state for the currently viewed entity. Indicates that record data may be incomplete. */
28
+ loading?: boolean;
18
29
  }
19
30
  export interface DetailViewTab {
20
31
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"detail-view-component-types.d.ts","sourceRoot":"","sources":["../../../../../components/views/detail-view/types/detail-view-component-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"detail-view-component-types.d.ts","sourceRoot":"","sources":["../../../../../components/views/detail-view/types/detail-view-component-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAEvC,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-detail.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-detail.test.d.ts","sourceRoot":"","sources":["../../../../../components/views/project/__tests__/project-detail.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-list.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-list.test.d.ts","sourceRoot":"","sources":["../../../../../components/views/project/__tests__/project-list.test.tsx"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"phase-card.d.ts","sourceRoot":"","sources":["../../../../../components/views/project/components/phase-card.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,2CA8FnE"}
1
+ {"version":3,"file":"phase-card.d.ts","sourceRoot":"","sources":["../../../../../components/views/project/components/phase-card.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,2CAgGnE"}
@@ -1,2 +1,5 @@
1
- export declare function ProjectDetail(): import("react/jsx-runtime").JSX.Element;
1
+ import type { PhaseConfig } from '../../../types/common/studio-types';
2
+ export declare function ProjectDetail({ phases }: {
3
+ phases: PhaseConfig[];
4
+ }): import("react/jsx-runtime").JSX.Element;
2
5
  //# sourceMappingURL=project-detail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-detail.d.ts","sourceRoot":"","sources":["../../../../components/views/project/project-detail.tsx"],"names":[],"mappings":"AAcA,wBAAgB,aAAa,4CA8D5B"}
1
+ {"version":3,"file":"project-detail.d.ts","sourceRoot":"","sources":["../../../../components/views/project/project-detail.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,2CA8DlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../components/views/sandbox/sandbox.tsx"],"names":[],"mappings":"AAiRA,wBAAgB,OAAO,4CAgftB"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../components/views/sandbox/sandbox.tsx"],"names":[],"mappings":"AAKA,wBAAgB,OAAO,4CAOtB"}
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ActionConfig } from '../../components/actions/types';
2
+ import type { ActionConfigSchema } from '../../components/actions/types';
3
3
  import type { Cell } from '../../components/cell/types';
4
4
  import type { EmptyState } from '../../components/table/components/table-empty-state/types';
5
5
  import type { PageSizeOption } from '../../components/table/components/table-pagination/types';
@@ -40,6 +40,6 @@ export interface TableConfig<T extends TableData = TableData> {
40
40
  /** Whether to enable sticky sides in the table */
41
41
  enableStickySides?: boolean;
42
42
  /** Optional actions to render in each table row */
43
- actions?: ActionConfig<T>[];
43
+ actions?: ActionConfigSchema<T>[];
44
44
  }
45
45
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../components/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AAE1G,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE5F,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACzD,IAAI,EAAE,QAAQ,CAAC;IAEf,0DAA0D;IAC1D,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEjB,qDAAqD;IACrD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC1D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3B,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,yCAAyC;IACzC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,mDAAmD;IACnD,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../components/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AAE1G,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE5F,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACzD,IAAI,EAAE,QAAQ,CAAC;IAEf,0DAA0D;IAC1D,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEjB,qDAAqD;IACrD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC1D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3B,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,yCAAyC;IACzC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAE7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,mDAAmD;IACnD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CACnC"}
@@ -0,0 +1,3 @@
1
+ import type { DetailViewConfig } from '../../../components/views/types';
2
+ export declare const PIPELINE_DETAIL_CONFIG: DetailViewConfig;
3
+ //# sourceMappingURL=detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/detail.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,eAAO,MAAM,sBAAsB,EAAE,gBAoCpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,MAAM,CAAC,EA0DtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAKvD,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/list.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,MAAM,CAAC,EAkBtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAKvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,eAAO,MAAM,sBAAsB,EAAE,iBAYpC,CAAC"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/pipeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,eAAO,MAAM,sBAAsB,EAAE,iBAapC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Cell } from '../../../components/cell/types';
2
+ export declare const PIPELINE_STATE_CELL: Cell;
3
+ export declare const PIPELINE_TYPE_CELL: Cell;
4
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../config/entities/pipeline/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,eAAO,MAAM,mBAAmB,EAAE,IAkBjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAsBhC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trigger-run-action-form.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-run-action-form.test.d.ts","sourceRoot":"","sources":["../../../../../config/entities/trigger/__tests__/trigger-run-action-form.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ActionComponentProps } from '../../../components/actions/types';
2
+ import type { TriggerRun } from './types';
3
+ export declare const KillTriggerRunForm: (props: ActionComponentProps<TriggerRun>) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=trigger-run-action-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-run-action-form.d.ts","sourceRoot":"","sources":["../../../../config/entities/trigger/trigger-run-action-form.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAgE1C,eAAO,MAAM,kBAAkB,UAAW,oBAAoB,CAAC,UAAU,CAAC,4CAEzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../config/entities/trigger/trigger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,eAAO,MAAM,qBAAqB,EAAE,iBAMnC,CAAC"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../config/entities/trigger/trigger.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAQzE,eAAO,MAAM,qBAAqB,EAAE,iBAqBnC,CAAC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Mirrors generated types from @michelangelo/rpc trigger_run_pb.
3
+ * Update alongside proto/api/v2/trigger_run.proto.
4
+ */
1
5
  export type Trigger = {
2
6
  metadata: {
3
7
  name: string;
@@ -10,4 +14,50 @@ export type Trigger = {
10
14
  };
11
15
  };
12
16
  };
17
+ export type TriggerRun = {
18
+ metadata: {
19
+ name: string;
20
+ namespace: string;
21
+ };
22
+ spec: {
23
+ pipeline: {
24
+ name: string;
25
+ namespace: string;
26
+ };
27
+ revision: {
28
+ name: string;
29
+ namespace: string;
30
+ };
31
+ actor: {
32
+ name: string;
33
+ };
34
+ sourceTriggerName: string;
35
+ autoFlip: boolean;
36
+ notifications: unknown[];
37
+ /** @deprecated Use action instead (proto field 11). */
38
+ kill: boolean;
39
+ /** proto field 11 — replaces deprecated kill boolean */
40
+ action: TriggerRunAction;
41
+ };
42
+ status: {
43
+ state: TriggerRunState;
44
+ };
45
+ };
46
+ /** Mirrors proto TriggerRunAction enum (trigger_run.proto). */
47
+ export declare enum TriggerRunAction {
48
+ NO_ACTION = 0,
49
+ KILL = 1,
50
+ PAUSE = 2,
51
+ RESUME = 3
52
+ }
53
+ /** Mirrors proto TriggerRunState enum (trigger_run.proto). */
54
+ export declare enum TriggerRunState {
55
+ INVALID = 0,
56
+ RUNNING = 1,
57
+ KILLED = 2,
58
+ FAILED = 3,
59
+ SUCCEEDED = 4,
60
+ PENDING_KILL = 5,
61
+ PAUSED = 6
62
+ }
13
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../config/entities/trigger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAC;aAC1D,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../config/entities/trigger/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAC;aAC1D,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,EAAE,CAAC;QACzB,uDAAuD;QACvD,IAAI,EAAE,OAAO,CAAC;QACd,wDAAwD;QACxD,MAAM,EAAE,gBAAgB,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE,eAAe,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,oBAAY,gBAAgB;IAC1B,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,8DAA8D;AAC9D,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,MAAM,IAAI;IACV,MAAM,IAAI;IACV,SAAS,IAAI;IACb,YAAY,IAAI;IAChB,MAAM,IAAI;CACX"}
package/dist/index.d.ts CHANGED
@@ -57,6 +57,7 @@ export { useURLQueryString } from './hooks/routing/use-url-query-string';
57
57
  export * from './utils/object-utils';
58
58
  export * from './utils/string-utils';
59
59
  export * from './utils/time-utils';
60
+ export { TimeZone } from './types/time-types';
60
61
  export * from './types/common/studio-types';
61
62
  export * from './types/common/view-types';
62
63
  export { CellProvider } from './providers/cell-provider/cell-provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ComponentType } from 'react';
1
2
  import type { ViewTypeToParamType } from '../hooks/routing/use-studio-params/types';
2
3
  import type { RepeatedLayoutState } from '../providers/repeated-layout-provider/types';
3
4
  import type { StudioParamsView } from '../types/common/view-types';
@@ -134,6 +135,35 @@ export interface InterpolationContextExtensions {
134
135
  * ```
135
136
  */
136
137
  export type Interpolatable<T, U extends StudioParamsView = 'base'> = T | string | FunctionInterpolation<T, U> | StringInterpolation<U>;
138
+ /**
139
+ * Recursively wraps all leaf fields of `T` with {@link Interpolatable}, allowing
140
+ * every property in a config object to accept static values or interpolation patterns.
141
+ *
142
+ * - Functions and React components are preserved (not wrapped)
143
+ * - Arrays recurse into their element type
144
+ * - Objects recurse into each property
145
+ * - Primitives become `T | Interpolatable<T>`
146
+ *
147
+ * Use this to derive a "schema" version of a resolved config type:
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * type ActionConfigSchema = DeepInterpolatable<ActionConfig>;
152
+ *
153
+ * // Static values still compile — ActionConfig is assignable to ActionConfigSchema:
154
+ * const staticConfig: ActionConfigSchema = { hierarchy: ActionHierarchy.PRIMARY };
155
+ *
156
+ * // Interpolated values also compile:
157
+ * const dynamicConfig: ActionConfigSchema = {
158
+ * hierarchy: interpolate(({ data }) =>
159
+ * data.state === 'PAUSED' ? ActionHierarchy.PRIMARY : ActionHierarchy.TERTIARY
160
+ * ),
161
+ * };
162
+ * ```
163
+ */
164
+ export type DeepInterpolatable<T, U extends StudioParamsView = 'base'> = T extends (...args: any[]) => any ? T : T extends ComponentType<any> ? T : T extends Array<infer El> ? Array<DeepInterpolatable<El, U>> : T extends object ? {
165
+ [K in keyof T]: DeepInterpolatable<T[K], U>;
166
+ } : Interpolatable<T, U>;
137
167
  /**
138
168
  * Function type for checking whether a property should be excluded from interpolation.
139
169
  * Called for each object property during recursive interpolation processing.