@cratis/components 1.10.0 → 1.10.2

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 (82) hide show
  1. package/dist/cjs/CommandDialog/CommandStepper.js +1 -1
  2. package/dist/cjs/CommandDialog/CommandStepper.js.map +1 -1
  3. package/dist/cjs/CommandDialog/StepperCommandDialog.js +5 -2
  4. package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +1 -1
  5. package/dist/cjs/CommandForm/fields/RadioButtonField.js +13 -0
  6. package/dist/cjs/CommandForm/fields/RadioButtonField.js.map +1 -0
  7. package/dist/cjs/CommandForm/fields/RadioGroupField.js +20 -0
  8. package/dist/cjs/CommandForm/fields/RadioGroupField.js.map +1 -0
  9. package/dist/cjs/CommandForm/index.js +4 -0
  10. package/dist/cjs/CommandForm/index.js.map +1 -1
  11. package/dist/cjs/Common/FormElement.js +1 -1
  12. package/dist/cjs/Common/FormElement.js.map +1 -1
  13. package/dist/cjs/DataPage/DataPage.js +9 -2
  14. package/dist/cjs/DataPage/DataPage.js.map +1 -1
  15. package/dist/cjs/Dialogs/Dialog.js +5 -4
  16. package/dist/cjs/Dialogs/Dialog.js.map +1 -1
  17. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +11 -11
  18. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  19. package/dist/cjs/PivotViewer/PivotViewer.css +1 -4
  20. package/dist/cjs/SchemaEditor/TypeCell.js +3 -3
  21. package/dist/cjs/SchemaEditor/TypeCell.js.map +1 -1
  22. package/dist/cjs/TimeMachine/EventsView.css +17 -17
  23. package/dist/cjs/TimeMachine/Properties.css +57 -0
  24. package/dist/cjs/TimeMachine/Properties.js +9 -28
  25. package/dist/cjs/TimeMachine/Properties.js.map +1 -1
  26. package/dist/cjs/TimeMachine/TimeMachine.css +38 -18
  27. package/dist/cjs/Toolbar/ToolbarLayout.js +61 -3
  28. package/dist/cjs/Toolbar/ToolbarLayout.js.map +1 -1
  29. package/dist/cjs/tailwind-utilities.css +1 -7
  30. package/dist/esm/CommandDialog/CommandStepper.js +1 -1
  31. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  32. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
  33. package/dist/esm/CommandDialog/StepperCommandDialog.js +5 -2
  34. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  35. package/dist/esm/CommandForm/fields/Fields.stories.d.ts +2 -0
  36. package/dist/esm/CommandForm/fields/Fields.stories.d.ts.map +1 -1
  37. package/dist/esm/CommandForm/fields/Fields.stories.js +27 -3
  38. package/dist/esm/CommandForm/fields/Fields.stories.js.map +1 -1
  39. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +12 -0
  40. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -0
  41. package/dist/esm/CommandForm/fields/RadioButtonField.js +11 -0
  42. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -0
  43. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +14 -0
  44. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -0
  45. package/dist/esm/CommandForm/fields/RadioGroupField.js +18 -0
  46. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -0
  47. package/dist/esm/CommandForm/fields/index.d.ts +2 -0
  48. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
  49. package/dist/esm/CommandForm/fields/index.js +2 -0
  50. package/dist/esm/CommandForm/fields/index.js.map +1 -1
  51. package/dist/esm/CommandForm/index.js +2 -0
  52. package/dist/esm/CommandForm/index.js.map +1 -1
  53. package/dist/esm/Common/FormElement.js +1 -1
  54. package/dist/esm/Common/FormElement.js.map +1 -1
  55. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  56. package/dist/esm/DataPage/DataPage.js +9 -2
  57. package/dist/esm/DataPage/DataPage.js.map +1 -1
  58. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  59. package/dist/esm/Dialogs/Dialog.js +5 -4
  60. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  61. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +11 -11
  62. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  63. package/dist/esm/PivotViewer/PivotViewer.css +1 -4
  64. package/dist/esm/SchemaEditor/TypeCell.js +3 -3
  65. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  66. package/dist/esm/TimeMachine/EventsView.css +17 -17
  67. package/dist/esm/TimeMachine/Properties.css +57 -0
  68. package/dist/esm/TimeMachine/Properties.d.ts +1 -0
  69. package/dist/esm/TimeMachine/Properties.d.ts.map +1 -1
  70. package/dist/esm/TimeMachine/Properties.js +9 -28
  71. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  72. package/dist/esm/TimeMachine/TimeMachine.css +38 -18
  73. package/dist/esm/Toolbar/Toolbar.stories.d.ts +3 -4
  74. package/dist/esm/Toolbar/Toolbar.stories.d.ts.map +1 -1
  75. package/dist/esm/Toolbar/Toolbar.stories.js +39 -34
  76. package/dist/esm/Toolbar/Toolbar.stories.js.map +1 -1
  77. package/dist/esm/Toolbar/ToolbarLayout.d.ts.map +1 -1
  78. package/dist/esm/Toolbar/ToolbarLayout.js +62 -4
  79. package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
  80. package/dist/esm/tailwind-utilities.css +1 -7
  81. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +5 -12
@@ -67,14 +67,14 @@ const TypeCell = ({ rowData, isEditMode, typeFormats, onUpdateProperty, onUpdate
67
67
  if (rowData.type === 'array') {
68
68
  const itemType = rowData.items?.type || 'string';
69
69
  const isNavigable = itemType === 'object';
70
- return (jsxs("div", { className: "flex align-items-center gap-2 w-full", style: { height: '100%' }, "data-pr-tooltip": isNavigable ? 'Click to navigate to item definition' : undefined, "data-pr-position": "top", children: [jsxs("span", { children: ["Array of ", itemType] }), isNavigable && (jsxs(Fragment, { children: [jsx("div", { style: { flex: 1 } }), jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: jsx(faIcons.FaArrowRight, { style: { fontSize: '1rem', color: 'var(--primary-color)' } }) })] }))] }));
70
+ return (jsxs("div", { className: "flex items-center gap-2 w-full", style: { height: '100%' }, "data-pr-tooltip": isNavigable ? 'Click to navigate to item definition' : undefined, "data-pr-position": "top", children: [jsxs("span", { children: ["Array of ", itemType] }), isNavigable && (jsxs(Fragment, { children: [jsx("div", { style: { flex: 1 } }), jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: jsx(faIcons.FaArrowRight, { style: { fontSize: '1rem', color: 'var(--primary-color)' } }) })] }))] }));
71
71
  }
72
72
  else if (rowData.type === 'object') {
73
- return (jsxs("div", { className: "flex align-items-center gap-2 w-full", style: { height: '100%' }, "data-pr-tooltip": "Click to navigate to object properties", "data-pr-position": "top", children: [jsx("span", { children: "Object" }), jsx("div", { style: { flex: 1 } }), jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: jsx(faIcons.FaArrowRight, { style: { fontSize: '1rem', color: 'var(--primary-color)' } }) })] }));
73
+ return (jsxs("div", { className: "flex items-center gap-2 w-full", style: { height: '100%' }, "data-pr-tooltip": "Click to navigate to object properties", "data-pr-position": "top", children: [jsx("span", { children: "Object" }), jsx("div", { style: { flex: 1 } }), jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: jsx(faIcons.FaArrowRight, { style: { fontSize: '1rem', color: 'var(--primary-color)' } }) })] }));
74
74
  }
75
75
  return displayValue;
76
76
  }
77
- return (jsxs("div", { className: "flex align-items-center gap-2 w-full", style: { minHeight: '2.5rem' }, children: [jsx(Dropdown, { value: currentValue, options: allTypeOptions, onChange: (e) => handleTypeChange(e.value, rowData.name || ''), className: "flex-1" }), rowData.type === 'array' && rowData.items && (jsxs(Fragment, { children: [jsx("span", { style: { whiteSpace: 'nowrap', display: 'flex', alignItems: 'center' }, children: "of" }), jsx(Dropdown, { value: rowData.items.type || 'string', options: allTypeOptions, onChange: (e) => handleTypeChange(e.value, rowData.name || '', true), className: "flex-1" })] })), jsxs("div", { style: { marginLeft: 'auto', display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [rowData.type === 'array' && rowData.items?.type === 'object' && rowData.name && (jsx(Button, { icon: jsx(faIcons.FaArrowRight, {}), className: "p-button-text p-button-sm", onClick: () => onNavigateToArrayItems(rowData.name), tooltip: "Navigate to item definition", tooltipOptions: { position: 'top' } })), rowData.type === 'object' && rowData.name && (jsx(Button, { icon: jsx(faIcons.FaArrowRight, {}), className: "p-button-text p-button-sm", onClick: () => onNavigateToProperty(rowData.name), tooltip: "Navigate to object properties", tooltipOptions: { position: 'top' } })), rowData.name && (jsx(Button, { icon: jsx(faIcons.FaTrash, {}), className: "p-button-text p-button-danger p-button-sm", onClick: () => onRemoveProperty(rowData.name), tooltip: "Delete property", tooltipOptions: { position: 'top' } }))] })] }));
77
+ return (jsxs("div", { className: "flex items-center gap-2 w-full", style: { minHeight: '2.5rem' }, children: [jsx(Dropdown, { value: currentValue, options: allTypeOptions, onChange: (e) => handleTypeChange(e.value, rowData.name || ''), className: "flex-1" }), rowData.type === 'array' && rowData.items && (jsxs(Fragment, { children: [jsx("span", { style: { whiteSpace: 'nowrap', display: 'flex', alignItems: 'center' }, children: "of" }), jsx(Dropdown, { value: rowData.items.type || 'string', options: allTypeOptions, onChange: (e) => handleTypeChange(e.value, rowData.name || '', true), className: "flex-1" })] })), jsxs("div", { style: { marginLeft: 'auto', display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [rowData.type === 'array' && rowData.items?.type === 'object' && rowData.name && (jsx(Button, { icon: jsx(faIcons.FaArrowRight, {}), className: "p-button-text p-button-sm", onClick: () => onNavigateToArrayItems(rowData.name), tooltip: "Navigate to item definition", tooltipOptions: { position: 'top' } })), rowData.type === 'object' && rowData.name && (jsx(Button, { icon: jsx(faIcons.FaArrowRight, {}), className: "p-button-text p-button-sm", onClick: () => onNavigateToProperty(rowData.name), tooltip: "Navigate to object properties", tooltipOptions: { position: 'top' } })), rowData.name && (jsx(Button, { icon: jsx(faIcons.FaTrash, {}), className: "p-button-text p-button-danger p-button-sm", onClick: () => onRemoveProperty(rowData.name), tooltip: "Delete property", tooltipOptions: { position: 'top' } }))] })] }));
78
78
  };
79
79
 
80
80
  export { TypeCell };
@@ -1 +1 @@
1
- {"version":3,"file":"TypeCell.js","sources":["../../../SchemaEditor/TypeCell.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;AAoBA,MAAM,eAAe,GAAG;AACpB,IAAA,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAClC,IAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;CACrC;MAEY,QAAQ,GAAG,CAAC,EACrB,OAAO,EACP,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EACJ,KAAI;AAChB,IAAA,MAAM,oBAAoB,GAAG;AACzB,QAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACtC,QAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;KACvC;AAED,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG;AACvC,UAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAG;YACnB,MAAM,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;YACzE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC3C,QAAA,CAAC;UACC,oBAAoB;AAE1B,IAAA,MAAM,cAAc,GAAG;AACnB,QAAA,GAAG,aAAa;AAChB,QAAA,GAAG;KACN;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ;IAE/D,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,WAAA,GAAuB,KAAK,KAAI;QAC3F,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE;YACzC,IAAI,WAAW,EAAE;AACb,gBAAA,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC;YAC9C;iBAAO;AACH,gBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxE;QACJ;aAAO;YACH,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,IAAG;gBACrC,MAAM,eAAe,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;gBAClF,OAAO,eAAe,KAAK,KAAK;AACpC,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;gBACZ,IAAI,WAAW,EAAE;AACb,oBAAA,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC5D;qBAAO;oBACH,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;AAC/C,wBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAClF;yBAAO;AACH,wBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACtF;gBACJ;YACJ;iBAAO;gBACH,IAAI,WAAW,EAAE;AACb,oBAAA,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC;gBAC9C;qBAAO;AACH,oBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACxE;YACJ;QACJ;AACJ,IAAA,CAAC;IAED,IAAI,CAAC,UAAU,EAAE;AACb,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ;AAChD,YAAA,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ;AACzC,YAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,iBAAA,EACR,WAAW,GAAG,sCAAsC,GAAG,SAAS,EAAA,kBAAA,EAChE,KAAK,aAEtBA,IAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAgB,QAAQ,CAAA,EAAA,CAAQ,EAC/B,WAAW,KACRA,4BACIC,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAA,CAAI,EAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAClDA,IAAC,OAAO,CAAC,YAAY,EAAA,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAA,CAAI,EAAA,CACjF,IACR,CACN,CAAA,EAAA,CACC;QAEd;AAAO,aAAA,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,YAAA,QACID,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,iBAAA,EACT,wCAAwC,EAAA,kBAAA,EACvC,KAAK,EAAA,QAAA,EAAA,CAEtBC,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAmB,EACnBA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,EAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAClDA,GAAA,CAAC,OAAO,CAAC,YAAY,EAAA,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAA,CAAI,EAAA,CACjF,CAAA,EAAA,CACL;QAEd;AACA,QAAA,OAAO,YAAY;IACvB;AAEA,IAAA,QACID,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChFC,IAAC,QAAQ,EAAA,EACL,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAC9D,SAAS,EAAC,QAAQ,EAAA,CACpB,EACD,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,KACtCD,IAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EAAA,CACID,cAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAW,EACvFA,GAAA,CAAC,QAAQ,EAAA,EACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,EACrC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EACpE,SAAS,EAAC,QAAQ,EAAA,CACpB,CAAA,EAAA,CACH,CACN,EACDD,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CACnF,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KACzEC,GAAA,CAAC,MAAM,EAAA,EACH,IAAI,EAAEA,GAAA,CAAC,OAAO,CAAC,YAAY,EAAA,EAAA,CAAG,EAC9B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAK,CAAC,EACpD,OAAO,EAAC,6BAA6B,EACrC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,EACA,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KACtCA,IAAC,MAAM,EAAA,EACH,IAAI,EAAEA,IAAC,OAAO,CAAC,YAAY,EAAA,EAAA,CAAG,EAC9B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,IAAK,CAAC,EAClD,OAAO,EAAC,+BAA+B,EACvC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,EACA,OAAO,CAAC,IAAI,KACTA,GAAA,CAAC,MAAM,EAAA,EACH,IAAI,EAAEA,GAAA,CAAC,OAAO,CAAC,OAAO,EAAA,EAAA,CAAG,EACzB,SAAS,EAAC,2CAA2C,EACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAK,CAAC,EAC9C,OAAO,EAAC,iBAAiB,EACzB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,CAAA,EAAA,CACC,CAAA,EAAA,CACJ;AAEd;;;;"}
1
+ {"version":3,"file":"TypeCell.js","sources":["../../../SchemaEditor/TypeCell.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;AAoBA,MAAM,eAAe,GAAG;AACpB,IAAA,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAClC,IAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;CACrC;MAEY,QAAQ,GAAG,CAAC,EACrB,OAAO,EACP,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EACJ,KAAI;AAChB,IAAA,MAAM,oBAAoB,GAAG;AACzB,QAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACtC,QAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;KACvC;AAED,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG;AACvC,UAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAG;YACnB,MAAM,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;YACzE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC3C,QAAA,CAAC;UACC,oBAAoB;AAE1B,IAAA,MAAM,cAAc,GAAG;AACnB,QAAA,GAAG,aAAa;AAChB,QAAA,GAAG;KACN;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ;IAE/D,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,YAAoB,EAAE,WAAA,GAAuB,KAAK,KAAI;QAC3F,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE;YACzC,IAAI,WAAW,EAAE;AACb,gBAAA,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC;YAC9C;iBAAO;AACH,gBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxE;QACJ;aAAO;YACH,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,IAAG;gBACrC,MAAM,eAAe,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;gBAClF,OAAO,eAAe,KAAK,KAAK;AACpC,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;gBACZ,IAAI,WAAW,EAAE;AACb,oBAAA,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC5D;qBAAO;oBACH,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;AAC/C,wBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAClF;yBAAO;AACH,wBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACtF;gBACJ;YACJ;iBAAO;gBACH,IAAI,WAAW,EAAE;AACb,oBAAA,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC;gBAC9C;qBAAO;AACH,oBAAA,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACxE;YACJ;QACJ;AACJ,IAAA,CAAC;IAED,IAAI,CAAC,UAAU,EAAE;AACb,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ;AAChD,YAAA,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ;AACzC,YAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,iBAAA,EACR,WAAW,GAAG,sCAAsC,GAAG,SAAS,EAAA,kBAAA,EAChE,KAAK,aAEtBA,IAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAgB,QAAQ,CAAA,EAAA,CAAQ,EAC/B,WAAW,KACRA,4BACIC,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAA,CAAI,EAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAClDA,IAAC,OAAO,CAAC,YAAY,EAAA,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAA,CAAI,EAAA,CACjF,IACR,CACN,CAAA,EAAA,CACC;QAEd;AAAO,aAAA,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,YAAA,QACID,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,iBAAA,EACT,wCAAwC,EAAA,kBAAA,EACvC,KAAK,EAAA,QAAA,EAAA,CAEtBC,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAmB,EACnBA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,EAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAClDA,GAAA,CAAC,OAAO,CAAC,YAAY,EAAA,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAA,CAAI,EAAA,CACjF,CAAA,EAAA,CACL;QAEd;AACA,QAAA,OAAO,YAAY;IACvB;AAEA,IAAA,QACID,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC1EC,IAAC,QAAQ,EAAA,EACL,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAC9D,SAAS,EAAC,QAAQ,EAAA,CACpB,EACD,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,KACtCD,IAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EAAA,CACID,cAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAW,EACvFA,GAAA,CAAC,QAAQ,EAAA,EACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,EACrC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EACpE,SAAS,EAAC,QAAQ,EAAA,CACpB,CAAA,EAAA,CACH,CACN,EACDD,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CACnF,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KACzEC,GAAA,CAAC,MAAM,EAAA,EACH,IAAI,EAAEA,GAAA,CAAC,OAAO,CAAC,YAAY,EAAA,EAAA,CAAG,EAC9B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAK,CAAC,EACpD,OAAO,EAAC,6BAA6B,EACrC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,EACA,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KACtCA,IAAC,MAAM,EAAA,EACH,IAAI,EAAEA,IAAC,OAAO,CAAC,YAAY,EAAA,EAAA,CAAG,EAC9B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,IAAK,CAAC,EAClD,OAAO,EAAC,+BAA+B,EACvC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,EACA,OAAO,CAAC,IAAI,KACTA,GAAA,CAAC,MAAM,EAAA,EACH,IAAI,EAAEA,GAAA,CAAC,OAAO,CAAC,OAAO,EAAA,EAAA,CAAG,EACzB,SAAS,EAAC,2CAA2C,EACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAK,CAAC,EAC9C,OAAO,EAAC,iBAAiB,EACzB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAA,CACrC,CACL,CAAA,EAAA,CACC,CAAA,EAAA,CACJ;AAEd;;;;"}
@@ -26,9 +26,9 @@
26
26
  width: 44px;
27
27
  height: 44px;
28
28
  border-radius: 50%;
29
- border: 1px solid rgba(255, 255, 255, 0.15);
30
- background: rgba(15, 23, 42, 0.75);
31
- color: #fff;
29
+ border: 1px solid var(--tm-border-subtle);
30
+ background: var(--tm-dark-surface);
31
+ color: var(--tm-text);
32
32
  display: flex;
33
33
  align-items: center;
34
34
  justify-content: center;
@@ -77,8 +77,8 @@
77
77
 
78
78
  /* Event Card */
79
79
  .events-view-event-card {
80
- background: rgba(255, 255, 255, 0.05);
81
- border: 1px solid rgba(255, 255, 255, 0.1);
80
+ background: var(--tm-surface);
81
+ border: 1px solid var(--tm-border);
82
82
  border-radius: 12px;
83
83
  padding: 1.5rem;
84
84
  backdrop-filter: blur(10px);
@@ -87,8 +87,8 @@
87
87
  }
88
88
 
89
89
  .events-view-event-card:hover {
90
- background: rgba(255, 255, 255, 0.08);
91
- border-color: rgba(100, 150, 255, 0.3);
90
+ background: var(--tm-surface-hover);
91
+ border-color: var(--tm-accent-border);
92
92
  transform: translateY(-2px);
93
93
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
94
94
  }
@@ -97,20 +97,20 @@
97
97
  .events-view-event-header {
98
98
  margin-bottom: 1rem;
99
99
  padding-bottom: 1rem;
100
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
100
+ border-bottom: 1px solid var(--tm-border);
101
101
  }
102
102
 
103
103
  .events-view-event-name {
104
104
  font-size: 1.25rem;
105
105
  font-weight: 600;
106
- color: #fff;
106
+ color: var(--tm-text);
107
107
  margin: 0 0 0.5rem 0;
108
108
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
109
109
  }
110
110
 
111
111
  .events-view-event-timestamp {
112
112
  font-size: 0.875rem;
113
- color: rgba(255, 255, 255, 0.6);
113
+ color: var(--tm-text-muted);
114
114
  font-family: -apple-system, BlinkMacSystemFont, 'SF Mono', monospace;
115
115
  }
116
116
 
@@ -135,8 +135,8 @@
135
135
  justify-content: center;
136
136
  width: 2.5rem;
137
137
  height: 2.5rem;
138
- background: linear-gradient(135deg, rgba(100, 150, 255, 0.2), rgba(100, 150, 255, 0.1));
139
- border: 2px solid rgba(100, 150, 255, 0.5);
138
+ background: linear-gradient(135deg, var(--tm-accent-bg), rgba(100, 150, 255, 0.1));
139
+ border: 2px solid var(--tm-accent-border);
140
140
  border-radius: 50%;
141
141
  position: relative;
142
142
  backdrop-filter: blur(5px);
@@ -144,22 +144,22 @@
144
144
  }
145
145
 
146
146
  .events-view-marker:hover {
147
- background: linear-gradient(135deg, rgba(100, 150, 255, 0.4), rgba(100, 150, 255, 0.2));
148
- border-color: rgba(100, 150, 255, 0.8);
147
+ background: linear-gradient(135deg, var(--tm-accent-bg-hover), var(--tm-accent-bg));
148
+ border-color: var(--tm-accent-border-hover);
149
149
  transform: scale(1.1);
150
150
  }
151
151
 
152
152
  .events-view-marker-dot {
153
153
  width: 0.75rem;
154
154
  height: 0.75rem;
155
- background: rgba(100, 150, 255, 0.9);
155
+ background: var(--tm-accent);
156
156
  border-radius: 50%;
157
- box-shadow: 0 0 10px rgba(100, 150, 255, 0.5);
157
+ box-shadow: 0 0 10px var(--tm-accent-glow);
158
158
  }
159
159
 
160
160
  /* PrimeReact Timeline connector styling */
161
161
  .events-view-timeline .p-timeline-event-connector {
162
- background: linear-gradient(to bottom, rgba(100, 150, 255, 0.6), rgba(100, 150, 255, 0.4));
162
+ background: linear-gradient(to bottom, var(--tm-accent-border), var(--tm-accent-bg));
163
163
  }
164
164
 
165
165
  .events-view-timeline .p-timeline-event:last-child .p-timeline-event-connector {
@@ -0,0 +1,57 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+
4
+ .tm-properties-table {
5
+ width: 100%;
6
+ border-collapse: collapse;
7
+ font-family: -apple-system, BlinkMacSystemFont, 'SF Mono', monospace;
8
+ font-size: 13px;
9
+ }
10
+
11
+ .tm-properties-row {
12
+ border-bottom: 1px solid var(--tm-border, rgba(255, 255, 255, 0.1));
13
+ }
14
+
15
+ .tm-properties-label {
16
+ padding: 8px 12px;
17
+ color: var(--tm-text-muted, rgba(255, 255, 255, 0.6));
18
+ font-weight: 500;
19
+ width: 40%;
20
+ }
21
+
22
+ .tm-properties-label--right {
23
+ text-align: right;
24
+ }
25
+
26
+ .tm-properties-value {
27
+ padding: 8px 12px;
28
+ color: var(--tm-text, rgba(255, 255, 255, 0.9));
29
+ }
30
+
31
+ .tm-properties-value--right {
32
+ text-align: right;
33
+ }
34
+
35
+ .tm-properties-null {
36
+ color: var(--tm-text-faint, rgba(255, 255, 255, 0.4));
37
+ }
38
+
39
+ .tm-properties-boolean-true {
40
+ color: #4ade80;
41
+ }
42
+
43
+ .tm-properties-boolean-false {
44
+ color: #f87171;
45
+ }
46
+
47
+ .tm-properties-number {
48
+ color: #fbbf24;
49
+ }
50
+
51
+ .tm-properties-date {
52
+ color: #60a5fa;
53
+ }
54
+
55
+ .tm-properties-complex {
56
+ color: var(--tm-text-dim, rgba(255, 255, 255, 0.7));
57
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './Properties.css';
2
3
  interface PropertiesProps {
3
4
  data: Record<string, unknown>;
4
5
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Properties.d.ts","sourceRoot":"","sources":["../../../TimeMachine/Properties.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4EhD,CAAC"}
1
+ {"version":3,"file":"Properties.d.ts","sourceRoot":"","sources":["../../../TimeMachine/Properties.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqDhD,CAAC"}
@@ -1,50 +1,31 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { formatPropertyName } from './propertiesHelpers.js';
3
+ import './Properties.css';
3
4
 
4
5
  const Properties = ({ data, className, align = 'left' }) => {
5
- const tableStyle = {
6
- width: '100%',
7
- borderCollapse: 'collapse',
8
- fontFamily: '-apple-system, BlinkMacSystemFont, "SF Mono", monospace',
9
- fontSize: '13px',
10
- };
11
- const rowStyle = {
12
- borderBottom: '1px solid rgba(255,255,255,0.1)',
13
- };
14
- const labelStyle = {
15
- padding: '8px 12px',
16
- color: 'rgba(255,255,255,0.6)',
17
- textAlign: align,
18
- fontWeight: 500,
19
- width: '40%',
20
- };
21
- const valueStyle = {
22
- padding: '8px 12px',
23
- color: '#fff',
24
- textAlign: align,
25
- };
6
+ const isRight = align === 'right';
26
7
  const renderValue = (value) => {
27
8
  if (value === null || value === undefined) {
28
- return jsx("span", { style: { color: 'rgba(255,255,255,0.4)' }, children: "null" });
9
+ return jsx("span", { className: "tm-properties-null", children: "null" });
29
10
  }
30
11
  if (typeof value === 'boolean') {
31
- return jsx("span", { style: { color: value ? '#4ade80' : '#f87171' }, children: value.toString() });
12
+ return jsx("span", { className: value ? 'tm-properties-boolean-true' : 'tm-properties-boolean-false', children: value.toString() });
32
13
  }
33
14
  if (typeof value === 'number') {
34
- return jsx("span", { style: { color: '#fbbf24' }, children: value });
15
+ return jsx("span", { className: "tm-properties-number", children: value });
35
16
  }
36
17
  if (value instanceof Date) {
37
- return jsx("span", { style: { color: '#60a5fa' }, children: value.toLocaleString() });
18
+ return jsx("span", { className: "tm-properties-date", children: value.toLocaleString() });
38
19
  }
39
20
  if (Array.isArray(value)) {
40
- return (jsxs("span", { style: { color: 'rgba(255,255,255,0.7)' }, children: ["Array[", value.length, "]"] }));
21
+ return (jsxs("span", { className: "tm-properties-complex", children: ["Array[", value.length, "]"] }));
41
22
  }
42
23
  if (typeof value === 'object') {
43
- return (jsxs("span", { style: { color: 'rgba(255,255,255,0.7)' }, children: ['{', "...", '}'] }));
24
+ return (jsxs("span", { className: "tm-properties-complex", children: ['{', "...", '}'] }));
44
25
  }
45
26
  return jsx("span", { children: String(value) });
46
27
  };
47
- return (jsx("div", { className: className, children: jsx("table", { style: tableStyle, children: jsx("tbody", { children: data && Object.entries(data).map(([key, value], index) => (jsxs("tr", { style: rowStyle, children: [jsx("td", { style: labelStyle, children: formatPropertyName(key) }), jsx("td", { style: valueStyle, children: renderValue(value) })] }, `${key}-${index}`))) }) }) }));
28
+ return (jsx("div", { className: className, children: jsx("table", { className: "tm-properties-table", children: jsx("tbody", { children: data && Object.entries(data).map(([key, value], index) => (jsxs("tr", { className: "tm-properties-row", children: [jsx("td", { className: `tm-properties-label${isRight ? ' tm-properties-label--right' : ''}`, children: formatPropertyName(key) }), jsx("td", { className: `tm-properties-value${isRight ? ' tm-properties-value--right' : ''}`, children: renderValue(value) })] }, `${key}-${index}`))) }) }) }));
48
29
  };
49
30
 
50
31
  export { Properties };
@@ -1 +1 @@
1
- {"version":3,"file":"Properties.js","sources":["../../../TimeMachine/Properties.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Properties.js","sources":["../../../TimeMachine/Properties.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;AAeO,MAAM,UAAU,GAA8B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,EAAE,KAAI;AACzF,IAAA,MAAM,OAAO,GAAG,KAAK,KAAK,OAAO;AAEjC,IAAA,MAAM,WAAW,GAAG,CAAC,KAAc,KAAqB;QACpD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,OAAOA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,qBAAY;QAC3D;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC5B,YAAA,OAAOA,cAAM,SAAS,EAAE,KAAK,GAAG,4BAA4B,GAAG,6BAA6B,EAAA,QAAA,EAAG,KAAK,CAAC,QAAQ,EAAE,GAAQ;QAC3H;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,OAAOA,cAAM,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAE,KAAK,GAAQ;QAChE;AAEA,QAAA,IAAI,KAAK,YAAY,IAAI,EAAE;YACvB,OAAOA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAE,KAAK,CAAC,cAAc,EAAE,EAAA,CAAQ;QAC/E;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtB,QACIC,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CAAA,QAAA,EAC5B,KAAK,CAAC,MAAM,EAAA,GAAA,CAAA,EAAA,CAChB;QAEf;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,QACIA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CAClC,GAAG,EAAA,KAAA,EAAK,GAAG,CAAA,EAAA,CACT;QAEf;AAEA,QAAA,OAAOD,wBAAO,MAAM,CAAC,KAAK,CAAC,GAAQ;AACvC,IAAA,CAAC;IAED,QACIA,aAAK,SAAS,EAAE,SAAS,EAAA,QAAA,EACrBA,GAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAC,qBAAqB,YAClCA,GAAA,CAAA,OAAA,EAAA,EAAA,QAAA,EACK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,MAClDC,IAAA,CAAA,IAAA,EAAA,EAA4B,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CACrDD,YAAI,SAAS,EAAE,CAAA,mBAAA,EAAsB,OAAO,GAAG,6BAA6B,GAAG,EAAE,EAAE,EAAA,QAAA,EAAG,kBAAkB,CAAC,GAAG,CAAC,GAAM,EACnHA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAE,CAAA,mBAAA,EAAsB,OAAO,GAAG,6BAA6B,GAAG,EAAE,EAAE,EAAA,QAAA,EAAG,WAAW,CAAC,KAAK,CAAC,GAAM,CAAA,EAAA,EAFzG,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,KAAK,EAAE,CAGrB,CACR,CAAC,EAAA,CACE,EAAA,CACJ,EAAA,CACN;AAEd;;;;"}
@@ -1,10 +1,30 @@
1
1
  /* Time Machine Container */
2
2
  .time-machine {
3
+ /* Color tokens — intentional dark space theme. Override to customize. */
4
+ --tm-bg-deep: #0a0a1a;
5
+ --tm-bg-deepest: #000005;
6
+ --tm-text: rgba(255, 255, 255, 0.9);
7
+ --tm-text-muted: rgba(255, 255, 255, 0.6);
8
+ --tm-text-dim: rgba(255, 255, 255, 0.7);
9
+ --tm-text-faint: rgba(255, 255, 255, 0.4);
10
+ --tm-surface: rgba(255, 255, 255, 0.05);
11
+ --tm-surface-hover: rgba(255, 255, 255, 0.08);
12
+ --tm-surface-active: rgba(255, 255, 255, 0.1);
13
+ --tm-border: rgba(255, 255, 255, 0.1);
14
+ --tm-border-subtle: rgba(255, 255, 255, 0.15);
15
+ --tm-accent: rgba(100, 150, 255, 1);
16
+ --tm-accent-bg: rgba(100, 150, 255, 0.2);
17
+ --tm-accent-bg-hover: rgba(100, 150, 255, 0.4);
18
+ --tm-accent-border: rgba(100, 150, 255, 0.3);
19
+ --tm-accent-border-hover: rgba(100, 150, 255, 0.8);
20
+ --tm-accent-glow: rgba(100, 150, 255, 0.3);
21
+ --tm-dark-surface: rgba(15, 23, 42, 0.75);
22
+
3
23
  position: relative;
4
24
  width: 100%;
5
25
  height: 100vh;
6
26
  overflow: hidden;
7
- background: radial-gradient(ellipse at center, #0a0a1a 0%, #000005 100%);
27
+ background: radial-gradient(ellipse at center, var(--tm-bg-deep) 0%, var(--tm-bg-deepest) 100%);
8
28
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
9
29
  }
10
30
 
@@ -16,11 +36,11 @@
16
36
  transform: translateX(-50%);
17
37
  display: flex;
18
38
  gap: 8px;
19
- background: rgba(255, 255, 255, 0.05);
39
+ background: var(--tm-surface);
20
40
  padding: 6px;
21
41
  border-radius: 12px;
22
42
  backdrop-filter: blur(10px);
23
- border: 1px solid rgba(255, 255, 255, 0.1);
43
+ border: 1px solid var(--tm-border);
24
44
  z-index: 100;
25
45
  }
26
46
 
@@ -30,7 +50,7 @@
30
50
  border: none;
31
51
  border-radius: 8px;
32
52
  background: transparent;
33
- color: rgba(255, 255, 255, 0.6);
53
+ color: var(--tm-text-muted);
34
54
  font-size: 20px;
35
55
  cursor: pointer;
36
56
  display: flex;
@@ -40,14 +60,14 @@
40
60
  }
41
61
 
42
62
  .view-button:hover {
43
- background: rgba(255, 255, 255, 0.1);
44
- color: rgba(255, 255, 255, 0.9);
63
+ background: var(--tm-surface-active);
64
+ color: var(--tm-text);
45
65
  }
46
66
 
47
67
  .view-button.active {
48
- background: rgba(100, 150, 255, 0.2);
49
- color: rgba(100, 150, 255, 1);
50
- box-shadow: 0 0 15px rgba(100, 150, 255, 0.3);
68
+ background: var(--tm-accent-bg);
69
+ color: var(--tm-accent);
70
+ box-shadow: 0 0 15px var(--tm-accent-glow);
51
71
  }
52
72
 
53
73
  .view-button i {
@@ -323,9 +343,9 @@
323
343
  width: 28px;
324
344
  height: 28px;
325
345
  border-radius: 6px;
326
- border: 1px solid rgba(255, 255, 255, 0.15);
346
+ border: 1px solid var(--tm-border-subtle);
327
347
  background: linear-gradient(180deg, rgba(120, 130, 220, 0.25) 0%, rgba(60, 70, 140, 0.25) 100%);
328
- color: #fff;
348
+ color: var(--tm-text);
329
349
  cursor: pointer;
330
350
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
331
351
  }
@@ -375,8 +395,8 @@
375
395
  }
376
396
 
377
397
  .snapshot-event {
378
- background: rgba(255, 255, 255, 0.05);
379
- border: 1px solid rgba(255, 255, 255, 0.1);
398
+ background: var(--tm-surface);
399
+ border: 1px solid var(--tm-border);
380
400
  border-radius: 10px;
381
401
  padding: 1rem 1.25rem;
382
402
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
@@ -398,7 +418,7 @@
398
418
 
399
419
  .snapshot-event-timestamp {
400
420
  font-size: 0.75rem;
401
- color: rgba(255, 255, 255, 0.65);
421
+ color: var(--tm-text-muted);
402
422
  font-family: -apple-system, BlinkMacSystemFont, 'SF Mono', monospace;
403
423
  }
404
424
 
@@ -441,7 +461,7 @@
441
461
  .timeline-tick {
442
462
  width: calc(20px * var(--magnification, 1));
443
463
  height: calc(2px * var(--magnification, 1));
444
- background: rgba(255, 255, 255, 0.4);
464
+ background: var(--tm-text-faint);
445
465
  border-radius: 1px;
446
466
  transition:
447
467
  width 0.15s ease,
@@ -455,8 +475,8 @@
455
475
  }
456
476
 
457
477
  .timeline-entry.hovered .timeline-tick {
458
- background: rgba(255, 255, 255, 0.9);
459
- box-shadow: 0 0 6px rgba(255, 255, 255, 0.4);
478
+ background: var(--tm-text);
479
+ box-shadow: 0 0 6px var(--tm-surface-active);
460
480
  }
461
481
 
462
482
  .timeline-label {
@@ -487,7 +507,7 @@
487
507
 
488
508
  .timeline-time {
489
509
  font-size: 10px;
490
- color: rgba(255, 255, 255, 0.7);
510
+ color: var(--tm-text-dim);
491
511
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
492
512
  }
493
513
 
@@ -20,8 +20,7 @@ export declare const FolderGridVsList: Story;
20
20
  export declare const WithSlotInGroup: Story;
21
21
  export declare const WithSlotInContext: Story;
22
22
  export declare const WithMultipleSlotContributors: Story;
23
- export declare const LayoutWithDefaultContent: Story;
24
- export declare const LayoutWithInjectedContent: Story;
25
- export declare const LayoutWithMultipleContributors: Story;
26
- export declare const LayoutWithContextSensitiveContent: Story;
23
+ export declare const LayoutForEditorModules: Story;
24
+ export declare const LayoutWithSmoothEditorTransitions: Story;
25
+ export declare const LayoutWithGlobalAndEditorRegions: Story;
27
26
  //# sourceMappingURL=Toolbar.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAM9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAgCtC,eAAO,MAAM,kBAAkB,EAAE,KAyChC,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,KAqC9B,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAoD1B,CAAC;AASF,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAC;AAQF,eAAO,MAAM,UAAU,EAAE,KA+CxB,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,KAUjC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,KAYnC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,KAYrC,CAAC;AAWF,eAAO,MAAM,WAAW,EAAE,KAgDzB,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC;AAWF,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,KA+B9B,CAAC;AAeF,eAAO,MAAM,eAAe,EAAE,KA+D7B,CAAC;AAUF,eAAO,MAAM,iBAAiB,EAAE,KA6E/B,CAAC;AAMF,eAAO,MAAM,4BAA4B,EAAE,KAsC1C,CAAC;AAUE,eAAO,MAAM,wBAAwB,EAAE,KAatC,CAAC;AAQF,eAAO,MAAM,yBAAyB,EAAE,KAkEvC,CAAC;AAQF,eAAO,MAAM,8BAA8B,EAAE,KAkF5C,CAAC;AAQF,eAAO,MAAM,iCAAiC,EAAE,KAyF/C,CAAC"}
1
+ {"version":3,"file":"Toolbar.stories.d.ts","sourceRoot":"","sources":["../../../Toolbar/Toolbar.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAM9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAgCtC,eAAO,MAAM,kBAAkB,EAAE,KAyChC,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,KAqC9B,CAAC;AASF,eAAO,MAAM,YAAY,EAAE,KAoD1B,CAAC;AASF,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAC;AAQF,eAAO,MAAM,UAAU,EAAE,KA+CxB,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,KAUjC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,KAYnC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,KAYrC,CAAC;AAWF,eAAO,MAAM,WAAW,EAAE,KAgDzB,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC;AAWF,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,KA+B9B,CAAC;AAeF,eAAO,MAAM,eAAe,EAAE,KA+D7B,CAAC;AAUF,eAAO,MAAM,iBAAiB,EAAE,KA6E/B,CAAC;AAMF,eAAO,MAAM,4BAA4B,EAAE,KAsC1C,CAAC;AASF,eAAO,MAAM,sBAAsB,EAAE,KAmFpC,CAAC;AASF,eAAO,MAAM,iCAAiC,EAAE,KA8F/C,CAAC;AAMF,eAAO,MAAM,gCAAgC,EAAE,KAiF9C,CAAC"}
@@ -185,51 +185,56 @@ export const WithMultipleSlotContributors = {
185
185
  return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex gap-6 items-start', children: [_jsx(Toolbar, { children: _jsx(ToolbarGroup, { slotName: 'shared', children: _jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Draw (always first)' }) }) }), _jsxs("div", { className: 'flex flex-col gap-1 p-4 rounded-lg border text-sm', style: { borderColor: 'var(--surface-border)', background: 'var(--surface-ground)', color: 'var(--text-color-secondary)' }, children: [_jsx("strong", { style: { color: 'var(--text-color)' }, children: "Three independent contributors" }), _jsx("p", { children: "Rendered order: B (5) \u2192 A (10) \u2192 C (20)" }), _jsx(ButtonA, {}), _jsx(ButtonB, {}), _jsx(ButtonC, {})] })] }) }));
186
186
  },
187
187
  };
188
- export const LayoutWithDefaultContent = {
189
- render: () => (_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', title: 'Select' }), _jsx(ToolbarLayout, { name: 'feature-tools', children: _jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Draw (default)' }), _jsx(ToolbarButton, { icon: 'pi pi-stop', title: 'Rectangle (default)' })] }) }), _jsx(ToolbarButton, { icon: 'pi pi-undo', title: 'Undo' })] })),
190
- };
191
- export const LayoutWithInjectedContent = {
188
+ export const LayoutForEditorModules = {
192
189
  render: () => {
193
- const LayoutWithInjectedContentDemo = () => {
194
- const [featureMounted, setFeatureMounted] = useState(true);
195
- const featureContent = useMemo(() => (_jsxs(_Fragment, { children: [_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-star', title: 'Favorite' }), _jsx(ToolbarButton, { icon: 'pi pi-heart', title: 'Like' })] }), _jsx(ToolbarSeparator, {}), _jsx(ToolbarGroup, { children: _jsx(ToolbarButton, { icon: 'pi pi-bolt', title: 'Quick action' }) })] })), []);
196
- return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', title: 'Select', tooltipPosition: 'bottom' }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarLayout, { name: 'feature-tools', orientation: 'horizontal', children: _jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Draw (default)', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-stop', title: 'Rectangle (default)', tooltipPosition: 'bottom' })] }) }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarButton, { icon: 'pi pi-undo', title: 'Undo', tooltipPosition: 'bottom' })] }), featureMounted && (_jsx(ToolbarSlot, { slotName: 'feature-tools', order: 0, children: featureContent })), _jsxs("div", { className: 'flex flex-col items-center gap-2', children: [_jsx("span", { className: 'text-xs', style: { color: 'var(--text-color-secondary)' }, children: "Feature mounted" }), _jsx("button", { type: 'button', onClick: () => setFeatureMounted(m => !m), className: `px-3 py-1 rounded text-sm transition-colors ${featureMounted
197
- ? 'bg-blue-600 text-white'
198
- : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: featureMounted ? 'Unmount feature' : 'Mount feature' })] })] }) }));
190
+ const LayoutForEditorModulesDemo = () => {
191
+ const [assetToolsEnabled, setAssetToolsEnabled] = useState(true);
192
+ const [reviewToolsEnabled, setReviewToolsEnabled] = useState(true);
193
+ const assetTools = useMemo(() => (_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-image', title: 'Asset Browser' }), _jsx(ToolbarButton, { icon: 'pi pi-upload', title: 'Upload Asset' })] })), []);
194
+ const reviewTools = useMemo(() => (_jsxs(_Fragment, { children: [_jsx(ToolbarSeparator, {}), _jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-comment', title: 'Comments' }), _jsx(ToolbarButton, { icon: 'pi pi-check-square', title: 'Approval Checks' })] })] })), []);
195
+ return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-file-edit', title: 'Open Editor', tooltipPosition: 'bottom' }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarLayout, { name: 'editor-modules', orientation: 'horizontal', children: _jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-save', title: 'Save', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-refresh', title: 'Reload', tooltipPosition: 'bottom' })] }) }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarButton, { icon: 'pi pi-cog', title: 'Settings', tooltipPosition: 'bottom' })] }), assetToolsEnabled && (_jsx(ToolbarSlot, { slotName: 'editor-modules', order: 10, children: assetTools })), reviewToolsEnabled && (_jsx(ToolbarSlot, { slotName: 'editor-modules', order: 20, children: reviewTools })), _jsx("div", { className: 'flex gap-6', children: [
196
+ { label: 'Asset tools', enabled: assetToolsEnabled, toggle: () => setAssetToolsEnabled(v => !v) },
197
+ { label: 'Review tools', enabled: reviewToolsEnabled, toggle: () => setReviewToolsEnabled(v => !v) },
198
+ ].map(({ label, enabled, toggle }) => (_jsxs("div", { className: 'flex flex-col items-center gap-2', children: [_jsx("span", { className: 'text-xs', style: { color: 'var(--text-color-secondary)' }, children: label }), _jsx("button", { type: 'button', onClick: toggle, className: `px-3 py-1 rounded text-sm transition-colors ${enabled ? 'bg-blue-600 text-white' : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: enabled ? 'Disable' : 'Enable' })] }, label))) })] }) }));
199
199
  };
200
- return _jsx(LayoutWithInjectedContentDemo, {});
200
+ return _jsx(LayoutForEditorModulesDemo, {});
201
201
  },
202
202
  };
203
- export const LayoutWithMultipleContributors = {
203
+ export const LayoutWithSmoothEditorTransitions = {
204
204
  render: () => {
205
- const LayoutWithMultipleContributorsDemo = () => {
206
- const [featureAMounted, setFeatureAMounted] = useState(true);
207
- const [featureBMounted, setFeatureBMounted] = useState(true);
208
- const featureAContent = useMemo(() => (_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-star', title: 'Feature A \u2014 Favorite (order 10)' }), _jsx(ToolbarButton, { icon: 'pi pi-heart', title: 'Feature A \u2014 Like (order 10)' })] })), []);
209
- const featureBContent = useMemo(() => (_jsxs(_Fragment, { children: [_jsx(ToolbarSeparator, {}), _jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-bolt', title: 'Feature B \u2014 Quick action (order 20)' }), _jsx(ToolbarButton, { icon: 'pi pi-cog', title: 'Feature B \u2014 Settings (order 20)' })] })] })), []);
210
- return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', title: 'Select' }), _jsx(ToolbarLayout, { name: 'shared-region', children: _jsx(ToolbarGroup, { children: _jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Draw (default)' }) }) }), _jsx(ToolbarButton, { icon: 'pi pi-undo', title: 'Undo' })] }), featureAMounted && (_jsx(ToolbarSlot, { slotName: 'shared-region', order: 10, children: featureAContent })), featureBMounted && (_jsx(ToolbarSlot, { slotName: 'shared-region', order: 20, children: featureBContent })), _jsx("div", { className: 'flex gap-6', children: [
211
- { label: 'Feature A', mounted: featureAMounted, toggle: () => setFeatureAMounted(m => !m) },
212
- { label: 'Feature B', mounted: featureBMounted, toggle: () => setFeatureBMounted(m => !m) },
213
- ].map(({ label, mounted, toggle }) => (_jsxs("div", { className: 'flex flex-col items-center gap-2', children: [_jsx("span", { className: 'text-xs', style: { color: 'var(--text-color-secondary)' }, children: label }), _jsx("button", { type: 'button', onClick: toggle, className: `px-3 py-1 rounded text-sm transition-colors ${mounted
205
+ const LayoutWithSmoothEditorTransitionsDemo = () => {
206
+ const [activeEditor, setActiveEditor] = useState('canvas');
207
+ const canvasTools = useMemo(() => (_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Draw', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-stop', title: 'Rectangle', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-circle', title: 'Circle', tooltipPosition: 'bottom' })] })), []);
208
+ const textTools = useMemo(() => (_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-align-left', title: 'Align Left', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-bold', title: 'Bold', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-underline', title: 'Underline', tooltipPosition: 'bottom' })] })), []);
209
+ const schemaTools = useMemo(() => (_jsxs(_Fragment, { children: [_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-table', title: 'Add Table', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-link', title: 'Relationship', tooltipPosition: 'bottom' })] }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarGroup, { orientation: 'horizontal', children: _jsx(ToolbarButton, { icon: 'pi pi-check-square', title: 'Validate Schema', tooltipPosition: 'bottom' }) })] })), []);
210
+ const editorTools = {
211
+ canvas: canvasTools,
212
+ text: textTools,
213
+ schema: schemaTools,
214
+ };
215
+ return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-home', title: 'Workspace Home', tooltipPosition: 'bottom' }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarLayout, { name: 'active-editor-tools', orientation: 'horizontal', children: _jsx(ToolbarGroup, { orientation: 'horizontal', children: _jsx(ToolbarButton, { icon: 'pi pi-folder-open', title: 'Open', tooltipPosition: 'bottom' }) }) }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarButton, { icon: 'pi pi-history', title: 'History', tooltipPosition: 'bottom' })] }), _jsx(ToolbarSlot, { slotName: 'active-editor-tools', order: 0, children: editorTools[activeEditor] }), _jsxs("div", { className: 'flex flex-col items-center gap-3', children: [_jsx("span", { className: 'text-xs', style: { color: 'var(--text-color-secondary)' }, children: "Active editor" }), _jsx("div", { className: 'flex gap-2', children: ['canvas', 'text', 'schema'].map(editor => (_jsx("button", { type: 'button', onClick: () => setActiveEditor(editor), className: `px-3 py-1 rounded text-sm capitalize transition-colors ${activeEditor === editor
214
216
  ? 'bg-blue-600 text-white'
215
- : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: mounted ? 'Unmount' : 'Mount' })] }, label))) })] }) }));
217
+ : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: editor }, editor))) })] })] }) }));
216
218
  };
217
- return _jsx(LayoutWithMultipleContributorsDemo, {});
219
+ return _jsx(LayoutWithSmoothEditorTransitionsDemo, {});
218
220
  },
219
221
  };
220
- export const LayoutWithContextSensitiveContent = {
222
+ export const LayoutWithGlobalAndEditorRegions = {
221
223
  render: () => {
222
- const LayoutWithContextSensitiveContentDemo = () => {
223
- const [activeMode, setActiveMode] = useState('draw');
224
- const drawContent = useMemo(() => (_jsxs(_Fragment, { children: [_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-pencil', title: 'Freehand' }), _jsx(ToolbarButton, { icon: 'pi pi-minus', title: 'Line' })] }), _jsx(ToolbarSeparator, {}), _jsx(ToolbarGroup, { children: _jsx(ToolbarButton, { icon: 'pi pi-eraser', title: 'Erase' }) })] })), []);
225
- const textContent = useMemo(() => (_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-align-left', title: 'Align left' }), _jsx(ToolbarButton, { icon: 'pi pi-align-center', title: 'Center' }), _jsx(ToolbarButton, { icon: 'pi pi-align-right', title: 'Align right' })] })), []);
226
- const shapeContent = useMemo(() => (_jsxs(_Fragment, { children: [_jsxs(ToolbarGroup, { children: [_jsx(ToolbarButton, { icon: 'pi pi-stop', title: 'Rectangle' }), _jsx(ToolbarButton, { icon: 'pi pi-circle', title: 'Circle' })] }), _jsx(ToolbarSeparator, {}), _jsx(ToolbarGroup, { children: _jsx(ToolbarButton, { icon: 'pi pi-clone', title: 'Duplicate' }) })] })), []);
227
- const modeContent = { draw: drawContent, text: textContent, shape: shapeContent };
228
- return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { children: [_jsx(ToolbarButton, { icon: 'pi pi-arrow-up-left', title: 'Select' }), _jsx(ToolbarLayout, { name: 'mode-tools' }), _jsx(ToolbarButton, { icon: 'pi pi-undo', title: 'Undo' })] }), _jsx(ToolbarSlot, { slotName: 'mode-tools', order: 0, children: modeContent[activeMode] }), _jsxs("div", { className: 'flex flex-col items-center gap-2', children: [_jsx("span", { className: 'text-xs', style: { color: 'var(--text-color-secondary)' }, children: "Active mode" }), _jsx("div", { className: 'flex gap-2', children: ['draw', 'text', 'shape'].map(mode => (_jsx("button", { type: 'button', onClick: () => setActiveMode(mode), className: `px-3 py-1 rounded text-sm capitalize transition-colors ${activeMode === mode
229
- ? 'bg-blue-600 text-white'
230
- : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: mode }, mode))) })] })] }) }));
224
+ const LayoutWithGlobalAndEditorRegionsDemo = () => {
225
+ const [activeEditor, setActiveEditor] = useState('page');
226
+ const globalActions = useMemo(() => (_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-save', title: 'Save Workspace', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-share-alt', title: 'Share', tooltipPosition: 'bottom' })] })), []);
227
+ const pageEditorTools = useMemo(() => (_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-clone', title: 'Duplicate Block', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-palette', title: 'Theme', tooltipPosition: 'bottom' })] })), []);
228
+ const workflowEditorTools = useMemo(() => (_jsxs(ToolbarGroup, { orientation: 'horizontal', children: [_jsx(ToolbarButton, { icon: 'pi pi-sitemap', title: 'Add Node', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-play', title: 'Run Flow', tooltipPosition: 'bottom' }), _jsx(ToolbarButton, { icon: 'pi pi-stopwatch', title: 'Debug Step', tooltipPosition: 'bottom' })] })), []);
229
+ const editorRegionTools = {
230
+ page: pageEditorTools,
231
+ workflow: workflowEditorTools,
232
+ };
233
+ return (_jsx(ToolbarSlotProvider, { children: _jsxs("div", { className: 'flex flex-col items-center gap-6', children: [_jsxs(Toolbar, { orientation: 'horizontal', children: [_jsx(ToolbarLayout, { name: 'global-region', orientation: 'horizontal' }), _jsx(ToolbarSeparator, { orientation: 'horizontal' }), _jsx(ToolbarLayout, { name: 'editor-region', orientation: 'horizontal' })] }), _jsx(ToolbarSlot, { slotName: 'global-region', order: 0, children: globalActions }), _jsx(ToolbarSlot, { slotName: 'editor-region', order: 0, children: editorRegionTools[activeEditor] }), _jsx("div", { className: 'flex gap-2', children: ['page', 'workflow'].map(editor => (_jsxs("button", { type: 'button', onClick: () => setActiveEditor(editor), className: `px-3 py-1 rounded text-sm capitalize transition-colors ${activeEditor === editor
234
+ ? 'bg-blue-600 text-white'
235
+ : 'bg-gray-600 text-gray-200 hover:bg-gray-500'}`, children: [editor, " editor"] }, editor))) })] }) }));
231
236
  };
232
- return _jsx(LayoutWithContextSensitiveContentDemo, {});
237
+ return _jsx(LayoutWithGlobalAndEditorRegionsDemo, {});
233
238
  },
234
239
  };
235
240
  //# sourceMappingURL=Toolbar.stories.js.map