@elaraai/east-ui 1.0.27 → 1.0.28

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 (132) hide show
  1. package/dist/src/charts/chart/index.d.ts +34 -0
  2. package/dist/src/charts/chart/index.d.ts.map +1 -1
  3. package/dist/src/charts/chart/index.js +3 -3
  4. package/dist/src/charts/chart/index.js.map +1 -1
  5. package/dist/src/charts/spec/index.d.ts +40 -0
  6. package/dist/src/charts/spec/index.d.ts.map +1 -1
  7. package/dist/src/charts/spec/index.js +3 -2
  8. package/dist/src/charts/spec/index.js.map +1 -1
  9. package/dist/src/charts/spec/types.d.ts +19 -5
  10. package/dist/src/charts/spec/types.d.ts.map +1 -1
  11. package/dist/src/charts/spec/types.js +10 -4
  12. package/dist/src/charts/spec/types.js.map +1 -1
  13. package/dist/src/collections/calendar/index.d.ts +9 -2
  14. package/dist/src/collections/calendar/index.d.ts.map +1 -1
  15. package/dist/src/collections/calendar/index.js +8 -1
  16. package/dist/src/collections/calendar/index.js.map +1 -1
  17. package/dist/src/collections/calendar/types.d.ts +5 -0
  18. package/dist/src/collections/calendar/types.d.ts.map +1 -1
  19. package/dist/src/collections/calendar/types.js +3 -0
  20. package/dist/src/collections/calendar/types.js.map +1 -1
  21. package/dist/src/collections/gantt/index.d.ts.map +1 -1
  22. package/dist/src/collections/gantt/index.js +10 -1
  23. package/dist/src/collections/gantt/index.js.map +1 -1
  24. package/dist/src/collections/gantt/types.d.ts +7 -0
  25. package/dist/src/collections/gantt/types.d.ts.map +1 -1
  26. package/dist/src/collections/gantt/types.js +2 -0
  27. package/dist/src/collections/gantt/types.js.map +1 -1
  28. package/dist/src/collections/matrix/index.d.ts +4 -0
  29. package/dist/src/collections/matrix/index.d.ts.map +1 -1
  30. package/dist/src/collections/matrix/index.js +9 -0
  31. package/dist/src/collections/matrix/index.js.map +1 -1
  32. package/dist/src/collections/planner/index.d.ts +15 -0
  33. package/dist/src/collections/planner/index.d.ts.map +1 -1
  34. package/dist/src/collections/planner/index.js +17 -0
  35. package/dist/src/collections/planner/index.js.map +1 -1
  36. package/dist/src/collections/schematic/index.d.ts +2 -2
  37. package/dist/src/collections/schematic/index.js +2 -2
  38. package/dist/src/collections/table/index.d.ts.map +1 -1
  39. package/dist/src/collections/table/index.js +9 -1
  40. package/dist/src/collections/table/index.js.map +1 -1
  41. package/dist/src/collections/table/types.d.ts +7 -0
  42. package/dist/src/collections/table/types.d.ts.map +1 -1
  43. package/dist/src/collections/table/types.js +2 -0
  44. package/dist/src/collections/table/types.js.map +1 -1
  45. package/dist/src/component.d.ts +77 -0
  46. package/dist/src/component.d.ts.map +1 -1
  47. package/dist/src/component.js +12 -0
  48. package/dist/src/component.js.map +1 -1
  49. package/dist/src/display/chip-rail/index.d.ts +1 -1
  50. package/dist/src/display/chip-rail/index.js +1 -1
  51. package/dist/src/display/trace/index.d.ts +8 -0
  52. package/dist/src/display/trace/index.d.ts.map +1 -1
  53. package/dist/src/display/trace/index.js +10 -1
  54. package/dist/src/display/trace/index.js.map +1 -1
  55. package/dist/src/display/trace/types.d.ts +12 -0
  56. package/dist/src/display/trace/types.d.ts.map +1 -1
  57. package/dist/src/display/trace/types.js +3 -0
  58. package/dist/src/display/trace/types.js.map +1 -1
  59. package/dist/src/index.d.ts +1 -1
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +1 -1
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/internal.d.ts +3 -1
  64. package/dist/src/internal.d.ts.map +1 -1
  65. package/dist/src/internal.js +3 -1
  66. package/dist/src/internal.js.map +1 -1
  67. package/dist/src/layout/aligned-stack/index.d.ts +101 -0
  68. package/dist/src/layout/aligned-stack/index.d.ts.map +1 -0
  69. package/dist/src/layout/aligned-stack/index.js +105 -0
  70. package/dist/src/layout/aligned-stack/index.js.map +1 -0
  71. package/dist/src/layout/aligned-stack/types.d.ts +50 -0
  72. package/dist/src/layout/aligned-stack/types.d.ts.map +1 -0
  73. package/dist/src/layout/aligned-stack/types.js +24 -0
  74. package/dist/src/layout/aligned-stack/types.js.map +1 -0
  75. package/dist/src/layout/index.d.ts +1 -0
  76. package/dist/src/layout/index.d.ts.map +1 -1
  77. package/dist/src/layout/index.js +1 -0
  78. package/dist/src/layout/index.js.map +1 -1
  79. package/dist/src/navigation/pages/index.d.ts +2 -2
  80. package/dist/src/overlays/drawer/index.d.ts +6 -0
  81. package/dist/src/overlays/drawer/index.d.ts.map +1 -1
  82. package/dist/src/overlays/drawer/index.js +8 -1
  83. package/dist/src/overlays/drawer/index.js.map +1 -1
  84. package/dist/src/overlays/drawer/types.d.ts +18 -0
  85. package/dist/src/overlays/drawer/types.d.ts.map +1 -1
  86. package/dist/src/overlays/drawer/types.js +9 -0
  87. package/dist/src/overlays/drawer/types.js.map +1 -1
  88. package/dist/src/runtime/collections/schematic.d.ts +2 -2
  89. package/dist/src/runtime/collections/schematic.js +2 -2
  90. package/dist/src/runtime/layout/aligned-stack.d.ts +38 -0
  91. package/dist/src/runtime/layout/aligned-stack.d.ts.map +1 -0
  92. package/dist/src/runtime/layout/aligned-stack.js +36 -0
  93. package/dist/src/runtime/layout/aligned-stack.js.map +1 -0
  94. package/dist/src/runtime/layout/index.d.ts +1 -0
  95. package/dist/src/runtime/layout/index.d.ts.map +1 -1
  96. package/dist/src/runtime/layout/index.js +1 -0
  97. package/dist/src/runtime/layout/index.js.map +1 -1
  98. package/dist/src/shared/plot-gutter.d.ts +65 -0
  99. package/dist/src/shared/plot-gutter.d.ts.map +1 -0
  100. package/dist/src/shared/plot-gutter.js +48 -0
  101. package/dist/src/shared/plot-gutter.js.map +1 -0
  102. package/dist/test/charts/chart.examples.d.ts +2 -0
  103. package/dist/test/charts/chart.examples.d.ts.map +1 -1
  104. package/dist/test/charts/chart.examples.js +24 -0
  105. package/dist/test/charts/chart.examples.js.map +1 -1
  106. package/dist/test/collections/planner.examples.d.ts +6 -0
  107. package/dist/test/collections/planner.examples.d.ts.map +1 -1
  108. package/dist/test/collections/planner.examples.js +18 -1
  109. package/dist/test/collections/planner.examples.js.map +1 -1
  110. package/dist/test/collections/schematic.examples.js +11 -11
  111. package/dist/test/collections/schematic.examples.js.map +1 -1
  112. package/dist/test/disclosure/accordion.examples.js +3 -3
  113. package/dist/test/disclosure/accordion.examples.js.map +1 -1
  114. package/dist/test/disclosure/tabs.examples.js +3 -3
  115. package/dist/test/disclosure/tabs.examples.js.map +1 -1
  116. package/dist/test/display/chip-rail.examples.js +3 -3
  117. package/dist/test/display/chip-rail.examples.js.map +1 -1
  118. package/dist/test/display/combine.examples.js +3 -3
  119. package/dist/test/display/combine.examples.js.map +1 -1
  120. package/dist/test/display/trace.examples.js +4 -4
  121. package/dist/test/display/trace.examples.js.map +1 -1
  122. package/dist/test/forms/combobox.examples.js +1 -1
  123. package/dist/test/layout/aligned-stack.examples.d.ts +79 -0
  124. package/dist/test/layout/aligned-stack.examples.d.ts.map +1 -0
  125. package/dist/test/layout/aligned-stack.examples.js +355 -0
  126. package/dist/test/layout/aligned-stack.examples.js.map +1 -0
  127. package/dist/test/layout/stack.examples.js +1 -1
  128. package/dist/test/overlays/drawer.examples.d.ts +1 -0
  129. package/dist/test/overlays/drawer.examples.d.ts.map +1 -1
  130. package/dist/test/overlays/drawer.examples.js +9 -1
  131. package/dist/test/overlays/drawer.examples.js.map +1 -1
  132. package/package.json +3 -3
@@ -69,7 +69,8 @@ function createDrawer(body, options) {
69
69
  : style.placement)
70
70
  : undefined;
71
71
  const hasStyle = sizeValue || placementValue || style.contained !== undefined ||
72
- style.onOpenChange !== undefined || style.onExitComplete !== undefined;
72
+ style.onOpenChange !== undefined || style.onExitComplete !== undefined ||
73
+ style.bodyPadding !== undefined || style.flush !== undefined || style.fillBody !== undefined;
73
74
  return East.value(variant("Drawer", {
74
75
  trigger: trigger,
75
76
  body: body,
@@ -83,6 +84,9 @@ function createDrawer(body, options) {
83
84
  contained: style.contained !== undefined ? some(style.contained) : none,
84
85
  onOpenChange: style.onOpenChange !== undefined ? some(style.onOpenChange) : none,
85
86
  onExitComplete: style.onExitComplete !== undefined ? some(style.onExitComplete) : none,
87
+ bodyPadding: style.bodyPadding !== undefined ? some(style.bodyPadding) : none,
88
+ flush: style.flush !== undefined ? some(style.flush) : none,
89
+ fillBody: style.fillBody !== undefined ? some(style.fillBody) : none,
86
90
  }, DrawerStyleType))
87
91
  : none,
88
92
  }), UIComponentType);
@@ -196,6 +200,9 @@ export const Drawer = {
196
200
  * @property size - Drawer size variant
197
201
  * @property placement - Edge placement
198
202
  * @property contained - Render within parent container
203
+ * @property bodyPadding - CSS padding shorthand for the body (default `"16px 20px"`)
204
+ * @property flush - Removes body padding (full-bleed); overrides `bodyPadding`
205
+ * @property fillBody - Body becomes a definite-height flex column so a single child fills + owns its scroll
199
206
  */
200
207
  Style: DrawerStyleType,
201
208
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/overlays/drawer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/overlays/drawer/index.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,9 @@ export type DrawerPlacementLiteral = "start" | "end" | "top" | "bottom";
47
47
  * @property contained - Render within parent container
48
48
  * @property onOpenChange - Callback triggered when open state changes
49
49
  * @property onExitComplete - Callback triggered when exit animation completes
50
+ * @property bodyPadding - CSS padding shorthand for the body (default `"16px 20px"`)
51
+ * @property flush - When `true`, removes body padding (full-bleed); overrides `bodyPadding`
52
+ * @property fillBody - When `true`, body becomes a definite-height flex column so a single `height:100%`/`flex:1` child fills the panel and owns its own scroll
50
53
  */
51
54
  export declare const DrawerStyleType: StructType<{
52
55
  readonly size: OptionType<VariantType<{
@@ -68,6 +71,12 @@ export declare const DrawerStyleType: StructType<{
68
71
  readonly onOpenChange: OptionType<FunctionType<[BooleanType], NullType>>;
69
72
  /** Callback triggered when exit animation completes */
70
73
  readonly onExitComplete: OptionType<FunctionType<[], NullType>>;
74
+ /** CSS padding shorthand for the body (default `"16px 20px"`) */
75
+ readonly bodyPadding: OptionType<StringType>;
76
+ /** When `true`, removes body padding (full-bleed); overrides `bodyPadding` */
77
+ readonly flush: OptionType<BooleanType>;
78
+ /** When `true`, body becomes a definite-height flex column so a single child fills + owns its scroll */
79
+ readonly fillBody: OptionType<BooleanType>;
71
80
  }>;
72
81
  export type DrawerStyleType = typeof DrawerStyleType;
73
82
  /**
@@ -87,6 +96,9 @@ export type DrawerStyleType = typeof DrawerStyleType;
87
96
  * @property unmountOnExit - Unmount when closed
88
97
  * @property onOpenChange - Callback triggered when open state changes
89
98
  * @property onExitComplete - Callback triggered when exit animation completes
99
+ * @property bodyPadding - CSS padding shorthand for the body (default `"16px 20px"`)
100
+ * @property flush - When `true`, removes body padding (full-bleed); overrides `bodyPadding`
101
+ * @property fillBody - When `true`, the body fills the panel height so a single child owns its scroll
90
102
  */
91
103
  export interface DrawerStyle {
92
104
  /** Drawer size variant */
@@ -117,5 +129,11 @@ export interface DrawerStyle {
117
129
  onOpenChange?: SubtypeExprOrValue<FunctionType<[BooleanType], NullType>>;
118
130
  /** Callback triggered when exit animation completes */
119
131
  onExitComplete?: SubtypeExprOrValue<FunctionType<[], NullType>>;
132
+ /** CSS padding shorthand for the body (default `"16px 20px"`). */
133
+ bodyPadding?: SubtypeExprOrValue<StringType>;
134
+ /** When `true`, removes body padding (full-bleed) so a Table / Planner / Chart fills the drawer body. Overrides `bodyPadding`. */
135
+ flush?: SubtypeExprOrValue<BooleanType>;
136
+ /** When `true`, the body is a definite-height flex column (`minHeight:0`, clipped) so a single `height:100%`/`flex:1` child fills the panel and owns its internal scroll instead of the whole panel scrolling. */
137
+ fillBody?: SubtypeExprOrValue<BooleanType>;
120
138
  }
121
139
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/overlays/drawer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,KAAK,kBAAkB,EACvB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACf,MAAM,eAAe,CAAC;AAMvB;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;EAOzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAM1E;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAC7D,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMxE;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;IAIxB,iDAAiD;;IAEjD,uDAAuD;;EAEzD,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAMrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IACxB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC;IAC9D,qBAAqB;IACrB,SAAS,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,CAAC;IAC7E,qCAAqC;IACrC,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,mBAAmB;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,4BAA4B;IAC5B,IAAI,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,kCAAkC;IAClC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzD,0BAA0B;IAC1B,aAAa,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChD,sCAAsC;IACtC,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,0BAA0B;IAC1B,aAAa,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChD,iDAAiD;IACjD,YAAY,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzE,uDAAuD;IACvD,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;CACnE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/overlays/drawer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,KAAK,kBAAkB,EACvB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACf,MAAM,eAAe,CAAC;AAMvB;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;EAOzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAM1E;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAC7D,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMxE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;IAIxB,iDAAiD;;IAEjD,uDAAuD;;IAEvD,iEAAiE;;IAEjE,8EAA8E;;IAE9E,wGAAwG;;EAE1G,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IACxB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC;IAC9D,qBAAqB;IACrB,SAAS,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,CAAC;IAC7E,qCAAqC;IACrC,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,mBAAmB;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,4BAA4B;IAC5B,IAAI,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,kCAAkC;IAClC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzD,0BAA0B;IAC1B,aAAa,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChD,sCAAsC;IACtC,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,0BAA0B;IAC1B,aAAa,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChD,iDAAiD;IACjD,YAAY,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzE,uDAAuD;IACvD,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChE,kEAAkE;IAClE,WAAW,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,kIAAkI;IAClI,KAAK,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACxC,kNAAkN;IAClN,QAAQ,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC9C"}
@@ -52,6 +52,9 @@ export const DrawerPlacementType = VariantType({
52
52
  * @property contained - Render within parent container
53
53
  * @property onOpenChange - Callback triggered when open state changes
54
54
  * @property onExitComplete - Callback triggered when exit animation completes
55
+ * @property bodyPadding - CSS padding shorthand for the body (default `"16px 20px"`)
56
+ * @property flush - When `true`, removes body padding (full-bleed); overrides `bodyPadding`
57
+ * @property fillBody - When `true`, body becomes a definite-height flex column so a single `height:100%`/`flex:1` child fills the panel and owns its own scroll
55
58
  */
56
59
  export const DrawerStyleType = StructType({
57
60
  size: OptionType(DrawerSizeType),
@@ -61,5 +64,11 @@ export const DrawerStyleType = StructType({
61
64
  onOpenChange: OptionType(FunctionType([BooleanType], NullType)),
62
65
  /** Callback triggered when exit animation completes */
63
66
  onExitComplete: OptionType(FunctionType([], NullType)),
67
+ /** CSS padding shorthand for the body (default `"16px 20px"`) */
68
+ bodyPadding: OptionType(StringType),
69
+ /** When `true`, removes body padding (full-bleed); overrides `bodyPadding` */
70
+ flush: OptionType(BooleanType),
71
+ /** When `true`, body becomes a definite-height flex column so a single child fills + owns its scroll */
72
+ fillBody: OptionType(BooleanType),
64
73
  });
65
74
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/overlays/drawer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,GACf,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACtC,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAKH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAKH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC;IAC1C,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;IAClC,iDAAiD;IACjD,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,uDAAuD;IACvD,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;CACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/overlays/drawer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,GACf,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACtC,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAKH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;CACnB,CAAC,CAAC;AAKH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC,mBAAmB,CAAC;IAC1C,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;IAClC,iDAAiD;IACjD,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,uDAAuD;IACvD,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,iEAAiE;IACjE,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,8EAA8E;IAC9E,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;IAC9B,wGAAwG;IACxG,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;CACpC,CAAC,CAAC"}
@@ -23,7 +23,7 @@ import { UIComponentType } from "../../component.js";
23
23
  * <Schematic
24
24
  * extent={{ width: 30, height: 12 }}
25
25
  * items={[
26
- * { id: "TANK-04", x: 4.0, y: 2.5, kind: "fermenter · 40 kL", fill: 28.8, cap: 40.0,
26
+ * { id: "UNIT-04", x: 4.0, y: 2.5, kind: "unit · 40 kL", fill: 28.8, cap: 40.0,
27
27
  * state: variant("some", variant("success", null)) },
28
28
  * ]}
29
29
  * item={{
@@ -32,7 +32,7 @@ import { UIComponentType } from "../../component.js";
32
32
  * status: e => e.state,
33
33
  * meter: { value: e => e.fill, max: e => e.cap },
34
34
  * }}
35
- * zones={[{ id: "hall-b", name: "Fermentation Hall · Hall B", x: 0.5, y: 0.5, w: 18.0, h: 5.0,
35
+ * zones={[{ id: "hall-b", name: "Hall B", x: 0.5, y: 0.5, w: 18.0, h: 5.0,
36
36
  * pattern: Schematic.outline() }]}
37
37
  * zone={{ key: z => z.id, label: z => z.name, x: z => z.x, y: z => z.y,
38
38
  * width: z => z.w, height: z => z.h, pattern: z => z.pattern }}
@@ -23,7 +23,7 @@ import { UIComponentType } from "../../component.js";
23
23
  * <Schematic
24
24
  * extent={{ width: 30, height: 12 }}
25
25
  * items={[
26
- * { id: "TANK-04", x: 4.0, y: 2.5, kind: "fermenter · 40 kL", fill: 28.8, cap: 40.0,
26
+ * { id: "UNIT-04", x: 4.0, y: 2.5, kind: "unit · 40 kL", fill: 28.8, cap: 40.0,
27
27
  * state: variant("some", variant("success", null)) },
28
28
  * ]}
29
29
  * item={{
@@ -32,7 +32,7 @@ import { UIComponentType } from "../../component.js";
32
32
  * status: e => e.state,
33
33
  * meter: { value: e => e.fill, max: e => e.cap },
34
34
  * }}
35
- * zones={[{ id: "hall-b", name: "Fermentation Hall · Hall B", x: 0.5, y: 0.5, w: 18.0, h: 5.0,
35
+ * zones={[{ id: "hall-b", name: "Hall B", x: 0.5, y: 0.5, w: 18.0, h: 5.0,
36
36
  * pattern: Schematic.outline() }]}
37
37
  * zone={{ key: z => z.id, label: z => z.name, x: z => z.x, y: z => z.y,
38
38
  * width: z => z.w, height: z => z.h, pattern: z => z.pattern }}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * `<AlignedStack>` tag — see the export's JSDoc.
7
+ */
8
+ import { AlignedStack as AlignedStackFactory } from "../../layout/aligned-stack/index.js";
9
+ import { type ContainerProps, type JsxTag } from "../combinators.js";
10
+ /**
11
+ * Vertically stacks axis/lane components (Chart, Trace, Calendar, Planner, …) on
12
+ * a **shared plot gutter** so their data lanes line up on a common x. Set
13
+ * `gutter` to `{ left, right }` (px) — every child's lane occupies exactly
14
+ * `[left, W − right]`, chrome (axes, frozen columns, headers) rendering within
15
+ * the gutter — or `"auto"` to measure the max gutter the children need. A
16
+ * child's own `plotGutter` prop overrides the inherited value (#147).
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
21
+ * import { East } from "@elaraai/east";
22
+ * import { AlignedStack, Chart, UIComponentType } from "@elaraai/east-ui";
23
+ *
24
+ * const aligned = East.function([], UIComponentType, _$ => (
25
+ * <AlignedStack gutter={{ left: "48px", right: "12px" }} gap="8px">
26
+ * <Chart layers={Chart.Line(rows, { x: r => r.day, y: r => r.value })} />
27
+ * {/* …a Trace / Planner on the same day axis… *\/}
28
+ * </AlignedStack>
29
+ * ));
30
+ * ```
31
+ *
32
+ * @remarks
33
+ * Carries `AlignedStack.Types`. Desugars to `AlignedStack.Root(children, options)`.
34
+ */
35
+ export declare const AlignedStack: JsxTag<ContainerProps<typeof AlignedStackFactory.Root>> & {
36
+ Types: typeof AlignedStackFactory.Types;
37
+ };
38
+ //# sourceMappingURL=aligned-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aligned-stack.d.ts","sourceRoot":"","sources":["../../../../src/runtime/layout/aligned-stack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,mBAAmB,CAAC,KAAK,CAAA;CAClC,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * `<AlignedStack>` tag — see the export's JSDoc.
7
+ */
8
+ import { AlignedStack as AlignedStackFactory } from "../../layout/aligned-stack/index.js";
9
+ import { container } from "../combinators.js";
10
+ /**
11
+ * Vertically stacks axis/lane components (Chart, Trace, Calendar, Planner, …) on
12
+ * a **shared plot gutter** so their data lanes line up on a common x. Set
13
+ * `gutter` to `{ left, right }` (px) — every child's lane occupies exactly
14
+ * `[left, W − right]`, chrome (axes, frozen columns, headers) rendering within
15
+ * the gutter — or `"auto"` to measure the max gutter the children need. A
16
+ * child's own `plotGutter` prop overrides the inherited value (#147).
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
21
+ * import { East } from "@elaraai/east";
22
+ * import { AlignedStack, Chart, UIComponentType } from "@elaraai/east-ui";
23
+ *
24
+ * const aligned = East.function([], UIComponentType, _$ => (
25
+ * <AlignedStack gutter={{ left: "48px", right: "12px" }} gap="8px">
26
+ * <Chart layers={Chart.Line(rows, { x: r => r.day, y: r => r.value })} />
27
+ * {/* …a Trace / Planner on the same day axis… *\/}
28
+ * </AlignedStack>
29
+ * ));
30
+ * ```
31
+ *
32
+ * @remarks
33
+ * Carries `AlignedStack.Types`. Desugars to `AlignedStack.Root(children, options)`.
34
+ */
35
+ export const AlignedStack = Object.assign(container(AlignedStackFactory.Root), { Types: AlignedStackFactory.Types });
36
+ //# sourceMappingURL=aligned-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aligned-stack.js","sourceRoot":"","sources":["../../../../src/runtime/layout/aligned-stack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAoC,MAAM,mBAAmB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,YAAY,GACrB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC"}
@@ -6,6 +6,7 @@
6
6
  export { Box } from "./box.js";
7
7
  export { Flex } from "./flex.js";
8
8
  export { Stack, VStack, HStack } from "./stack.js";
9
+ export { AlignedStack } from "./aligned-stack.js";
9
10
  export { ScrollArea } from "./scroll-area.js";
10
11
  export { Sticky } from "./sticky.js";
11
12
  export { Separator } from "./separator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -6,6 +6,7 @@
6
6
  export { Box } from "./box.js";
7
7
  export { Flex } from "./flex.js";
8
8
  export { Stack, VStack, HStack } from "./stack.js";
9
+ export { AlignedStack } from "./aligned-stack.js";
9
10
  export { ScrollArea } from "./scroll-area.js";
10
11
  export { Sticky } from "./sticky.js";
11
12
  export { Separator } from "./separator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Shared **plot gutter** primitive (#147).
7
+ *
8
+ * A horizontal inset `{ left, right }` for axis/lane components (Chart, Trace,
9
+ * Calendar, Matrix, Table, Planner, Gantt) so their data lanes occupy exactly
10
+ * `[left, W − right]` and line up on a common x when stacked. All chrome (axes,
11
+ * frozen label columns, week/row headers) renders **within** the gutter.
12
+ *
13
+ * `<AlignedStack>` imposes one gutter on its children via the
14
+ * `PlotGutterProvider` context (renderer side); a per-component `plotGutter`
15
+ * prop overrides the inherited value (own-prop-over-context, like density).
16
+ *
17
+ * **px-only for cross-component alignment.** `StringType` admits any CSS length,
18
+ * but pixel-exact alignment only holds if all gutters resolve to the same px
19
+ * (Chart margins are numeric px). Use px values for `fixed`; `auto` is measured
20
+ * and therefore inherently px.
21
+ *
22
+ * @packageDocumentation
23
+ */
24
+ import { type SubtypeExprOrValue, OptionType, StringType, StructType, VariantType, NullType } from "@elaraai/east";
25
+ /**
26
+ * The per-component plot-gutter value — a `{ left, right }` horizontal inset.
27
+ * Both sides optional so a caller can pin just one edge.
28
+ *
29
+ * @property left - Left inset (CSS length, px recommended); the lane starts here
30
+ * @property right - Right inset (CSS length, px recommended); the lane ends at `W − right`
31
+ */
32
+ export declare const PlotGutterType: StructType<{
33
+ readonly left: OptionType<StringType>;
34
+ readonly right: OptionType<StringType>;
35
+ }>;
36
+ export type PlotGutterType = typeof PlotGutterType;
37
+ /**
38
+ * TS input for {@link PlotGutterType} — `{ left?, right? }` CSS lengths.
39
+ *
40
+ * @property left - Left inset (px recommended for cross-component alignment)
41
+ * @property right - Right inset (px recommended for cross-component alignment)
42
+ */
43
+ export interface PlotGutter {
44
+ /** Left inset (CSS length, px recommended); the data lane starts here. */
45
+ left?: SubtypeExprOrValue<StringType>;
46
+ /** Right inset (CSS length, px recommended); the data lane ends at `W − right`. */
47
+ right?: SubtypeExprOrValue<StringType>;
48
+ }
49
+ /**
50
+ * The `<AlignedStack>` gutter mode — either an explicit `fixed` {@link PlotGutterType}
51
+ * imposed on every child, or `auto` (measure the max gutter the children need and
52
+ * impose that).
53
+ *
54
+ * @property auto - Measure each child's natural gutter, impose the max on all
55
+ * @property fixed - Impose this explicit `{ left, right }` on every child
56
+ */
57
+ export declare const AlignedGutterType: VariantType<{
58
+ readonly auto: NullType;
59
+ readonly fixed: StructType<{
60
+ readonly left: OptionType<StringType>;
61
+ readonly right: OptionType<StringType>;
62
+ }>;
63
+ }>;
64
+ export type AlignedGutterType = typeof AlignedGutterType;
65
+ //# sourceMappingURL=plot-gutter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plot-gutter.d.ts","sourceRoot":"","sources":["../../../src/shared/plot-gutter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACH,KAAK,kBAAkB,EACvB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACX,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACvB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtC,mFAAmF;IACnF,KAAK,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAG5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Shared **plot gutter** primitive (#147).
7
+ *
8
+ * A horizontal inset `{ left, right }` for axis/lane components (Chart, Trace,
9
+ * Calendar, Matrix, Table, Planner, Gantt) so their data lanes occupy exactly
10
+ * `[left, W − right]` and line up on a common x when stacked. All chrome (axes,
11
+ * frozen label columns, week/row headers) renders **within** the gutter.
12
+ *
13
+ * `<AlignedStack>` imposes one gutter on its children via the
14
+ * `PlotGutterProvider` context (renderer side); a per-component `plotGutter`
15
+ * prop overrides the inherited value (own-prop-over-context, like density).
16
+ *
17
+ * **px-only for cross-component alignment.** `StringType` admits any CSS length,
18
+ * but pixel-exact alignment only holds if all gutters resolve to the same px
19
+ * (Chart margins are numeric px). Use px values for `fixed`; `auto` is measured
20
+ * and therefore inherently px.
21
+ *
22
+ * @packageDocumentation
23
+ */
24
+ import { OptionType, StringType, StructType, VariantType, NullType, } from "@elaraai/east";
25
+ /**
26
+ * The per-component plot-gutter value — a `{ left, right }` horizontal inset.
27
+ * Both sides optional so a caller can pin just one edge.
28
+ *
29
+ * @property left - Left inset (CSS length, px recommended); the lane starts here
30
+ * @property right - Right inset (CSS length, px recommended); the lane ends at `W − right`
31
+ */
32
+ export const PlotGutterType = StructType({
33
+ left: OptionType(StringType),
34
+ right: OptionType(StringType),
35
+ });
36
+ /**
37
+ * The `<AlignedStack>` gutter mode — either an explicit `fixed` {@link PlotGutterType}
38
+ * imposed on every child, or `auto` (measure the max gutter the children need and
39
+ * impose that).
40
+ *
41
+ * @property auto - Measure each child's natural gutter, impose the max on all
42
+ * @property fixed - Impose this explicit `{ left, right }` on every child
43
+ */
44
+ export const AlignedGutterType = VariantType({
45
+ auto: NullType,
46
+ fixed: PlotGutterType,
47
+ });
48
+ //# sourceMappingURL=plot-gutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plot-gutter.js","sourceRoot":"","sources":["../../../src/shared/plot-gutter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAEH,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,GACX,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACrC,IAAI,EAAG,UAAU,CAAC,UAAU,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;CAChC,CAAC,CAAC;AAgBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IACzC,IAAI,EAAG,QAAQ;IACf,KAAK,EAAE,cAAc;CACxB,CAAC,CAAC"}
@@ -3,9 +3,11 @@ export declare const lineMultiColumns: import("@elaraai/east").ExampleDef<[], an
3
3
  export declare const lineBreakdown: import("@elaraai/east").ExampleDef<[], any>;
4
4
  export declare const lineCurveNatural: import("@elaraai/east").ExampleDef<[], any>;
5
5
  export declare const lineStepNoDots: import("@elaraai/east").ExampleDef<[], any>;
6
+ export declare const lineStepAfterSetpoint: import("@elaraai/east").ExampleDef<[], any>;
6
7
  export declare const lineDashedTargetOverlay: import("@elaraai/east").ExampleDef<[], any>;
7
8
  export declare const lineTemporal: import("@elaraai/east").ExampleDef<[], any>;
8
9
  export declare const lineNumericX: import("@elaraai/east").ExampleDef<[], any>;
10
+ export declare const lineIntegerDayTicks: import("@elaraai/east").ExampleDef<[], any>;
9
11
  export declare const lineRuntimeDomain: import("@elaraai/east").ExampleDef<[], any>;
10
12
  export declare const lineRuntimeTimeDomain: import("@elaraai/east").ExampleDef<[], any>;
11
13
  export declare const lineSampleFan: import("@elaraai/east").ExampleDef<[], any>;
@@ -1 +1 @@
1
- {"version":3,"file":"chart.examples.d.ts","sourceRoot":"","sources":["../../../test/charts/chart.examples.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,SAAS,6CAepB,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAe3B,CAAC;AAEH,eAAO,MAAM,aAAa,6CAgBxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAe3B,CAAC;AAEH,eAAO,MAAM,cAAc,6CAezB,CAAC;AAEH,eAAO,MAAM,uBAAuB,6CAkBlC,CAAC;AAEH,eAAO,MAAM,YAAY,6CAoBvB,CAAC;AAEH,eAAO,MAAM,YAAY,6CAoBvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAyB5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,6CAuBhC,CAAC;AAEH,eAAO,MAAM,aAAa,6CA6BxB,CAAC;AAMH,eAAO,MAAM,QAAQ,6CAcnB,CAAC;AAEH,eAAO,MAAM,cAAc,6CAqBzB,CAAC;AAEH,eAAO,MAAM,UAAU,6CAcrB,CAAC;AAEH,eAAO,MAAM,UAAU,6CAerB,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAe5B,CAAC;AAEH,eAAO,MAAM,eAAe,6CAe1B,CAAC;AAMH,eAAO,MAAM,WAAW,6CAetB,CAAC;AAEH,eAAO,MAAM,kBAAkB,6CAkB7B,CAAC;AAMH,eAAO,MAAM,gBAAgB,6CAwB3B,CAAC;AAEH,eAAO,MAAM,aAAa,6CAexB,CAAC;AAMH,eAAO,MAAM,eAAe,6CAkB1B,CAAC;AAEH,eAAO,MAAM,wBAAwB,6CA+BnC,CAAC;AAMH,eAAO,MAAM,oBAAoB,6CAoB/B,CAAC;AAMH,eAAO,MAAM,cAAc,6CAezB,CAAC;AAMH,eAAO,MAAM,gBAAgB,6CAc3B,CAAC"}
1
+ {"version":3,"file":"chart.examples.d.ts","sourceRoot":"","sources":["../../../test/charts/chart.examples.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,SAAS,6CAepB,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAe3B,CAAC;AAEH,eAAO,MAAM,aAAa,6CAgBxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAe3B,CAAC;AAEH,eAAO,MAAM,cAAc,6CAezB,CAAC;AAEH,eAAO,MAAM,qBAAqB,6CAehC,CAAC;AAEH,eAAO,MAAM,uBAAuB,6CAkBlC,CAAC;AAEH,eAAO,MAAM,YAAY,6CAoBvB,CAAC;AAEH,eAAO,MAAM,YAAY,6CAoBvB,CAAC;AAEH,eAAO,MAAM,mBAAmB,6CAoB9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAyB5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,6CAuBhC,CAAC;AAEH,eAAO,MAAM,aAAa,6CA6BxB,CAAC;AAMH,eAAO,MAAM,QAAQ,6CAcnB,CAAC;AAEH,eAAO,MAAM,cAAc,6CAqBzB,CAAC;AAEH,eAAO,MAAM,UAAU,6CAcrB,CAAC;AAEH,eAAO,MAAM,UAAU,6CAerB,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAe5B,CAAC;AAEH,eAAO,MAAM,eAAe,6CAe1B,CAAC;AAMH,eAAO,MAAM,WAAW,6CAetB,CAAC;AAEH,eAAO,MAAM,kBAAkB,6CAkB7B,CAAC;AAMH,eAAO,MAAM,gBAAgB,6CAwB3B,CAAC;AAEH,eAAO,MAAM,aAAa,6CAexB,CAAC;AAMH,eAAO,MAAM,eAAe,6CAkB1B,CAAC;AAEH,eAAO,MAAM,wBAAwB,6CA+BnC,CAAC;AAMH,eAAO,MAAM,oBAAoB,6CAoB/B,CAAC;AAMH,eAAO,MAAM,cAAc,6CAezB,CAAC;AAMH,eAAO,MAAM,gBAAgB,6CAc3B,CAAC"}
@@ -71,6 +71,18 @@ export const lineStepNoDots = example({
71
71
  }),
72
72
  inputs: [],
73
73
  });
74
+ export const lineStepAfterSetpoint = example({
75
+ keywords: ["Chart", "Line", "curve", "stepAfter", "stepBefore", "step", "setpoint", "held"],
76
+ description: "stepAfter curve — a held setpoint extends forward from each point until the next change (riser after the point); stepBefore holds up to the point",
77
+ fn: East.function([], UIComponentType, ($) => {
78
+ const rows = $.const([
79
+ { day: 0n, setpoint: 18.0 }, { day: 2n, setpoint: 22.0 },
80
+ { day: 5n, setpoint: 20.0 }, { day: 8n, setpoint: 16.0 },
81
+ ], ArrayType(StructType({ day: IntegerType, setpoint: FloatType })));
82
+ return (_jsx(Box, { height: "220px", width: "100%", children: _jsx(Chart, { layers: Chart.Line(rows, { x: r => r.day, y: r => r.setpoint }, { curve: "stepAfter", width: 2, color: "black" }), grid: true }) }));
83
+ }),
84
+ inputs: [],
85
+ });
74
86
  export const lineDashedTargetOverlay = example({
75
87
  keywords: ["Chart", "Line", "dash", "layers", "per-series-style"],
76
88
  description: "Actual vs dashed target as two styled line layers",
@@ -110,6 +122,18 @@ export const lineNumericX = example({
110
122
  }),
111
123
  inputs: [],
112
124
  });
125
+ export const lineIntegerDayTicks = example({
126
+ keywords: ["Chart", "axis", "numTicks", "tickValues", "ticks", "integer", "day", "align", "Planner"],
127
+ description: "Explicit integer day ticks (tickValues) on the x-axis — pins the ticks to [0,1,…,6] so a stacked Planner's day columns line up, instead of the auto-niced set",
128
+ fn: East.function([], UIComponentType, ($) => {
129
+ const rows = $.const([
130
+ { day: 0.0, temp: 22.0 }, { day: 2.0, temp: 20.5 },
131
+ { day: 4.0, temp: 18.0 }, { day: 6.0, temp: 16.5 },
132
+ ], ArrayType(StructType({ day: FloatType, temp: FloatType })));
133
+ return (_jsx(Box, { height: "240px", width: "100%", children: _jsx(Chart, { layers: Chart.Line(rows, { x: r => r.day, y: r => r.temp }, { color: "teal.solid" }), x: { label: "Day", scale: "linear", domain: [0, 6], tickValues: [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] }, y: { label: "°C", numTicks: 3 }, grid: true }) }));
134
+ }),
135
+ inputs: [],
136
+ });
113
137
  export const lineRuntimeDomain = example({
114
138
  keywords: ["Chart", "Line", "domain", "axis", "extent", "runtime", "expression", "SubtypeExprOrValue", "forecast"],
115
139
  description: "Numeric x-axis whose upper extent is runtime-driven — the domain max is an East expression (decision day + p95 + buffer)",