@cratis/components 0.1.18 → 0.1.19

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 (103) hide show
  1. package/README.md +83 -0
  2. package/dist/cjs/Common/ErrorBoundary.js +26 -0
  3. package/dist/cjs/Common/ErrorBoundary.js.map +1 -0
  4. package/dist/cjs/Common/FormElement.js +10 -0
  5. package/dist/cjs/Common/FormElement.js.map +1 -0
  6. package/dist/cjs/Common/index.js +12 -0
  7. package/dist/cjs/Common/index.js.map +1 -0
  8. package/dist/cjs/EventModeling/EventModeling.css +146 -0
  9. package/dist/cjs/EventModeling/EventModeling.js +209 -0
  10. package/dist/cjs/EventModeling/EventModeling.js.map +1 -0
  11. package/dist/cjs/EventModeling/components/Canvas.js +403 -0
  12. package/dist/cjs/EventModeling/components/Canvas.js.map +1 -0
  13. package/dist/cjs/EventModeling/components/CanvasControls.js +10 -0
  14. package/dist/cjs/EventModeling/components/CanvasControls.js.map +1 -0
  15. package/dist/cjs/EventModeling/components/Toolbox.js +18 -0
  16. package/dist/cjs/EventModeling/components/Toolbox.js.map +1 -0
  17. package/dist/cjs/EventModeling/engine/connectorGraphics.js +173 -0
  18. package/dist/cjs/EventModeling/engine/connectorGraphics.js.map +1 -0
  19. package/dist/cjs/EventModeling/engine/elementSprites.js +301 -0
  20. package/dist/cjs/EventModeling/engine/elementSprites.js.map +1 -0
  21. package/dist/cjs/EventModeling/index.js +12 -0
  22. package/dist/cjs/EventModeling/index.js.map +1 -0
  23. package/dist/cjs/EventModeling/types.js +60 -0
  24. package/dist/cjs/EventModeling/types.js.map +1 -0
  25. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +1 -1
  26. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +1 -1
  27. package/dist/cjs/PivotViewer/components/pivot/groups.js +15 -15
  28. package/dist/cjs/PivotViewer/components/pivot/groups.js.map +1 -1
  29. package/dist/cjs/PivotViewer/components/pivot/sprites.js +2 -2
  30. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +1 -1
  31. package/dist/cjs/PivotViewer/types.js.map +1 -1
  32. package/dist/cjs/TimeMachine/TimeMachine.js +0 -3
  33. package/dist/cjs/TimeMachine/TimeMachine.js.map +1 -1
  34. package/dist/cjs/index.js +16 -12
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/package.json +3 -0
  37. package/dist/esm/Common/ErrorBoundary.js +7 -4
  38. package/dist/esm/Common/ErrorBoundary.js.map +1 -1
  39. package/dist/esm/Common/FormElement.js +7 -4
  40. package/dist/esm/Common/FormElement.js.map +1 -1
  41. package/dist/esm/Common/index.js +4 -4
  42. package/dist/esm/Common/index.js.map +1 -1
  43. package/dist/esm/EventModeling/EventModeling.css +146 -0
  44. package/dist/esm/EventModeling/EventModeling.d.ts +11 -0
  45. package/dist/esm/EventModeling/EventModeling.d.ts.map +1 -0
  46. package/dist/esm/EventModeling/EventModeling.js +207 -0
  47. package/dist/esm/EventModeling/EventModeling.js.map +1 -0
  48. package/dist/esm/EventModeling/EventModeling.stories.d.ts +10 -0
  49. package/dist/esm/EventModeling/EventModeling.stories.d.ts.map +1 -0
  50. package/dist/esm/EventModeling/EventModeling.stories.js +252 -0
  51. package/dist/esm/EventModeling/EventModeling.stories.js.map +1 -0
  52. package/dist/esm/EventModeling/components/Canvas.d.ts +23 -0
  53. package/dist/esm/EventModeling/components/Canvas.d.ts.map +1 -0
  54. package/dist/esm/EventModeling/components/Canvas.js +382 -0
  55. package/dist/esm/EventModeling/components/Canvas.js.map +1 -0
  56. package/dist/esm/EventModeling/components/CanvasControls.d.ts +10 -0
  57. package/dist/esm/EventModeling/components/CanvasControls.d.ts.map +1 -0
  58. package/dist/esm/EventModeling/components/CanvasControls.js +8 -0
  59. package/dist/esm/EventModeling/components/CanvasControls.js.map +1 -0
  60. package/dist/esm/EventModeling/components/Toolbox.d.ts +9 -0
  61. package/dist/esm/EventModeling/components/Toolbox.d.ts.map +1 -0
  62. package/dist/esm/EventModeling/components/Toolbox.js +16 -0
  63. package/dist/esm/EventModeling/components/Toolbox.js.map +1 -0
  64. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts +12 -0
  65. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts.map +1 -0
  66. package/dist/esm/EventModeling/engine/connectorGraphics.js +151 -0
  67. package/dist/esm/EventModeling/engine/connectorGraphics.js.map +1 -0
  68. package/dist/esm/EventModeling/engine/elementSprites.d.ts +23 -0
  69. package/dist/esm/EventModeling/engine/elementSprites.d.ts.map +1 -0
  70. package/dist/esm/EventModeling/engine/elementSprites.js +276 -0
  71. package/dist/esm/EventModeling/engine/elementSprites.js.map +1 -0
  72. package/dist/esm/EventModeling/index.d.ts +3 -0
  73. package/dist/esm/EventModeling/index.d.ts.map +1 -0
  74. package/dist/esm/EventModeling/index.js +3 -0
  75. package/dist/esm/EventModeling/index.js.map +1 -0
  76. package/dist/esm/EventModeling/types.d.ts +79 -0
  77. package/dist/esm/EventModeling/types.d.ts.map +1 -0
  78. package/dist/esm/EventModeling/types.js +56 -0
  79. package/dist/esm/EventModeling/types.js.map +1 -0
  80. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +2 -2
  81. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -1
  82. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  83. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +2 -2
  84. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -1
  85. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  86. package/dist/esm/PivotViewer/components/pivot/groups.d.ts.map +1 -1
  87. package/dist/esm/PivotViewer/components/pivot/groups.js +2 -2
  88. package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
  89. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +4 -4
  90. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -1
  91. package/dist/esm/PivotViewer/components/pivot/sprites.js +2 -2
  92. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  93. package/dist/esm/PivotViewer/types.d.ts +2 -2
  94. package/dist/esm/PivotViewer/types.d.ts.map +1 -1
  95. package/dist/esm/PivotViewer/types.js.map +1 -1
  96. package/dist/esm/TimeMachine/TimeMachine.js +1 -1
  97. package/dist/esm/index.d.ts +5 -3
  98. package/dist/esm/index.d.ts.map +1 -1
  99. package/dist/esm/index.js +16 -12
  100. package/dist/esm/index.js.map +1 -1
  101. package/dist/esm/package.json +3 -0
  102. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +36 -78
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../PivotViewer/types.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactNode } from 'react';\n\nexport type PivotPrimitive = string | number | boolean | Date | null | undefined;\n\n/**\n * Type-safe property accessor for accessing properties, including nested ones\n */\nexport type PropertyAccessor<TItem> = (item: TItem) => unknown;\n\n/**\n * Extract property path from a property accessor function\n * Supports nested properties like item => item.address.city\n */\nexport function getPropertyPath<TItem>(accessor: PropertyAccessor<TItem>): string {\n const fnStr = accessor.toString();\n // Match patterns like: item => item.prop or item => item.prop.nested or (item) => item.prop\n const match = fnStr.match(/(?:=>|return)\\s*[a-zA-Z_$][a-zA-Z0-9_$]*\\.([a-zA-Z_$][a-zA-Z0-9_$.]*)/);\n return match ? match[1] : '';\n}\n\n/**\n * Get the value from an item using a property path string\n * Supports nested properties like \"address.city\"\n */\nexport function getValueByPath<TItem>(item: TItem, path: string): unknown {\n const parts = path.split('.');\n let value: unknown = item;\n for (const part of parts) {\n if (value === null || value === undefined) {\n return undefined;\n }\n value = value[part];\n }\n return value;\n}\n\nexport interface PivotGroup<TItem extends object> {\n key: string;\n label: string;\n value: PivotPrimitive;\n items: TItem[];\n count?: number;\n}\n\nexport interface PivotDimension<TItem extends object> {\n key: string;\n label: string;\n getValue: (item: TItem) => PivotPrimitive;\n formatValue?: (value: PivotPrimitive) => string;\n sort?: (a: PivotGroup<TItem>, b: PivotGroup<TItem>) => number;\n}\n\nexport interface PivotFilterOption {\n key: string;\n label: string;\n value: PivotPrimitive;\n count: number;\n}\n\nexport interface PivotFilter<TItem extends object> {\n key: string;\n label: string;\n getValue: (item: TItem) => PivotPrimitive;\n multi?: boolean;\n options?: PivotFilterOption[];\n sort?: (a: PivotFilterOption, b: PivotFilterOption) => number;\n /** For numeric filters, enables range picker with histogram */\n type?: 'string' | 'number' | 'date';\n /** Number of buckets for the histogram in range filters */\n buckets?: number;\n}\n\nexport interface PivotViewerProps<TItem extends object> {\n data: TItem[];\n dimensions: PivotDimension<TItem>[];\n filters?: PivotFilter<TItem>[];\n defaultDimensionKey?: string;\n /** Renderer for card content; returns structured text data for display */\n cardRenderer: (item: TItem) => { title: string; labels: string[]; values: string[] };\n /** Optional renderer for the detail content area; the drawer shell (header/close/layout) stays component-owned */\n detailRenderer?: (item: TItem, onClose: () => void) => ReactNode;\n getItemId?: (item: TItem, index: number) => string | number;\n searchFields?: PropertyAccessor<TItem>[];\n className?: string;\n emptyContent?: ReactNode;\n isLoading?: boolean;\n /**\n * Optional color overrides mapped to PrimeReact-like CSS variables.\n * If omitted, values are taken from the global theme (PrimeReact defaults).\n */\n colors?: Partial<{\n primaryColor: string;\n primaryColorText: string;\n primary500: string;\n surfaceGround: string;\n surfaceCard: string;\n surfaceSection: string;\n surfaceOverlay: string;\n surfaceBorder: string;\n textColor: string;\n textColorSecondary: string;\n highlightBg: string;\n maskbg: string;\n focusRing: string;\n }>;\n}\n\nexport type FilterState = Record<string, Set<string>>;\n\nexport type RangeFilterState = Record<string, [number, number] | null>;\n"],"names":[],"mappings":"AAgBM,SAAU,eAAe,CAAQ,QAAiC,EAAA;AACpE,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,uEAAuE,CAAC;AAClG,IAAA,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAChC;AAMM,SAAU,cAAc,CAAQ,IAAW,EAAE,IAAY,EAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,GAAY,IAAI;AACzB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,OAAO,SAAS;QACpB;AACA,QAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACvB;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../PivotViewer/types.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactNode } from 'react';\n\nexport type PivotPrimitive = string | number | boolean | Date | null | undefined;\n\n/**\n * Type-safe property accessor for accessing properties, including nested ones\n */\nexport type PropertyAccessor<TItem> = (item: TItem) => unknown;\n\n/**\n * Extract property path from a property accessor function\n * Supports nested properties like item => item.address.city\n */\nexport function getPropertyPath<TItem>(accessor: PropertyAccessor<TItem>): string {\n const fnStr = accessor.toString();\n // Match patterns like: item => item.prop or item => item.prop.nested or (item) => item.prop\n const match = fnStr.match(/(?:=>|return)\\s*[a-zA-Z_$][a-zA-Z0-9_$]*\\.([a-zA-Z_$][a-zA-Z0-9_$.]*)/);\n return match ? match[1] : '';\n}\n\n/**\n * Get the value from an item using a property path string\n * Supports nested properties like \"address.city\"\n */\nexport function getValueByPath<TItem>(item: TItem, path: string): unknown {\n const parts = path.split('.');\n let value: unknown = item;\n for (const part of parts) {\n if (value === null || value === undefined) {\n return undefined;\n }\n value = value[part];\n }\n return value;\n}\n\nexport interface PivotGroup<TItem extends object> {\n key: string;\n label: string;\n value: PivotPrimitive;\n items: TItem[];\n count?: number;\n}\n\nexport interface PivotDimension<TItem extends object> {\n key: string;\n label: string;\n getValue: (item: TItem) => PivotPrimitive;\n formatValue?: (value: PivotPrimitive) => string;\n sort?: (a: PivotGroup<TItem>, b: PivotGroup<TItem>) => number;\n}\n\nexport interface PivotFilterOption {\n key: string;\n label: string;\n value: PivotPrimitive;\n count: number;\n}\n\nexport interface PivotFilter<TItem extends object> {\n key: string;\n label: string;\n getValue: (item: TItem) => PivotPrimitive;\n multi?: boolean;\n options?: PivotFilterOption[];\n sort?: (a: PivotFilterOption, b: PivotFilterOption) => number;\n /** For numeric filters, enables range picker with histogram */\n type?: 'string' | 'number' | 'date';\n /** Number of buckets for the histogram in range filters */\n buckets?: number;\n}\n\nexport interface PivotViewerProps<TItem extends object> {\n data: TItem[];\n dimensions: PivotDimension<TItem>[];\n filters?: PivotFilter<TItem>[];\n defaultDimensionKey?: string;\n /** Renderer for card content; returns structured text data for display */\n cardRenderer: (item: TItem) => { title: string; labels?: string[]; values?: string[] };\n /** Optional renderer for the detail content area; the drawer shell (header/close/layout) stays component-owned */\n detailRenderer?: (item: TItem, onClose: () => void) => ReactNode;\n getItemId?: (item: TItem, index: number) => string | number;\n searchFields?: PropertyAccessor<TItem>[];\n className?: string;\n emptyContent?: ReactNode;\n isLoading?: boolean;\n /**\n * Optional color overrides mapped to PrimeReact-like CSS variables.\n * If omitted, values are taken from the global theme (PrimeReact defaults).\n */\n colors?: Partial<{\n primaryColor: string;\n primaryColorText: string;\n primary500: string;\n surfaceGround: string;\n surfaceCard: string;\n surfaceSection: string;\n surfaceOverlay: string;\n surfaceBorder: string;\n textColor: string;\n textColorSecondary: string;\n highlightBg: string;\n maskbg: string;\n focusRing: string;\n }>;\n}\n\nexport type FilterState = Record<string, Set<string>>;\n\nexport type RangeFilterState = Record<string, [number, number] | null>;\n"],"names":[],"mappings":"AAgBM,SAAU,eAAe,CAAQ,QAAiC,EAAA;AACpE,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,uEAAuE,CAAC;AAClG,IAAA,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAChC;AAMM,SAAU,cAAc,CAAQ,IAAW,EAAE,IAAY,EAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,GAAY,IAAI;AACzB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,OAAO,SAAS;QACpB;AACA,QAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IACvB;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
@@ -94,5 +94,5 @@ const Timeline = ({ versions, selectedIndex, hoveredIndex, onSelect, onHover, })
94
94
  }) }) }));
95
95
  };
96
96
 
97
- export { TimeMachine, TimeMachine as default };
97
+ export { TimeMachine };
98
98
  //# sourceMappingURL=TimeMachine.js.map
@@ -1,10 +1,12 @@
1
1
  import * as CommandDialog from './CommandDialog';
2
2
  import * as CommandForm from './CommandForm';
3
+ import * as Common from './Common';
3
4
  import * as DataPage from './DataPage';
4
- import * as dataTables from './DataTables';
5
- import * as dialogs from './Dialogs';
5
+ import * as DataTables from './DataTables';
6
+ import * as Dialogs from './Dialogs';
6
7
  import * as Dropdown from './Dropdown';
8
+ import * as EventModeling from './EventModeling';
7
9
  import * as PivotViewer from './PivotViewer';
8
10
  import * as TimeMachine from './TimeMachine';
9
- export { CommandDialog, CommandForm, DataPage, dataTables, dialogs, Dropdown, PivotViewer, TimeMachine, };
11
+ export { CommandDialog, CommandForm, Common, DataPage, DataTables, Dialogs, Dropdown, EventModeling, PivotViewer, TimeMachine, };
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACH,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,GACd,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACH,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,GACd,CAAC"}
package/dist/esm/index.js CHANGED
@@ -2,16 +2,20 @@ import * as index from './CommandDialog/index.js';
2
2
  export { index as CommandDialog };
3
3
  import * as index$1 from './CommandForm/index.js';
4
4
  export { index$1 as CommandForm };
5
- import * as index$2 from './DataPage/index.js';
6
- export { index$2 as DataPage };
7
- import * as index$3 from './DataTables/index.js';
8
- export { index$3 as dataTables };
9
- import * as index$4 from './Dialogs/index.js';
10
- export { index$4 as dialogs };
11
- import * as index$5 from './Dropdown/index.js';
12
- export { index$5 as Dropdown };
13
- import * as index$6 from './PivotViewer/index.js';
14
- export { index$6 as PivotViewer };
15
- import * as index$7 from './TimeMachine/index.js';
16
- export { index$7 as TimeMachine };
5
+ import * as index$2 from './Common/index.js';
6
+ export { index$2 as Common };
7
+ import * as index$3 from './DataPage/index.js';
8
+ export { index$3 as DataPage };
9
+ import * as index$4 from './DataTables/index.js';
10
+ export { index$4 as DataTables };
11
+ import * as index$5 from './Dialogs/index.js';
12
+ export { index$5 as Dialogs };
13
+ import * as index$6 from './Dropdown/index.js';
14
+ export { index$6 as Dropdown };
15
+ import * as index$7 from './EventModeling/index.js';
16
+ export { index$7 as EventModeling };
17
+ import * as index$8 from './PivotViewer/index.js';
18
+ export { index$8 as PivotViewer };
19
+ import * as index$9 from './TimeMachine/index.js';
20
+ export { index$9 as TimeMachine };
17
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }