@elaraai/east-ui 1.0.39 → 1.0.41

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 (121) hide show
  1. package/dist/src/collections/calendar/index.d.ts +275 -62
  2. package/dist/src/collections/calendar/index.d.ts.map +1 -1
  3. package/dist/src/collections/calendar/index.js +168 -51
  4. package/dist/src/collections/calendar/index.js.map +1 -1
  5. package/dist/src/collections/calendar/types.d.ts +228 -22
  6. package/dist/src/collections/calendar/types.d.ts.map +1 -1
  7. package/dist/src/collections/calendar/types.js +132 -18
  8. package/dist/src/collections/calendar/types.js.map +1 -1
  9. package/dist/src/collections/deck/index.d.ts +2229 -0
  10. package/dist/src/collections/deck/index.d.ts.map +1 -0
  11. package/dist/src/collections/deck/index.js +461 -0
  12. package/dist/src/collections/deck/index.js.map +1 -0
  13. package/dist/src/collections/deck/types.d.ts +327 -0
  14. package/dist/src/collections/deck/types.d.ts.map +1 -0
  15. package/dist/src/collections/deck/types.js +206 -0
  16. package/dist/src/collections/deck/types.js.map +1 -0
  17. package/dist/src/collections/index.d.ts +2 -0
  18. package/dist/src/collections/index.d.ts.map +1 -1
  19. package/dist/src/collections/index.js +2 -0
  20. package/dist/src/collections/index.js.map +1 -1
  21. package/dist/src/collections/value-tree/index.d.ts +380 -0
  22. package/dist/src/collections/value-tree/index.d.ts.map +1 -0
  23. package/dist/src/collections/value-tree/index.js +688 -0
  24. package/dist/src/collections/value-tree/index.js.map +1 -0
  25. package/dist/src/collections/value-tree/materialize.d.ts +65 -0
  26. package/dist/src/collections/value-tree/materialize.d.ts.map +1 -0
  27. package/dist/src/collections/value-tree/materialize.js +238 -0
  28. package/dist/src/collections/value-tree/materialize.js.map +1 -0
  29. package/dist/src/collections/value-tree/types.d.ts +324 -0
  30. package/dist/src/collections/value-tree/types.d.ts.map +1 -0
  31. package/dist/src/collections/value-tree/types.js +168 -0
  32. package/dist/src/collections/value-tree/types.js.map +1 -0
  33. package/dist/src/component.d.ts +1047 -61
  34. package/dist/src/component.d.ts.map +1 -1
  35. package/dist/src/component.js +97 -3
  36. package/dist/src/component.js.map +1 -1
  37. package/dist/src/index.d.ts +3 -3
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +2 -2
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/internal.d.ts +4 -3
  42. package/dist/src/internal.d.ts.map +1 -1
  43. package/dist/src/internal.js +3 -3
  44. package/dist/src/internal.js.map +1 -1
  45. package/dist/src/layout/splitter/index.d.ts +1 -0
  46. package/dist/src/layout/splitter/index.d.ts.map +1 -1
  47. package/dist/src/layout/splitter/index.js +2 -1
  48. package/dist/src/layout/splitter/index.js.map +1 -1
  49. package/dist/src/layout/splitter/types.d.ts +9 -0
  50. package/dist/src/layout/splitter/types.d.ts.map +1 -1
  51. package/dist/src/layout/splitter/types.js +4 -0
  52. package/dist/src/layout/splitter/types.js.map +1 -1
  53. package/dist/src/navigation/app/index.d.ts +135 -0
  54. package/dist/src/navigation/app/index.d.ts.map +1 -0
  55. package/dist/src/navigation/app/index.js +191 -0
  56. package/dist/src/navigation/app/index.js.map +1 -0
  57. package/dist/src/navigation/index.d.ts +1 -0
  58. package/dist/src/navigation/index.d.ts.map +1 -1
  59. package/dist/src/navigation/index.js +1 -0
  60. package/dist/src/navigation/index.js.map +1 -1
  61. package/dist/src/navigation/pages/types.d.ts +15 -1
  62. package/dist/src/navigation/pages/types.d.ts.map +1 -1
  63. package/dist/src/navigation/pages/types.js.map +1 -1
  64. package/dist/src/platform/slice/impl.js +2 -2
  65. package/dist/src/platform/slice/impl.js.map +1 -1
  66. package/dist/src/runtime/collections/calendar.d.ts +10 -5
  67. package/dist/src/runtime/collections/calendar.d.ts.map +1 -1
  68. package/dist/src/runtime/collections/calendar.js +10 -5
  69. package/dist/src/runtime/collections/calendar.js.map +1 -1
  70. package/dist/src/runtime/collections/deck.d.ts +1066 -0
  71. package/dist/src/runtime/collections/deck.d.ts.map +1 -0
  72. package/dist/src/runtime/collections/deck.js +54 -0
  73. package/dist/src/runtime/collections/deck.js.map +1 -0
  74. package/dist/src/runtime/collections/index.d.ts +2 -0
  75. package/dist/src/runtime/collections/index.d.ts.map +1 -1
  76. package/dist/src/runtime/collections/index.js +2 -0
  77. package/dist/src/runtime/collections/index.js.map +1 -1
  78. package/dist/src/runtime/collections/value-tree.d.ts +202 -0
  79. package/dist/src/runtime/collections/value-tree.d.ts.map +1 -0
  80. package/dist/src/runtime/collections/value-tree.js +49 -0
  81. package/dist/src/runtime/collections/value-tree.js.map +1 -0
  82. package/dist/src/runtime/navigation/app.d.ts +50 -0
  83. package/dist/src/runtime/navigation/app.d.ts.map +1 -0
  84. package/dist/src/runtime/navigation/app.js +51 -0
  85. package/dist/src/runtime/navigation/app.js.map +1 -0
  86. package/dist/src/runtime/navigation/index.d.ts +1 -0
  87. package/dist/src/runtime/navigation/index.d.ts.map +1 -1
  88. package/dist/src/runtime/navigation/index.js +1 -0
  89. package/dist/src/runtime/navigation/index.js.map +1 -1
  90. package/dist/test/collections/calendar.examples.d.ts +2 -0
  91. package/dist/test/collections/calendar.examples.d.ts.map +1 -1
  92. package/dist/test/collections/calendar.examples.js +74 -42
  93. package/dist/test/collections/calendar.examples.js.map +1 -1
  94. package/dist/test/collections/deck.examples.d.ts +8 -0
  95. package/dist/test/collections/deck.examples.d.ts.map +1 -0
  96. package/dist/test/collections/deck.examples.js +169 -0
  97. package/dist/test/collections/deck.examples.js.map +1 -0
  98. package/dist/test/collections/planner.examples.js +2 -2
  99. package/dist/test/collections/value-tree.examples.d.ts +10 -0
  100. package/dist/test/collections/value-tree.examples.d.ts.map +1 -0
  101. package/dist/test/collections/value-tree.examples.js +263 -0
  102. package/dist/test/collections/value-tree.examples.js.map +1 -0
  103. package/dist/test/display/image.examples.js +1 -1
  104. package/dist/test/display/image.examples.js.map +1 -1
  105. package/dist/test/layout/aligned-stack.examples.js +4 -4
  106. package/dist/test/layout/aligned-stack.examples.js.map +1 -1
  107. package/dist/test/layout/dock.examples.js +6 -6
  108. package/dist/test/layout/dock.examples.js.map +1 -1
  109. package/dist/test/layout/splitter.examples.d.ts +1 -0
  110. package/dist/test/layout/splitter.examples.d.ts.map +1 -1
  111. package/dist/test/layout/splitter.examples.js +11 -0
  112. package/dist/test/layout/splitter.examples.js.map +1 -1
  113. package/dist/test/navigation/app.examples.d.ts +22 -0
  114. package/dist/test/navigation/app.examples.d.ts.map +1 -0
  115. package/dist/test/navigation/app.examples.js +116 -0
  116. package/dist/test/navigation/app.examples.js.map +1 -0
  117. package/dist/test/navigation/nav-list.examples.js +2 -2
  118. package/dist/test/navigation/nav-list.examples.js.map +1 -1
  119. package/dist/test/overlays/drawer.examples.js +2 -2
  120. package/dist/test/overlays/drawer.examples.js.map +1 -1
  121. package/package.json +3 -3
@@ -130,7 +130,7 @@ function SplitterRoot(options) {
130
130
  ? East.value(variant(options.orientation, null), OrientationType)
131
131
  : options.orientation)
132
132
  : undefined;
133
- const hasStyle = orientationValue || options.onResize !== undefined || options.onResizeStart !== undefined || options.onResizeEnd !== undefined;
133
+ const hasStyle = orientationValue || options.onResize !== undefined || options.onResizeStart !== undefined || options.onResizeEnd !== undefined || options.collapseBelow !== undefined;
134
134
  return East.value(variant("Splitter", {
135
135
  panels: panels_expr,
136
136
  defaultSize: defaultSize,
@@ -139,6 +139,7 @@ function SplitterRoot(options) {
139
139
  onResize: options.onResize !== undefined ? some(options.onResize) : none,
140
140
  onResizeStart: options.onResizeStart !== undefined ? some(options.onResizeStart) : none,
141
141
  onResizeEnd: options.onResizeEnd !== undefined ? some(options.onResizeEnd) : none,
142
+ collapseBelow: options.collapseBelow !== undefined ? some(options.collapseBelow) : none,
142
143
  }, SplitterStyleType)) : none,
143
144
  }), UIComponentType);
144
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/layout/splitter/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/layout/splitter/index.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,9 @@ export type SplitterResizeDetailsType = typeof SplitterResizeDetailsType;
74
74
  * @property onResize - Callback triggered when panel sizes change during drag
75
75
  * @property onResizeStart - Callback triggered when drag starts
76
76
  * @property onResizeEnd - Callback triggered when drag ends
77
+ * @property collapseBelow - Container width in CSS pixels below which the
78
+ * panels stack vertically instead of splitting (responsive fallback for
79
+ * narrow hosts); unset keeps the split at every width
77
80
  */
78
81
  export declare const SplitterStyleType: StructType<{
79
82
  readonly orientation: OptionType<import("@elaraai/east").VariantType<{
@@ -87,6 +90,7 @@ export declare const SplitterStyleType: StructType<{
87
90
  readonly onResizeEnd: OptionType<FunctionType<[StructType<{
88
91
  readonly size: ArrayType<FloatType>;
89
92
  }>], NullType>>;
93
+ readonly collapseBelow: OptionType<FloatType>;
90
94
  }>;
91
95
  /**
92
96
  * Type representing the Splitter style structure.
@@ -103,6 +107,8 @@ export type SplitterStyleType = typeof SplitterStyleType;
103
107
  * @property onResize - Callback triggered when panel sizes change during drag
104
108
  * @property onResizeStart - Callback triggered when drag starts
105
109
  * @property onResizeEnd - Callback triggered when drag ends
110
+ * @property collapseBelow - Container width in CSS pixels below which the
111
+ * panels stack vertically instead of splitting
106
112
  */
107
113
  export interface SplitterStyle {
108
114
  /** Layout orientation (horizontal or vertical) */
@@ -113,5 +119,8 @@ export interface SplitterStyle {
113
119
  onResizeStart?: SubtypeExprOrValue<FunctionType<[], NullType>>;
114
120
  /** Callback triggered when drag ends */
115
121
  onResizeEnd?: SubtypeExprOrValue<FunctionType<[SplitterResizeDetailsType], NullType>>;
122
+ /** Container width in CSS pixels below which the panels stack vertically
123
+ * instead of splitting (responsive fallback for narrow hosts). */
124
+ collapseBelow?: SubtypeExprOrValue<FloatType> | number;
116
125
  }
117
126
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/layout/splitter/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,kBAAkB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IAC/B,0EAA0E;IAC1E,EAAE,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,yCAAyC;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CACtD;AAMD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;EAEpC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAK5B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC;IACvE,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnF,0CAA0C;IAC1C,aAAa,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,wCAAwC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;CACzF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/layout/splitter/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,kBAAkB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IAC/B,0EAA0E;IAC1E,EAAE,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,yCAAyC;IACzC,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CACtD;AAMD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;EAEpC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;EAM5B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC;IACvE,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnF,0CAA0C;IAC1C,aAAa,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,wCAAwC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF;sEACkE;IAClE,aAAa,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;CAC1D"}
@@ -49,11 +49,15 @@ export const SplitterResizeDetailsType = StructType({
49
49
  * @property onResize - Callback triggered when panel sizes change during drag
50
50
  * @property onResizeStart - Callback triggered when drag starts
51
51
  * @property onResizeEnd - Callback triggered when drag ends
52
+ * @property collapseBelow - Container width in CSS pixels below which the
53
+ * panels stack vertically instead of splitting (responsive fallback for
54
+ * narrow hosts); unset keeps the split at every width
52
55
  */
53
56
  export const SplitterStyleType = StructType({
54
57
  orientation: OptionType(OrientationType),
55
58
  onResize: OptionType(FunctionType([SplitterResizeDetailsType], NullType)),
56
59
  onResizeStart: OptionType(FunctionType([], NullType)),
57
60
  onResizeEnd: OptionType(FunctionType([SplitterResizeDetailsType], NullType)),
61
+ collapseBelow: OptionType(FloatType),
58
62
  });
59
63
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/layout/splitter/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,QAAQ,GAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC7C,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC;IACpC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC;CAC5C,CAAC,CAAC;AAiCH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;CAC7B,CAAC,CAAC;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACxC,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;IACxC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC;CAC/E,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/layout/splitter/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,QAAQ,GAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC7C,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC;IACpC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC;CAC5C,CAAC,CAAC;AAiCH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;CAC7B,CAAC,CAAC;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACxC,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;IACxC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5E,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;CACvC,CAAC,CAAC"}
@@ -0,0 +1,135 @@
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
+ * `<App>` — the application shell (#367).
7
+ *
8
+ * Composes the first-class navigation primitives (`Navigation.bind` + `<NavList>`
9
+ * + `<Breadcrumb>` + `<Pages>`) into one surface: a collapsible nav rail, a
10
+ * breadcrumb app bar, an optional brand logo, app-bar slots, and the routed page
11
+ * body. The factory pre-builds `rail` / `breadcrumb` as plain `NavList` /
12
+ * `Breadcrumb` values that read the shared `nav` handle (so they re-evaluate on
13
+ * navigation when `<App>` is authored inside the enclosing `<Reactive>`), and
14
+ * `body` as a `<Pages>` value. The renderer is dumb layout + chrome (shell
15
+ * recipe, collapse state, `AppProvider` host-slot injection).
16
+ *
17
+ * Rail rows are derived from the `Navigation.config`: every argless (`NullType`)
18
+ * route that declares a `section` becomes a row (grouped, with its `icon` /
19
+ * `badge`), the active row is the current route, and a click navigates to it.
20
+ * Routes without a `section` (or with a payload) stay reachable but hidden — the
21
+ * deep pages you navigate to programmatically.
22
+ *
23
+ * @packageDocumentation
24
+ */
25
+ import { type ExprType, type SubtypeExprOrValue, ArrayType, StringType } from "@elaraai/east";
26
+ import { UIComponentType } from "../../component.js";
27
+ import { ImageSourceType } from "../../display/image/types.js";
28
+ import { DensityType } from "../../style.js";
29
+ import type { DensityLiteral } from "../../style.js";
30
+ import { type NavConfig, type NavRoutes, type BoundNav, type PagesHandlers } from "../pages/index.js";
31
+ /**
32
+ * TypeScript input for `App.Root` — the application shell.
33
+ *
34
+ * @typeParam R - The routes map (fixed by `nav` / `config`, so `pages` is
35
+ * contextually typed and exhaustive).
36
+ * @property nav - The handle from `Navigation.bind(config, key, initial)`, bound
37
+ * in the enclosing `<Reactive>`. Drives the rail, breadcrumb and body.
38
+ * @property config - The `Navigation.config` value — the single source of truth
39
+ * for each route's label / rail `icon` / `section` / `badge` (the bound `nav`
40
+ * handle carries no labels, so the shell needs the config to build the rail
41
+ * and breadcrumb).
42
+ * @property pages - One body per route — `($, payload, nav) => <…/>` (the same
43
+ * registry `<Pages>` takes).
44
+ * @property title - Header surface title / wordmark; also the logo's alt text.
45
+ * @property logo - Brand image source (`Image.url` / `Image.dataUri` /
46
+ * `Image.blob`); the shell renders + sizes the `<Image>` into the logo region.
47
+ * @property logoCollapsed - Optional source for the collapsed (56 px) rail mark;
48
+ * defaults to `logo`.
49
+ * @property collapsible - Whether the rail can collapse (default `true`).
50
+ * @property themeToggle - Add a built-in dark/light item to the app bar (default
51
+ * `false` — the host normally injects theme via `AppProvider`).
52
+ * @property barStart - Optional app-bar nodes rendered after the breadcrumb
53
+ * (leading cluster) — e.g. an environment switcher.
54
+ * @property barEnd - Optional app-bar nodes rendered at the trailing edge —
55
+ * `<IconButton>` / `<Menu>` / `<Avatar>` actions.
56
+ */
57
+ export interface AppInput<R extends NavRoutes> {
58
+ /** The nav handle from `Navigation.bind(config, key, initial)`. */
59
+ nav: BoundNav<R>;
60
+ /** The `Navigation.config` value (labels / rail icons / sections). */
61
+ config: NavConfig<R>;
62
+ /** One body per route — `($, payload, nav) => <…/>`. */
63
+ pages: PagesHandlers<NoInfer<R>>;
64
+ /** Header surface title / wordmark; also the logo alt text. */
65
+ title?: SubtypeExprOrValue<StringType>;
66
+ /** Brand image source — the shell renders + sizes the `<Image>`. */
67
+ logo?: SubtypeExprOrValue<ImageSourceType>;
68
+ /** Collapsed-rail (56 px) mark source; defaults to `logo`. */
69
+ logoCollapsed?: SubtypeExprOrValue<ImageSourceType>;
70
+ /** Whether the rail can collapse (default `true`). */
71
+ collapsible?: boolean;
72
+ /** Add a built-in dark/light app-bar item (default `false`). */
73
+ themeToggle?: boolean;
74
+ /** App-bar density (default `comfortable`) — `comfortable` (2 rows) /
75
+ * `compact` (tighter 2 rows) / `condensed` (breadcrumb + title on one row,
76
+ * ~40 px shorter). Only the app bar changes; the rail + body stay constant.
77
+ * Falls back to an inherited density when unset. */
78
+ density?: SubtypeExprOrValue<DensityType> | DensityLiteral;
79
+ /** App-bar nodes after the breadcrumb (leading). */
80
+ barStart?: SubtypeExprOrValue<ArrayType<UIComponentType>>;
81
+ /** App-bar nodes at the trailing edge. */
82
+ barEnd?: SubtypeExprOrValue<ArrayType<UIComponentType>>;
83
+ }
84
+ /**
85
+ * Creates an `App` — the application shell composed from the navigation
86
+ * primitives.
87
+ *
88
+ * @param input - The {@link AppInput} (`nav` + `config` + `pages` + shell options).
89
+ * @returns An East expression of type `UIComponentType`.
90
+ *
91
+ * @remarks
92
+ * Author `<App>` **inside** the enclosing `<Reactive>` that binds `nav`, so the
93
+ * rail's active row and the breadcrumb re-evaluate on navigation.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { East, NullType, StringType, StructType } from "@elaraai/east";
98
+ * import { App, Navigation, Reactive, Text, VStack, UIComponentType, Image } from "@elaraai/east-ui";
99
+ *
100
+ * const example = East.function([], UIComponentType, (_$) => {
101
+ * const routes = Navigation.config({
102
+ * overview: { value: NullType, label: "Overview", section: "Analyse", icon: { prefix: "fas", name: "gauge-high" } },
103
+ * audit: { value: NullType, label: "Audit", section: "Manage", icon: { prefix: "fas", name: "list-check" } },
104
+ * });
105
+ * return Reactive.Root(East.function([], UIComponentType, ($) => {
106
+ * const nav = $.let(Navigation.bind(routes, "app.route", [routes.Page.overview()]));
107
+ * return App.Root({
108
+ * nav,
109
+ * config: routes,
110
+ * title: "Acme Ops",
111
+ * logo: Image.dataUri("data:image/svg+xml,<svg/>"),
112
+ * pages: {
113
+ * overview: ($, _p, _nav) => VStack.Root([Text.Root("Overview")]),
114
+ * audit: ($, _p, _nav) => VStack.Root([Text.Root("Audit")]),
115
+ * },
116
+ * });
117
+ * }));
118
+ * });
119
+ * ```
120
+ */
121
+ declare function createApp<R extends NavRoutes>(input: AppInput<R>): ExprType<UIComponentType>;
122
+ /**
123
+ * The `App` namespace — the application shell.
124
+ *
125
+ * @remarks
126
+ * Authored as the `<App nav={…} config={…} pages={{…}} />` tag; `App.Root({ nav,
127
+ * config, pages, … })` is the underlying factory. Bind the handle once with
128
+ * `Navigation.bind` in the enclosing `<Reactive>` and pass the same `config`.
129
+ */
130
+ export declare const App: {
131
+ /** Build an `App` application shell from `{ nav, config, pages, … }`. See {@link createApp}. */
132
+ readonly Root: typeof createApp;
133
+ };
134
+ export {};
135
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/navigation/app/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAEvB,SAAS,EAGT,UAAU,EAIb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAM7G;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,SAAS;IACzC,mEAAmE;IACnE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,sEAAsE;IACtE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,wDAAwD;IACxD,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvC,oEAAoE;IACpE,IAAI,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC3C,8DAA8D;IAC9D,aAAa,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;yDAGqD;IACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IAC3D,oDAAoD;IACpD,QAAQ,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,0CAA0C;IAC1C,MAAM,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;CAC3D;AA6FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,iBAAS,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAuBrF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG;IACZ,gGAAgG;;CAE1F,CAAC"}
@@ -0,0 +1,191 @@
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
+ * `<App>` — the application shell (#367).
7
+ *
8
+ * Composes the first-class navigation primitives (`Navigation.bind` + `<NavList>`
9
+ * + `<Breadcrumb>` + `<Pages>`) into one surface: a collapsible nav rail, a
10
+ * breadcrumb app bar, an optional brand logo, app-bar slots, and the routed page
11
+ * body. The factory pre-builds `rail` / `breadcrumb` as plain `NavList` /
12
+ * `Breadcrumb` values that read the shared `nav` handle (so they re-evaluate on
13
+ * navigation when `<App>` is authored inside the enclosing `<Reactive>`), and
14
+ * `body` as a `<Pages>` value. The renderer is dumb layout + chrome (shell
15
+ * recipe, collapse state, `AppProvider` host-slot injection).
16
+ *
17
+ * Rail rows are derived from the `Navigation.config`: every argless (`NullType`)
18
+ * route that declares a `section` becomes a row (grouped, with its `icon` /
19
+ * `badge`), the active row is the current route, and a click navigates to it.
20
+ * Routes without a `section` (or with a payload) stay reachable but hidden — the
21
+ * deep pages you navigate to programmatically.
22
+ *
23
+ * @packageDocumentation
24
+ */
25
+ import { East, ArrayType, FunctionType, NullType, StringType, variant, some, none, } from "@elaraai/east";
26
+ import { UIComponentType } from "../../component.js";
27
+ import { ImageSourceType } from "../../display/image/types.js";
28
+ import { DensityType } from "../../style.js";
29
+ import { NavList } from "../nav-list/index.js";
30
+ import { Breadcrumb, BreadcrumbItemType } from "../breadcrumb/index.js";
31
+ import { Pages } from "../pages/index.js";
32
+ // ============================================================================
33
+ // Rail — a NavList derived from the config
34
+ // ============================================================================
35
+ /** Build the rail `NavList` value: config routes with a `section` grouped into
36
+ * sections, the active row = the current route, click = navigate to it. */
37
+ function buildRail(input) {
38
+ const { nav, config } = input;
39
+ // The current route tag drives the active row. Read inside the enclosing
40
+ // <Reactive> (where <App> is authored), so it re-evaluates on navigation.
41
+ const currentTag = nav.current().getTag();
42
+ const order = [];
43
+ const bySection = new Map();
44
+ for (const [name, cfg] of Object.entries(config.routes)) {
45
+ // Only argless routes with a section are rail rows (navigable from a
46
+ // bare click); payload / section-less routes stay hidden.
47
+ if (cfg.section === undefined || cfg.value !== NullType)
48
+ continue;
49
+ if (!bySection.has(cfg.section)) {
50
+ bySection.set(cfg.section, []);
51
+ order.push(cfg.section);
52
+ }
53
+ const item = {
54
+ key: name,
55
+ label: cfg.label,
56
+ active: currentTag.equals(name),
57
+ };
58
+ if (cfg.icon !== undefined)
59
+ item.icon = cfg.icon;
60
+ if (cfg.badge !== undefined)
61
+ item.badge = cfg.badge;
62
+ bySection.get(cfg.section).push(item);
63
+ }
64
+ const sections = order.map(label => ({ label, items: bySection.get(label) }));
65
+ return NavList.Root(sections, { surface: "shell", onSelect: buildRailOnSelect(input) });
66
+ }
67
+ /** Build the rail `onSelect(key)` — a static dispatch that navigates to the
68
+ * clicked argless route (`navigateTo([variant(route, null)])`). */
69
+ function buildRailOnSelect(input) {
70
+ const { nav, config } = input;
71
+ return East.function([StringType], NullType, ($, key) => {
72
+ for (const [name, cfg] of Object.entries(config.routes)) {
73
+ if (cfg.section === undefined || cfg.value !== NullType)
74
+ continue;
75
+ $.if(key.equals(name), $ => {
76
+ // `name` is a runtime string over the config, so `variant` can't
77
+ // narrow it to a route key — cast the argless route value.
78
+ const target = $.const(East.value([variant(name, null)], ArrayType(config.Route)));
79
+ $(nav.navigateTo(target));
80
+ });
81
+ }
82
+ });
83
+ }
84
+ // ============================================================================
85
+ // Breadcrumb — derived from the nav path stack
86
+ // ============================================================================
87
+ /** Build the breadcrumb `Breadcrumb` value from `nav.path()`: one crumb per
88
+ * path segment, its label from the config, the leaf marked current. */
89
+ function buildBreadcrumb(input) {
90
+ const { nav, config } = input;
91
+ // Per-route label arms (exhaustive over the config) — a `match` rather than a
92
+ // Dict lookup, matching the hand-wired app-shell example and avoiding a
93
+ // runtime dict.
94
+ const labelArms = {};
95
+ for (const [name, cfg] of Object.entries(config.routes))
96
+ labelArms[name] = () => cfg.label;
97
+ // One crumb per path segment: label via the route match, the leaf marked
98
+ // current, each crumb navigating back to its prefix. `.map`'s 3rd arg is the
99
+ // index, so the leaf (last segment) can be detected and prefixes sliced. Read
100
+ // inside the enclosing <Reactive> so the whole trail re-evaluates on navigation.
101
+ const items = nav.path().map(($, seg, i) => {
102
+ const isLeaf = $.let(East.equal(i, nav.path().size().subtract(1n)));
103
+ const prefixLen = $.let(i.add(1n));
104
+ const jump = $.const(East.function([], NullType, $ => {
105
+ $(nav.navigateTo(nav.path().slice(0n, prefixLen)));
106
+ }));
107
+ const label = seg.match(labelArms);
108
+ return $.const({
109
+ label,
110
+ current: some(isLeaf),
111
+ onClick: some(jump),
112
+ }, BreadcrumbItemType);
113
+ });
114
+ return Breadcrumb.Root(items, { leadingSeparator: true });
115
+ }
116
+ // ============================================================================
117
+ // App factory
118
+ // ============================================================================
119
+ /**
120
+ * Creates an `App` — the application shell composed from the navigation
121
+ * primitives.
122
+ *
123
+ * @param input - The {@link AppInput} (`nav` + `config` + `pages` + shell options).
124
+ * @returns An East expression of type `UIComponentType`.
125
+ *
126
+ * @remarks
127
+ * Author `<App>` **inside** the enclosing `<Reactive>` that binds `nav`, so the
128
+ * rail's active row and the breadcrumb re-evaluate on navigation.
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * import { East, NullType, StringType, StructType } from "@elaraai/east";
133
+ * import { App, Navigation, Reactive, Text, VStack, UIComponentType, Image } from "@elaraai/east-ui";
134
+ *
135
+ * const example = East.function([], UIComponentType, (_$) => {
136
+ * const routes = Navigation.config({
137
+ * overview: { value: NullType, label: "Overview", section: "Analyse", icon: { prefix: "fas", name: "gauge-high" } },
138
+ * audit: { value: NullType, label: "Audit", section: "Manage", icon: { prefix: "fas", name: "list-check" } },
139
+ * });
140
+ * return Reactive.Root(East.function([], UIComponentType, ($) => {
141
+ * const nav = $.let(Navigation.bind(routes, "app.route", [routes.Page.overview()]));
142
+ * return App.Root({
143
+ * nav,
144
+ * config: routes,
145
+ * title: "Acme Ops",
146
+ * logo: Image.dataUri("data:image/svg+xml,<svg/>"),
147
+ * pages: {
148
+ * overview: ($, _p, _nav) => VStack.Root([Text.Root("Overview")]),
149
+ * audit: ($, _p, _nav) => VStack.Root([Text.Root("Audit")]),
150
+ * },
151
+ * });
152
+ * }));
153
+ * });
154
+ * ```
155
+ */
156
+ function createApp(input) {
157
+ const { nav, pages } = input;
158
+ const body = Pages.Root({ nav, pages: pages });
159
+ const rail = buildRail(input);
160
+ const breadcrumb = buildBreadcrumb(input);
161
+ const emptyChildren = East.value([], ArrayType(UIComponentType));
162
+ return East.value(variant("App", {
163
+ title: input.title !== undefined ? some(input.title) : none,
164
+ logo: input.logo !== undefined ? some(input.logo) : none,
165
+ logoCollapsed: input.logoCollapsed !== undefined ? some(input.logoCollapsed) : none,
166
+ rail,
167
+ breadcrumb,
168
+ body,
169
+ barStart: input.barStart ?? emptyChildren,
170
+ barEnd: input.barEnd ?? emptyChildren,
171
+ collapsible: input.collapsible ?? true,
172
+ themeToggle: input.themeToggle ?? false,
173
+ density: input.density !== undefined
174
+ ? some(typeof input.density === "string" ? East.value(variant(input.density, null), DensityType) : input.density)
175
+ : none,
176
+ navKey: nav.key,
177
+ }), UIComponentType);
178
+ }
179
+ /**
180
+ * The `App` namespace — the application shell.
181
+ *
182
+ * @remarks
183
+ * Authored as the `<App nav={…} config={…} pages={{…}} />` tag; `App.Root({ nav,
184
+ * config, pages, … })` is the underlying factory. Bind the handle once with
185
+ * `Navigation.bind` in the enclosing `<Reactive>` and pass the same `config`.
186
+ */
187
+ export const App = {
188
+ /** Build an `App` application shell from `{ nav, config, pages, … }`. See {@link createApp}. */
189
+ Root: createApp,
190
+ };
191
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigation/app/index.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@
4
4
  */
5
5
  export { Breadcrumb } from "./breadcrumb/index.js";
6
6
  export { NavList, NavListType, NavSectionType, NavItemType, type NavListStyle, type NavSectionInput, type NavItemInput, } from "./nav-list/index.js";
7
+ export { App, type AppInput } from "./app/index.js";
7
8
  export { Navigation, Pages, Route, NavBindHandleType, navBindPlatformFn, NavBindPrimitives, routeVariantType, type NavRoutes, type NavRouteConfig, type NavConfig, type RouteVariantOf, type NavHandleType, type BoundNav, type PageConstructors, type PagesHandlers, type PagesInput, type RouteInput, } from "./pages/index.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,GAClB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACH,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,GAClB,MAAM,kBAAkB,CAAC"}
@@ -4,5 +4,6 @@
4
4
  */
5
5
  export { Breadcrumb } from "./breadcrumb/index.js";
6
6
  export { NavList, NavListType, NavSectionType, NavItemType, } from "./nav-list/index.js";
7
+ export { App } from "./app/index.js";
7
8
  export { Navigation, Pages, Route, NavBindHandleType, navBindPlatformFn, NavBindPrimitives, routeVariantType, } from "./pages/index.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GAWnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,OAAO,EACP,WAAW,EACX,cAAc,EACd,WAAW,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAiB,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACH,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GAWnB,MAAM,kBAAkB,CAAC"}
@@ -15,15 +15,29 @@
15
15
  */
16
16
  import { ArrayType, BooleanType, FunctionType, IntegerType, NullType, StringType, StructType, VariantType, type EastType, type ExprType } from "@elaraai/east";
17
17
  /**
18
- * One route declaration: the page's payload East type plus its display label.
18
+ * One route declaration: the page's payload East type plus its display label,
19
+ * and optional rail presentation (`<App>` reads these to build the nav rail —
20
+ * the config is the single source of truth for the rail as well as the routes).
19
21
  *
20
22
  * @typeParam V - The route's payload East type (`NullType` for an argless page).
21
23
  * @property value - The East type of the value passed when navigating to this route.
22
24
  * @property label - Human-readable label (breadcrumb / rail).
25
+ * @property icon - Optional leading Font Awesome icon for the `<App>` rail row (`{ prefix, name }`).
26
+ * @property section - Optional `<App>` rail section heading to group this route under; omit ⇒ the route is reachable but hidden from the rail (a deep page).
27
+ * @property badge - Optional trailing badge text for the `<App>` rail row (count / "New").
23
28
  */
24
29
  export interface NavRouteConfig<V extends EastType = EastType> {
25
30
  value: V;
26
31
  label: string;
32
+ /** Optional leading Font Awesome icon for the `<App>` rail row. */
33
+ icon?: {
34
+ prefix: string;
35
+ name: string;
36
+ };
37
+ /** Optional `<App>` rail section heading; omit ⇒ reachable but hidden from the rail. */
38
+ section?: string;
39
+ /** Optional trailing badge text for the `<App>` rail row. */
40
+ badge?: string;
27
41
  }
28
42
  /** A routes map: route name → its {@link NavRouteConfig}. */
29
43
  export type NavRoutes = Record<string, NavRouteConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/pages/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAEH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AAMvB;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACzD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEvD,sFAAsF;AACtF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAAE,CAAC,CAAC;AAEjG,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAIlF;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAyBlF;AAED,oDAAoD;AACpD,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAAE,CAAC,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,UAAU,CAAC;IACxD,GAAG,EAAE,OAAO,UAAU,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC;IAC7C,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,QAAQ,CAAC,CAAC;IACvC,EAAE,EAAE,UAAU,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC;KAAE,CAAC,CAAC;IACnF,UAAU,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAMvE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oHAM7B,CAAC;AAcF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAC1B,4EAA4E;;IAE5E,qEAAqE;;IAErE,2EAA2E;;IAE3E,iFAAiF;;CAE3E,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/navigation/pages/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAEH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AAMvB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACzD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEvD,sFAAsF;AACtF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAAE,CAAC,CAAC;AAEjG,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAIlF;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAyBlF;AAED,oDAAoD;AACpD,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAAE,CAAC,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,UAAU,CAAC;IACxD,GAAG,EAAE,OAAO,UAAU,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,WAAW,CAAC,CAAC;IAC7C,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,QAAQ,CAAC,CAAC;IACvC,EAAE,EAAE,UAAU,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC;KAAE,CAAC,CAAC;IACnF,UAAU,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAMvE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oHAM7B,CAAC;AAcF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAC1B,4EAA4E;;IAE5E,qEAAqE;;IAErE,2EAA2E;;IAE3E,iFAAiF;;CAE3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/navigation/pages/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/navigation/pages/types.ts"],"names":[],"mappings":"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"}
@@ -282,8 +282,8 @@ function sliceBreakdownKey(state, _config, row) {
282
282
  // shared by Slice.Legend and Slice.Chart).
283
283
  // ---------------------------------------------------------------------------
284
284
  export const SLICE_SERIES_PALETTE = [
285
- "{colors.brand.600}",
286
- "{colors.brand.800}",
285
+ "{colors.series.brand}",
286
+ "{colors.series.brandDeep}",
287
287
  "{colors.status.warn}",
288
288
  "{colors.status.info}",
289
289
  "{colors.gray.500}",