@greensecurity/javascript-sdk 0.46.0-beta.9 → 0.47.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/commonjs/__tests__/apps/contract.test.js +288 -4
  2. package/dist/commonjs/__tests__/apps/contract.test.js.map +1 -1
  3. package/dist/commonjs/__tests__/apps/devpreview-routes.test.d.ts +2 -0
  4. package/dist/commonjs/__tests__/apps/devpreview-routes.test.d.ts.map +1 -0
  5. package/dist/commonjs/__tests__/apps/devpreview-routes.test.js +86 -0
  6. package/dist/commonjs/__tests__/apps/devpreview-routes.test.js.map +1 -0
  7. package/dist/commonjs/__tests__/apps/kit/example.test.js +84 -4
  8. package/dist/commonjs/__tests__/apps/kit/example.test.js.map +1 -1
  9. package/dist/commonjs/__tests__/apps/kit/pages.test.d.ts +2 -0
  10. package/dist/commonjs/__tests__/apps/kit/pages.test.d.ts.map +1 -0
  11. package/dist/commonjs/__tests__/apps/kit/pages.test.js +119 -0
  12. package/dist/commonjs/__tests__/apps/kit/pages.test.js.map +1 -0
  13. package/dist/commonjs/__tests__/apps/kit/render.test.js +24 -0
  14. package/dist/commonjs/__tests__/apps/kit/render.test.js.map +1 -1
  15. package/dist/commonjs/__tests__/apps/kit/store.test.d.ts +2 -0
  16. package/dist/commonjs/__tests__/apps/kit/store.test.d.ts.map +1 -0
  17. package/dist/commonjs/__tests__/apps/kit/store.test.js +123 -0
  18. package/dist/commonjs/__tests__/apps/kit/store.test.js.map +1 -0
  19. package/dist/commonjs/__tests__/apps/post-install-page.test.d.ts +2 -0
  20. package/dist/commonjs/__tests__/apps/post-install-page.test.d.ts.map +1 -0
  21. package/dist/commonjs/__tests__/apps/post-install-page.test.js +110 -0
  22. package/dist/commonjs/__tests__/apps/post-install-page.test.js.map +1 -0
  23. package/dist/commonjs/__tests__/apps/routes.test.d.ts +2 -0
  24. package/dist/commonjs/__tests__/apps/routes.test.d.ts.map +1 -0
  25. package/dist/commonjs/__tests__/apps/routes.test.js +238 -0
  26. package/dist/commonjs/__tests__/apps/routes.test.js.map +1 -0
  27. package/dist/commonjs/__tests__/vendors.test.js +1 -1
  28. package/dist/commonjs/__tests__/zoneDevicesCreate.test.d.ts +2 -0
  29. package/dist/commonjs/__tests__/zoneDevicesCreate.test.d.ts.map +1 -0
  30. package/dist/commonjs/__tests__/zoneDevicesCreate.test.js +47 -0
  31. package/dist/commonjs/__tests__/zoneDevicesCreate.test.js.map +1 -0
  32. package/dist/commonjs/__tests__/zones.test.js +4 -28
  33. package/dist/commonjs/__tests__/zones.test.js.map +1 -1
  34. package/dist/commonjs/admin-funcs/zoneDevicesCreate.d.ts +11 -0
  35. package/dist/commonjs/admin-funcs/zoneDevicesCreate.d.ts.map +1 -0
  36. package/dist/commonjs/admin-funcs/zoneDevicesCreate.js +14 -0
  37. package/dist/commonjs/admin-funcs/zoneDevicesCreate.js.map +1 -0
  38. package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.d.ts +3 -0
  39. package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.d.ts.map +1 -0
  40. package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.js +11 -0
  41. package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.js.map +1 -0
  42. package/dist/commonjs/apps/components.d.ts +321 -0
  43. package/dist/commonjs/apps/components.d.ts.map +1 -1
  44. package/dist/commonjs/apps/components.js +168 -2
  45. package/dist/commonjs/apps/components.js.map +1 -1
  46. package/dist/commonjs/apps/context.d.ts +24 -0
  47. package/dist/commonjs/apps/context.d.ts.map +1 -1
  48. package/dist/commonjs/apps/context.js.map +1 -1
  49. package/dist/commonjs/apps/devpreview.d.ts +20 -3
  50. package/dist/commonjs/apps/devpreview.d.ts.map +1 -1
  51. package/dist/commonjs/apps/devpreview.js +18 -7
  52. package/dist/commonjs/apps/devpreview.js.map +1 -1
  53. package/dist/commonjs/apps/hooks/index.d.ts +33 -2
  54. package/dist/commonjs/apps/hooks/index.d.ts.map +1 -1
  55. package/dist/commonjs/apps/hooks/index.js +41 -1
  56. package/dist/commonjs/apps/hooks/index.js.map +1 -1
  57. package/dist/commonjs/apps/hooks/store.d.ts +48 -0
  58. package/dist/commonjs/apps/hooks/store.d.ts.map +1 -0
  59. package/dist/commonjs/apps/hooks/store.js +87 -0
  60. package/dist/commonjs/apps/hooks/store.js.map +1 -0
  61. package/dist/commonjs/apps/manifest.d.ts +64 -3
  62. package/dist/commonjs/apps/manifest.d.ts.map +1 -1
  63. package/dist/commonjs/apps/manifest.js +128 -27
  64. package/dist/commonjs/apps/manifest.js.map +1 -1
  65. package/dist/commonjs/apps/protocol.d.ts +1 -1
  66. package/dist/commonjs/apps/protocol.d.ts.map +1 -1
  67. package/dist/commonjs/apps/route.d.ts +11 -1
  68. package/dist/commonjs/apps/route.d.ts.map +1 -1
  69. package/dist/commonjs/apps/route.js +13 -7
  70. package/dist/commonjs/apps/route.js.map +1 -1
  71. package/dist/commonjs/apps/routes.d.ts +65 -0
  72. package/dist/commonjs/apps/routes.d.ts.map +1 -0
  73. package/dist/commonjs/apps/routes.js +202 -0
  74. package/dist/commonjs/apps/routes.js.map +1 -0
  75. package/dist/commonjs/apps/surfaces.d.ts +20 -2
  76. package/dist/commonjs/apps/surfaces.d.ts.map +1 -1
  77. package/dist/commonjs/apps/surfaces.js +45 -7
  78. package/dist/commonjs/apps/surfaces.js.map +1 -1
  79. package/dist/commonjs/apps/testing/index.d.ts +17 -1
  80. package/dist/commonjs/apps/testing/index.d.ts.map +1 -1
  81. package/dist/commonjs/apps/testing/index.js +50 -1
  82. package/dist/commonjs/apps/testing/index.js.map +1 -1
  83. package/dist/commonjs/apps/ui/index.d.ts +13 -0
  84. package/dist/commonjs/apps/ui/index.d.ts.map +1 -1
  85. package/dist/commonjs/apps/ui/index.js +19 -2
  86. package/dist/commonjs/apps/ui/index.js.map +1 -1
  87. package/dist/commonjs/index.extras.d.ts +4 -0
  88. package/dist/commonjs/index.extras.d.ts.map +1 -1
  89. package/dist/commonjs/index.extras.js +5 -1
  90. package/dist/commonjs/index.extras.js.map +1 -1
  91. package/dist/commonjs/lib/config.d.ts +3 -3
  92. package/dist/commonjs/lib/config.js +3 -3
  93. package/dist/commonjs/models/components/vendorcredentialsummary.d.ts +7 -0
  94. package/dist/commonjs/models/components/vendorcredentialsummary.d.ts.map +1 -1
  95. package/dist/commonjs/models/components/vendorcredentialsummary.js +2 -0
  96. package/dist/commonjs/models/components/vendorcredentialsummary.js.map +1 -1
  97. package/dist/esm/__tests__/apps/contract.test.js +289 -5
  98. package/dist/esm/__tests__/apps/contract.test.js.map +1 -1
  99. package/dist/esm/__tests__/apps/devpreview-routes.test.d.ts +2 -0
  100. package/dist/esm/__tests__/apps/devpreview-routes.test.d.ts.map +1 -0
  101. package/dist/esm/__tests__/apps/devpreview-routes.test.js +84 -0
  102. package/dist/esm/__tests__/apps/devpreview-routes.test.js.map +1 -0
  103. package/dist/esm/__tests__/apps/kit/example.test.js +85 -5
  104. package/dist/esm/__tests__/apps/kit/example.test.js.map +1 -1
  105. package/dist/esm/__tests__/apps/kit/pages.test.d.ts +2 -0
  106. package/dist/esm/__tests__/apps/kit/pages.test.d.ts.map +1 -0
  107. package/dist/esm/__tests__/apps/kit/pages.test.js +117 -0
  108. package/dist/esm/__tests__/apps/kit/pages.test.js.map +1 -0
  109. package/dist/esm/__tests__/apps/kit/render.test.js +25 -1
  110. package/dist/esm/__tests__/apps/kit/render.test.js.map +1 -1
  111. package/dist/esm/__tests__/apps/kit/store.test.d.ts +2 -0
  112. package/dist/esm/__tests__/apps/kit/store.test.d.ts.map +1 -0
  113. package/dist/esm/__tests__/apps/kit/store.test.js +121 -0
  114. package/dist/esm/__tests__/apps/kit/store.test.js.map +1 -0
  115. package/dist/esm/__tests__/apps/post-install-page.test.d.ts +2 -0
  116. package/dist/esm/__tests__/apps/post-install-page.test.d.ts.map +1 -0
  117. package/dist/esm/__tests__/apps/post-install-page.test.js +108 -0
  118. package/dist/esm/__tests__/apps/post-install-page.test.js.map +1 -0
  119. package/dist/esm/__tests__/apps/routes.test.d.ts +2 -0
  120. package/dist/esm/__tests__/apps/routes.test.d.ts.map +1 -0
  121. package/dist/esm/__tests__/apps/routes.test.js +236 -0
  122. package/dist/esm/__tests__/apps/routes.test.js.map +1 -0
  123. package/dist/esm/__tests__/vendors.test.js +1 -1
  124. package/dist/esm/__tests__/zoneDevicesCreate.test.d.ts +2 -0
  125. package/dist/esm/__tests__/zoneDevicesCreate.test.d.ts.map +1 -0
  126. package/dist/esm/__tests__/zoneDevicesCreate.test.js +45 -0
  127. package/dist/esm/__tests__/zoneDevicesCreate.test.js.map +1 -0
  128. package/dist/esm/__tests__/zones.test.js +4 -28
  129. package/dist/esm/__tests__/zones.test.js.map +1 -1
  130. package/dist/esm/admin-funcs/zoneDevicesCreate.d.ts +11 -0
  131. package/dist/esm/admin-funcs/zoneDevicesCreate.d.ts.map +1 -0
  132. package/dist/esm/admin-funcs/zoneDevicesCreate.js +11 -0
  133. package/dist/esm/admin-funcs/zoneDevicesCreate.js.map +1 -0
  134. package/dist/esm/admin-funcs/zoneDevicesMacAvailability.d.ts +3 -0
  135. package/dist/esm/admin-funcs/zoneDevicesMacAvailability.d.ts.map +1 -0
  136. package/dist/esm/admin-funcs/zoneDevicesMacAvailability.js +8 -0
  137. package/dist/esm/admin-funcs/zoneDevicesMacAvailability.js.map +1 -0
  138. package/dist/esm/apps/components.d.ts +321 -0
  139. package/dist/esm/apps/components.d.ts.map +1 -1
  140. package/dist/esm/apps/components.js +163 -1
  141. package/dist/esm/apps/components.js.map +1 -1
  142. package/dist/esm/apps/context.d.ts +24 -0
  143. package/dist/esm/apps/context.d.ts.map +1 -1
  144. package/dist/esm/apps/context.js.map +1 -1
  145. package/dist/esm/apps/devpreview.d.ts +20 -3
  146. package/dist/esm/apps/devpreview.d.ts.map +1 -1
  147. package/dist/esm/apps/devpreview.js +19 -8
  148. package/dist/esm/apps/devpreview.js.map +1 -1
  149. package/dist/esm/apps/hooks/index.d.ts +33 -2
  150. package/dist/esm/apps/hooks/index.d.ts.map +1 -1
  151. package/dist/esm/apps/hooks/index.js +37 -1
  152. package/dist/esm/apps/hooks/index.js.map +1 -1
  153. package/dist/esm/apps/hooks/store.d.ts +48 -0
  154. package/dist/esm/apps/hooks/store.d.ts.map +1 -0
  155. package/dist/esm/apps/hooks/store.js +84 -0
  156. package/dist/esm/apps/hooks/store.js.map +1 -0
  157. package/dist/esm/apps/manifest.d.ts +64 -3
  158. package/dist/esm/apps/manifest.d.ts.map +1 -1
  159. package/dist/esm/apps/manifest.js +116 -26
  160. package/dist/esm/apps/manifest.js.map +1 -1
  161. package/dist/esm/apps/protocol.d.ts +1 -1
  162. package/dist/esm/apps/protocol.d.ts.map +1 -1
  163. package/dist/esm/apps/route.d.ts +11 -1
  164. package/dist/esm/apps/route.d.ts.map +1 -1
  165. package/dist/esm/apps/route.js +14 -8
  166. package/dist/esm/apps/route.js.map +1 -1
  167. package/dist/esm/apps/routes.d.ts +65 -0
  168. package/dist/esm/apps/routes.d.ts.map +1 -0
  169. package/dist/esm/apps/routes.js +194 -0
  170. package/dist/esm/apps/routes.js.map +1 -0
  171. package/dist/esm/apps/surfaces.d.ts +20 -2
  172. package/dist/esm/apps/surfaces.d.ts.map +1 -1
  173. package/dist/esm/apps/surfaces.js +39 -2
  174. package/dist/esm/apps/surfaces.js.map +1 -1
  175. package/dist/esm/apps/testing/index.d.ts +17 -1
  176. package/dist/esm/apps/testing/index.d.ts.map +1 -1
  177. package/dist/esm/apps/testing/index.js +49 -1
  178. package/dist/esm/apps/testing/index.js.map +1 -1
  179. package/dist/esm/apps/ui/index.d.ts +13 -0
  180. package/dist/esm/apps/ui/index.d.ts.map +1 -1
  181. package/dist/esm/apps/ui/index.js +17 -1
  182. package/dist/esm/apps/ui/index.js.map +1 -1
  183. package/dist/esm/index.extras.d.ts +4 -0
  184. package/dist/esm/index.extras.d.ts.map +1 -1
  185. package/dist/esm/index.extras.js +5 -1
  186. package/dist/esm/index.extras.js.map +1 -1
  187. package/dist/esm/lib/config.d.ts +3 -3
  188. package/dist/esm/lib/config.js +3 -3
  189. package/dist/esm/models/components/vendorcredentialsummary.d.ts +7 -0
  190. package/dist/esm/models/components/vendorcredentialsummary.d.ts.map +1 -1
  191. package/dist/esm/models/components/vendorcredentialsummary.js +2 -0
  192. package/dist/esm/models/components/vendorcredentialsummary.js.map +1 -1
  193. package/examples/apps/hello-green/src/store.ts +15 -0
  194. package/jsr.json +1 -1
  195. package/package.json +1 -1
  196. package/src/__tests__/apps/contract.test.ts +305 -4
  197. package/src/__tests__/apps/devpreview-routes.test.ts +103 -0
  198. package/src/__tests__/apps/kit/example.test.ts +94 -5
  199. package/src/__tests__/apps/kit/pages.test.ts +137 -0
  200. package/src/__tests__/apps/kit/render.test.ts +35 -1
  201. package/src/__tests__/apps/kit/store.test.ts +149 -0
  202. package/src/__tests__/apps/post-install-page.test.ts +126 -0
  203. package/src/__tests__/apps/routes.test.ts +318 -0
  204. package/src/__tests__/vendors.test.ts +1 -1
  205. package/src/__tests__/zoneDevicesCreate.test.ts +56 -0
  206. package/src/__tests__/zones.test.ts +4 -28
  207. package/src/admin-funcs/zoneDevicesCreate.ts +22 -0
  208. package/src/admin-funcs/zoneDevicesMacAvailability.ts +8 -0
  209. package/src/apps/components.ts +183 -1
  210. package/src/apps/context.ts +25 -0
  211. package/src/apps/devpreview.ts +20 -7
  212. package/src/apps/hooks/index.ts +42 -2
  213. package/src/apps/hooks/store.ts +115 -0
  214. package/src/apps/manifest.ts +151 -27
  215. package/src/apps/protocol.ts +1 -1
  216. package/src/apps/route.ts +22 -10
  217. package/src/apps/routes.ts +230 -0
  218. package/src/apps/surfaces.ts +45 -12
  219. package/src/apps/testing/index.ts +48 -2
  220. package/src/apps/ui/index.ts +18 -1
  221. package/src/index.extras.ts +5 -1
  222. package/src/lib/config.ts +3 -3
  223. package/src/models/components/vendorcredentialsummary.ts +9 -0
@@ -11,7 +11,11 @@
11
11
  * every URL-shaped prop is typed so the host can refuse what the manifest did not grant.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.DATA_IMAGE_MAX_PIXELS = exports.DATA_IMAGE_MAX_EDGE = exports.DATA_IMAGE_MAX_CHARS = exports.COMPONENTS = exports.ICON_NAMES = exports.ALIGN_Y = exports.ALIGN_X = exports.SIZES = exports.WIDTHS = exports.FONT_WEIGHTS = exports.FONTS = exports.TEXT_COLORS = exports.SPACING = void 0;
14
+ exports.DATA_IMAGE_MAX_PIXELS = exports.DATA_IMAGE_MAX_EDGE = exports.DATA_IMAGE_MAX_CHARS = exports.COMPONENTS = exports.CHART_OTHER_LABEL = exports.CHART_DATA_LIMITS = exports.MAX_CHART_LABEL_LENGTH = exports.MAX_CHART_VALUE = exports.MAX_CHART_SERIES = exports.CHART_THEMES = exports.ICON_NAMES = exports.ALIGN_Y = exports.ALIGN_X = exports.SIZES = exports.WIDTHS = exports.FONT_WEIGHTS = exports.FONTS = exports.TEXT_COLORS = exports.SPACING = void 0;
15
+ exports.isChartData = isChartData;
16
+ exports.isPieChartData = isPieChartData;
17
+ exports.isSeriesChartData = isSeriesChartData;
18
+ exports.isComboChartData = isComboChartData;
15
19
  exports.getComponentByTag = getComponentByTag;
16
20
  exports.isValidHref = isValidHref;
17
21
  exports.isValidImageSrc = isValidImageSrc;
@@ -105,9 +109,155 @@ const isConfirmCloseMessages = (v) => isStringRecord(v) && isVisibleText(v["titl
105
109
  isVisibleText(v["cancelAction"], 50) && isVisibleText(v["exitAction"], 50);
106
110
  const TABLE_CELL = { align: p.enum(["start", "center", "end"]), width: p.enum(exports.WIDTHS) };
107
111
  // ---------------------------------------------------------------------------------------------
112
+ // Charts
113
+ //
114
+ // Charts take data only. Colours come from a named `theme`; there are no colour, font, size or
115
+ // style props. Every value is a finite number >= 0 (v1 draws no negative axis), and every label
116
+ // and series name is visible text the host draws on an axis, legend or tooltip.
117
+ /** Named palettes the host draws charts with. The host uses `"green"` when `theme` is omitted. */
118
+ exports.CHART_THEMES = ["green", "grayscale", "vibrant"];
119
+ /** Most series a stacked, line or area chart may draw: one per palette colour. */
120
+ exports.MAX_CHART_SERIES = 6;
121
+ /**
122
+ * Largest accepted chart value. Every chart caps its item and series counts, so with each value at
123
+ * most this, any total a chart computes (a stack, a pie) stays finite; two values near
124
+ * `Number.MAX_VALUE` would otherwise sum to `Infinity`.
125
+ */
126
+ exports.MAX_CHART_VALUE = Number.MAX_SAFE_INTEGER;
127
+ /** Longest label or series name, in characters. */
128
+ exports.MAX_CHART_LABEL_LENGTH = 60;
129
+ /** The bounds each chart component's `data` is checked against. */
130
+ exports.CHART_DATA_LIMITS = {
131
+ BarChart: { minItems: 1, maxItems: 31 },
132
+ HorizontalBarChart: { minItems: 1, maxItems: 25 },
133
+ StackedBarChart: { minLabels: 1, maxLabels: 31, maxSeries: exports.MAX_CHART_SERIES },
134
+ LineChart: { minLabels: 2, maxLabels: 60, maxSeries: exports.MAX_CHART_SERIES },
135
+ AreaChart: { minLabels: 2, maxLabels: 60, maxSeries: exports.MAX_CHART_SERIES },
136
+ ComboChart: { minLabels: 1, maxLabels: 31 },
137
+ // The host folds everything past the sixth slice into one "Other" slice.
138
+ PieChart: { minItems: 1, maxItems: 50 },
139
+ };
140
+ // Plain data only, as JSON and remote-dom carry it: no class instances (Date, Map, a subclassed
141
+ // Array) whose prototype the host would otherwise have to trust.
142
+ const isPlainObject = (v) => {
143
+ if (typeof v !== "object" || v === null || Array.isArray(v))
144
+ return false;
145
+ const proto = Object.getPrototypeOf(v);
146
+ return proto === Object.prototype || proto === null;
147
+ };
148
+ const isPlainArray = (v) => Array.isArray(v) && Object.getPrototypeOf(v) === Array.prototype;
149
+ // Exactly these keys: the shapes are closed, which also bounds their nesting depth.
150
+ const hasExactKeys = (v, keys) => {
151
+ const own = Object.keys(v);
152
+ return own.length === keys.length && keys.every((k) => Object.prototype.hasOwnProperty.call(v, k));
153
+ };
154
+ const isChartValue = (v) => typeof v === "number" && Number.isFinite(v) && v >= 0 && v <= exports.MAX_CHART_VALUE;
155
+ const isChartLabel = (v) => isVisibleText(v, exports.MAX_CHART_LABEL_LENGTH);
156
+ // Indexed loops rather than `every`, which skips the holes of a sparse array.
157
+ function isLabelList(v, min, max) {
158
+ if (!isPlainArray(v) || v.length < min || v.length > max)
159
+ return false;
160
+ const seen = new Set();
161
+ for (let i = 0; i < v.length; i++) {
162
+ const label = v[i];
163
+ if (!isChartLabel(label) || seen.has(label))
164
+ return false;
165
+ seen.add(label);
166
+ }
167
+ return true;
168
+ }
169
+ function isChartSeries(v, length) {
170
+ if (!isPlainObject(v) || !hasExactKeys(v, ["name", "values"]) || !isChartLabel(v["name"]))
171
+ return false;
172
+ const values = v["values"];
173
+ if (!isPlainArray(values) || values.length !== length)
174
+ return false;
175
+ for (let i = 0; i < values.length; i++)
176
+ if (!isChartValue(values[i]))
177
+ return false;
178
+ return true;
179
+ }
180
+ /**
181
+ * `ChartDatum[]` with between `minItems` and `maxItems` items, each a visible, unique label of at
182
+ * most {@link MAX_CHART_LABEL_LENGTH} characters and a value from 0 to {@link MAX_CHART_VALUE}.
183
+ */
184
+ function isChartData(value, limits) {
185
+ if (!isPlainArray(value) || value.length < limits.minItems || value.length > limits.maxItems)
186
+ return false;
187
+ const seen = new Set();
188
+ for (let i = 0; i < value.length; i++) {
189
+ const item = value[i];
190
+ if (!isPlainObject(item) || !hasExactKeys(item, ["label", "value"]))
191
+ return false;
192
+ const label = item["label"];
193
+ if (!isChartLabel(label) || seen.has(label) || !isChartValue(item["value"]))
194
+ return false;
195
+ seen.add(label);
196
+ }
197
+ return true;
198
+ }
199
+ /** Label of the slice a pie chart creates when it combines items beyond {@link MAX_CHART_SERIES}. */
200
+ exports.CHART_OTHER_LABEL = "Other";
201
+ /**
202
+ * Pie chart data: {@link isChartData} with `CHART_DATA_LIMITS.PieChart`. When there are more
203
+ * items than {@link MAX_CHART_SERIES}, the host combines the extras into a {@link CHART_OTHER_LABEL}
204
+ * slice, so a caller's own `Other` label (any case, ignoring surrounding spaces) is rejected:
205
+ * the chart would show two slices with that name and their click events could not be told apart.
206
+ */
207
+ function isPieChartData(value) {
208
+ if (!isChartData(value, exports.CHART_DATA_LIMITS.PieChart))
209
+ return false;
210
+ if (value.length <= exports.MAX_CHART_SERIES)
211
+ return true;
212
+ const reserved = exports.CHART_OTHER_LABEL.toLowerCase();
213
+ return value.every((item) => item.label.trim().toLowerCase() !== reserved);
214
+ }
215
+ /**
216
+ * `SeriesChartData` with between `minLabels` and `maxLabels` unique labels and between 1 and
217
+ * `maxSeries` uniquely named series, each with exactly one value from 0 to {@link MAX_CHART_VALUE} per label.
218
+ */
219
+ function isSeriesChartData(value, limits) {
220
+ if (!isPlainObject(value) || !hasExactKeys(value, ["labels", "series"]))
221
+ return false;
222
+ const labels = value["labels"];
223
+ const series = value["series"];
224
+ const maxSeries = limits.maxSeries ?? exports.MAX_CHART_SERIES;
225
+ if (!isLabelList(labels, limits.minLabels, limits.maxLabels))
226
+ return false;
227
+ if (!isPlainArray(series) || series.length < 1 || series.length > maxSeries)
228
+ return false;
229
+ const names = new Set();
230
+ for (let i = 0; i < series.length; i++) {
231
+ const s = series[i];
232
+ if (!isChartSeries(s, labels.length) || names.has(s.name))
233
+ return false;
234
+ names.add(s.name);
235
+ }
236
+ return true;
237
+ }
238
+ /**
239
+ * `ComboChartData` with between `minLabels` and `maxLabels` unique labels, and a `bars` and a
240
+ * `line` series with different names, each with exactly one value from 0 to {@link MAX_CHART_VALUE} per label.
241
+ */
242
+ function isComboChartData(value, limits) {
243
+ if (!isPlainObject(value) || !hasExactKeys(value, ["labels", "bars", "line"]))
244
+ return false;
245
+ const labels = value["labels"];
246
+ const bars = value["bars"];
247
+ const line = value["line"];
248
+ return isLabelList(labels, limits.minLabels, limits.maxLabels) &&
249
+ isChartSeries(bars, labels.length) && isChartSeries(line, labels.length) && bars.name !== line.name;
250
+ }
251
+ const chart = (check) => ({
252
+ props: { data: p.json(check, { required: true }), theme: p.enum(exports.CHART_THEMES), interactive: p.boolean() },
253
+ events: { onClick: ev("click") },
254
+ children: [],
255
+ });
256
+ // ---------------------------------------------------------------------------------------------
108
257
  // Catalog
109
258
  exports.COMPONENTS = {
110
- // View roots. An app's view component must render exactly one of these at its top level.
259
+ // View roots. An app's view component must render exactly one of these at its top level:
260
+ // ContextView on a surface, SettingsView on the settings page, PageView on an app page.
111
261
  ContextView: spec("ui-context-view", {
112
262
  root: true,
113
263
  props: { title: p.string({ required: true, maxLength: 100 }), description: p.string({ maxLength: 300 }), externalLink: p.json(isExternalLink) },
@@ -130,6 +280,13 @@ exports.COMPONENTS = {
130
280
  // `values` maps every form field's `name` to its current value.
131
281
  events: { onSave: ev("save") },
132
282
  }),
283
+ // An app page (`ui_extensions.routes`), rendered full width inside the portal's own chrome. The
284
+ // title is the page header; `actions` join the portal header's actions, `banner` sits above the body.
285
+ PageView: spec("ui-page-view", {
286
+ root: true,
287
+ props: { title: p.string({ required: true, maxLength: 100 }), description: p.string({ maxLength: 300 }) },
288
+ slots: ["actions", "banner"],
289
+ }),
133
290
  // Layout
134
291
  Box: spec("ui-box", { props: { ...layout, ...typography }, text: true }),
135
292
  // Rendered inside the host's native text element, where only text-level children are valid
@@ -303,6 +460,15 @@ exports.COMPONENTS = {
303
460
  FormFieldGroup: spec("ui-form-field-group", {
304
461
  props: { legend: p.string({ maxLength: 200 }), description: p.string({ maxLength: 500 }), layout: p.enum(["row", "column"]) },
305
462
  }),
463
+ // Charts. Data only: `theme` picks the palette, `interactive` turns on press feedback and
464
+ // tooltips, and `onClick` receives a `ChartClickEvent`. Bounds are in `CHART_DATA_LIMITS`.
465
+ BarChart: spec("ui-bar-chart", chart((v) => isChartData(v, exports.CHART_DATA_LIMITS.BarChart))),
466
+ HorizontalBarChart: spec("ui-horizontal-bar-chart", chart((v) => isChartData(v, exports.CHART_DATA_LIMITS.HorizontalBarChart))),
467
+ StackedBarChart: spec("ui-stacked-bar-chart", chart((v) => isSeriesChartData(v, exports.CHART_DATA_LIMITS.StackedBarChart))),
468
+ LineChart: spec("ui-line-chart", chart((v) => isSeriesChartData(v, exports.CHART_DATA_LIMITS.LineChart))),
469
+ AreaChart: spec("ui-area-chart", chart((v) => isSeriesChartData(v, exports.CHART_DATA_LIMITS.AreaChart))),
470
+ ComboChart: spec("ui-combo-chart", chart((v) => isComboChartData(v, exports.CHART_DATA_LIMITS.ComboChart))),
471
+ PieChart: spec("ui-pie-chart", chart(isPieChartData)),
306
472
  };
307
473
  // Checked by assignment rather than `satisfies`: `satisfies` would hand `ComponentSpec` to every
308
474
  // `spec()` call as a contextual return type, and inference would then widen each entry's props,
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/apps/components.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAqaH,8CAEC;AAED,kCAEC;AAkGD,0CAUC;AAGD,wCASC;AAkCD,sCAmBC;AAGD,sDA4BC;AArnBD,qCAAsC;AACtC,yCAAqE;AAErE,gGAAgG;AAChG,SAAS;AAEI,QAAA,OAAO,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAC/F,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AACjH,QAAA,KAAK,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AACvH,QAAA,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AACxD,QAAA,MAAM,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AACrE,QAAA,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAC9C,QAAA,OAAO,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AACzD,QAAA,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAEnF,6EAA6E;AAChE,QAAA,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc;IAC7F,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAChG,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;IAC1F,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;CACzC,CAAC;AAqBX,MAAM,CAAC,GAAG;IACR,MAAM,EAAE,CAA4B,IAA2D,EAAE,EAAE,EAAE,CACnG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAgG;IAC3H,MAAM,EAAE,CAA4B,IAAqE,EAAE,EAAE,EAAE,CAC7G,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAmH;IAC9I,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAU;IAC7C,IAAI,EAAE,CAA+D,MAAS,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC1G,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAA2D;IAC5F,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAU;IACvC,QAAQ,EAAE,CAA4B,IAAsB,EAAE,EAAE,EAAE,CAChE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAA2C;IACxE,IAAI,EAAE,CAA+B,KAA6B,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC9F,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAkG;CACnI,CAAC;AAOF,MAAM,EAAE,GAAG,CAAgB,KAAa,EAAqB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAc5E,mGAAmG;AACnG,+FAA+F;AAC/F,yEAAyE;AACzE,SAAS,IAAI,CAIX,OAAe,EAAE,GAA2G;IAC5H,OAAO;QACL,OAAO;QACP,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAM;QAC7B,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAM;QAC/B,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAiB;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK;QACvB,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;QAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,qBAAqB;AAErB,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACxB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAU,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,cAAM,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAU,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;CACzE,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAW,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAY,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;CACnD,CAAC;AAEF,4FAA4F;AAC5F,oEAAoE;AACpE,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CACtB,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAU,EAA+B,EAAE,CACjE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAGnH,yFAAyF;AACzF,MAAM,aAAa,GAAG,CAAC,CAAU,EAAE,SAAiB,EAAW,EAAE,CAC/D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;AAExE,MAAM,cAAc,GAAG,CAAC,CAAU,EAAqB,EAAE,CACvD,cAAc,CAAC,CAAC,CAAC,IAAI,IAAA,mBAAU,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AAG/E,MAAM,sBAAsB,GAAG,CAAC,CAAU,EAA6B,EAAE,CACvE,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC;IAC3F,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;AAE7E,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,cAAM,CAAC,EAAE,CAAC;AAEjG,gGAAgG;AAChG,UAAU;AAEG,QAAA,UAAU,GAAG;IACxB,yFAAyF;IACzF,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QAC/I,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,CAAU;KAC3F,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;QAC/B,KAAK,EAAE;YACL,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACnD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;YACzC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;SACrD;QACD,uFAAuF;QACvF,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,CAAU,aAAa,CAAC,EAAE;QACrD,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,iBAAiB,CAAU;KACtE,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE;QACrC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;QACtD,gEAAgE;QAChE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAyB,MAAM,CAAC,EAAE;KACvD,CAAC;IAEF,SAAS;IACT,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxE,2FAA2F;IAC3F,2FAA2F;IAC3F,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;IAChG,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAClH,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,eAAO,CAAC,EAAE,EAAE,CAAC;IAEpI,kBAAkB;IAClB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;IAC1H,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzF,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzJ,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;QACrJ,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE;QACpC,KAAK,EAAE,CAAC,SAAS,CAAU;QAC3B,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7E,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtJ,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;QAClB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;QAChN,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAElJ,UAAU;IACV,8FAA8F;IAC9F,0FAA0F;IAC1F,sCAAsC;IACtC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAU,CAAC;YAC9D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC;YACnB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,cAAM,CAAC;YACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;SACjD;QACD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3H,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;QACpB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;YAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACd,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;YACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;SACjD;QACD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB,CAAC;IACF,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAU,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;IAC/I,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAChH,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;QAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QAClF,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,UAAU;IACV,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACpE,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE;QACvC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;KACjI,CAAC;IACF,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IACjG,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;QAC7B,KAAK,EAAE;YACL,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAChD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACnD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAU,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;SAC5C;QACD,KAAK,EAAE,CAAC,OAAO,CAAU;QACzB,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACpJ,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,EAAE;QAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;QACpG,KAAK,EAAE,CAAC,OAAO,CAAU;QACzB,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;IACzE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAChE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAChE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,sBAAsB,EAAE,eAAe,CAAC,EAAE,CAAC;IACvF,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChF,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;QACpB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QACzE,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAS,iBAAiB,CAAC,EAAE;QAC5D,QAAQ,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;KAC3C,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrI,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAChE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE/F,6FAA6F;IAC7F,6DAA6D;IAC7D,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;QAC/B,KAAK,EAAE;YACL,GAAG,KAAK;YACR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACrC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;YACtF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;SACvB;QACD,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QACpF,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;QAC7B,KAAK,EAAE;YACL,GAAG,KAAK;YACR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACrC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAClD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC3D;QACD,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QACpF,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/I,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE;QAC1C,QAAQ,EAAE,CAAC,kBAAkB,CAAC;KAC/B,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE;QACrC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1I,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;QAC5B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5F,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAU,QAAQ,CAAC,EAAE;QAC3C,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE;QACjC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;QACpG,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE;QAC1C,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;QACtB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1I,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QACtE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAU,QAAQ,CAAC,EAAE;QAC3C,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;QAC/B,KAAK,EAAE;YACL,GAAG,KAAK;YACR,0EAA0E;YAC1E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAClD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACzD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAChD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SACjD;QACD,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAS,QAAQ,CAAC,EAAE;QAC1C,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE;QAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAC,EAAE;KACvI,CAAC;CACM,CAAC;AAEX,iGAAiG;AACjG,gGAAgG;AAChG,gGAAgG;AAChG,MAAM,uBAAuB,GAA4C,kBAAU,CAAC;AACpF,KAAK,uBAAuB,CAAC;AAgD7B,gGAAgG;AAChG,+BAA+B;AAE/B,MAAM,iBAAiB,GAAuC,IAAI,GAAG,CACnE,MAAM,CAAC,MAAM,CAAC,kBAA2C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CACtF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,4BAAiB,EAAC,KAAK,CAAC,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,KAAM,CAAC;AAE3C,6DAA6D;AAChD,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC,6EAA6E;AAChE,QAAA,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,gGAAgG;AAChG,iDAAiD;AACjD,MAAM,aAAa,GAAG,6DAA6D,CAAC;AACpF,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAE3F,kGAAkG;AAClG,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9D,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvB,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5F,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE5G;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,CAAa;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzH,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;YAC7F,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9F,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9E,CAAC;YACD,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7B,8BAA8B;gBAC9B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,+FAA+F;gBAC/F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC9F,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7D,CAAC;gBACD,IAAI,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC5B,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,4BAAoB;QAAE,OAAO,KAAK,CAAC;IAEnF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClG,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QACvD,IAAI,CAAC,KAAK,IAAI,2BAAmB,IAAI,IAAI,CAAC,MAAM,IAAI,2BAAmB;QACvE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,6BAAqB,CAAC;AACtD,CAAC;AAED,+FAA+F;AAC/F,SAAgB,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,4EAA4E;IAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC;AACzG,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,KAAc;IACjD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,8FAA8F;QAC9F,uEAAuE;QACvE,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ;YAC7C,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACjG,KAAK,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7E,KAAK,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAUD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAe,EAAE,GAAsC;IACnF,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAC3F,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,SAAgB,qBAAqB;IAQnC,OAAO,MAAM,CAAC,OAAO,CAAC,kBAA2C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,IAAI;QACJ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI;QACrB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;gBACpE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAC,CAAC;QACJ,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KACnF,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/apps/components.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,18 @@ export interface ObjectContext {
6
6
  object: ObjectType;
7
7
  id: number;
8
8
  }
9
+ /**
10
+ * The app page a view is rendered on (`environment.surfaceId` is `"page"`). Paths are in the app's
11
+ * own space, without the host's `/{portal}/apps/{appId}/pages` prefix.
12
+ */
13
+ export interface PageRoute {
14
+ /** The declared route path from `ui_extensions.routes`, e.g. `/reports/:id`. */
15
+ path: string;
16
+ /** The concrete path being shown, e.g. `/reports/7`. */
17
+ pathname: string;
18
+ /** Param values by name (`{ id: "7" }`), percent-decoded. Always strings. */
19
+ params: Record<string, string>;
20
+ }
9
21
  export interface AppUserToken {
10
22
  /** `gsu_…`. Acts as the viewer, limited to the app's manifest permissions ∩ the viewer's role. */
11
23
  accessToken: string;
@@ -48,12 +60,24 @@ export interface ExtensionContext {
48
60
  portal: Portal;
49
61
  platform: "web" | "ios" | "android";
50
62
  objectContext?: ObjectContext;
63
+ /**
64
+ * The query string of the page's address. On an app page anyone can set these by sharing a
65
+ * link, so treat them as untrusted user input. Empty on drawer, inline and settings views.
66
+ */
51
67
  queryParams: Record<string, string>;
68
+ /**
69
+ * The `envParams` of the `HostApi.navigate` call, made by this app, that led to this view.
70
+ * Only this app can set them, they never appear in an address, and each navigation delivers
71
+ * them to one view once. Empty when the view did not open from a navigation.
72
+ */
73
+ navParams: Record<string, string>;
52
74
  constants: AppConstants;
53
75
  /** Base URL for `@greensecurity/javascript-sdk`, e.g. `https://www.greensecurityllc.com/api`. */
54
76
  apiBaseUrl: string;
55
77
  /** Set while the view is served by `apps-cli dev` instead of the published bundle. */
56
78
  devSessionId?: string;
79
+ /** Set on app pages only: which of the app's routes is shown, and its params. */
80
+ route?: PageRoute;
57
81
  };
58
82
  /** Injected by the host and replaced through `SandboxExports.updateContext` before expiry. */
59
83
  auth: AppTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/apps/context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnE,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,0GAA0G;AAC1G,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,GAAG,EAAE;YAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACnD,CAAC;IACF,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE;QACX,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;QACpC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,SAAS,EAAE,YAAY,CAAC;QACxB,iGAAiG;QACjG,UAAU,EAAE,MAAM,CAAC;QACnB,sFAAsF;QACtF,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,8FAA8F;IAC9F,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAEjG"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/apps/context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnE,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,0GAA0G;AAC1G,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,GAAG,EAAE;YAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACnD,CAAC;IACF,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE;QACX,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;QACpC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B;;;WAGG;QACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,SAAS,EAAE,YAAY,CAAC;QACxB,iGAAiG;QACjG,UAAU,EAAE,MAAM,CAAC;QACnB,sFAAsF;QACtF,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iFAAiF;QACjF,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,CAAC;IACF,8FAA8F;IAC9F,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAEjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/apps/context.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqEH,8CAEC;AAlEY,QAAA,gBAAgB,GAAG,CAAU,CAAC;AA6D3C,uEAAuE;AAC1D,QAAA,uBAAuB,GAAG,KAAM,CAAC;AAE9C,SAAgB,iBAAiB,CAAC,KAA4B,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACtF,OAAO,KAAK,CAAC,SAAS,GAAG,GAAG,IAAI,+BAAuB,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/apps/context.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA8FH,8CAEC;AA3FY,QAAA,gBAAgB,GAAG,CAAU,CAAC;AAsF3C,uEAAuE;AAC1D,QAAA,uBAAuB,GAAG,KAAM,CAAC;AAE9C,SAAgB,iBAAiB,CAAC,KAA4B,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACtF,OAAO,KAAK,CAAC,SAAS,GAAG,GAAG,IAAI,+BAAuB,CAAC;AAC1D,CAAC"}
@@ -8,7 +8,9 @@ export * from "./devsession.js";
8
8
  */
9
9
  export declare const DEV_CSP_SOURCE_PATTERN: string;
10
10
  /**
11
- * `green-app.dev.json`. It may override constants, CSP sources and views while iterating.
11
+ * `green-app.dev.json`. It may override constants, CSP sources, views and routes (app pages) while
12
+ * iterating, so a new view or page can be previewed before it is published. Views and routes are
13
+ * UI placements and grant nothing, and a dev session is shown only to its developer.
12
14
  * Permissions and the bundle cannot be overridden: permissions are granted to the app's role on
13
15
  * `upload`, and the bundle comes from the dev server.
14
16
  */
@@ -22,6 +24,20 @@ export declare const devManifestSchema: z.ZodObject<{
22
24
  }>;
23
25
  component: z.ZodString;
24
26
  }, z.core.$strict>>>;
27
+ routes: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ path: z.ZodString;
29
+ component: z.ZodString;
30
+ title: z.ZodString;
31
+ portals: z.ZodOptional<z.ZodArray<z.ZodEnum<{
32
+ facility: "facility";
33
+ system: "system";
34
+ company: "company";
35
+ vendor: "vendor";
36
+ }>>>;
37
+ navigation: z.ZodOptional<z.ZodObject<{
38
+ label: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strict>>;
40
+ }, z.core.$strict>>>;
25
41
  csp: z.ZodOptional<z.ZodObject<{
26
42
  connect_src: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>>;
27
43
  image_src: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>>;
@@ -30,8 +46,9 @@ export declare const devManifestSchema: z.ZodObject<{
30
46
  }, z.core.$strict>;
31
47
  export type DevManifest = z.infer<typeof devManifestSchema>;
32
48
  /**
33
- * Applies a dev manifest over the published one. Object fields merge; arrays (`views`, CSP
34
- * sources) replace, so a developer can drop a view locally without editing the base file.
49
+ * Applies a dev manifest over the published one. Object fields merge; arrays (`views`, `routes`,
50
+ * CSP sources) replace, so a developer can drop a view or a page locally without editing the base
51
+ * file.
35
52
  * Throws {@link DevManifestError} if the merged CSP sources exceed the header budget.
36
53
  */
37
54
  export declare function mergeDevManifest(base: AppManifestV2, dev: DevManifest): AppManifestV2;
@@ -1 +1 @@
1
- {"version":3,"file":"devpreview.d.ts","sourceRoot":"","sources":["../../../src/apps/devpreview.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAWL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAKvB,cAAc,iBAAiB,CAAC;AAGhC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAGV,CAAC;AAO1B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;kBAiB1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,aAAa,CAuCrF;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;CAC7C"}
1
+ {"version":3,"file":"devpreview.d.ts","sourceRoot":"","sources":["../../../src/apps/devpreview.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAcL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAKvB,cAAc,iBAAiB,CAAC;AAGhC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAGV,CAAC;AAO1B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmB1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,aAAa,CA4CrF;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;CAC7C"}
@@ -65,7 +65,9 @@ const devCspSourceSchema = z.union([
65
65
  z.string().max(manifest_js_1.CSP_SOURCE_MAX_CHARS).regex(new RegExp(exports.DEV_CSP_SOURCE_PATTERN)),
66
66
  ]);
67
67
  /**
68
- * `green-app.dev.json`. It may override constants, CSP sources and views while iterating.
68
+ * `green-app.dev.json`. It may override constants, CSP sources, views and routes (app pages) while
69
+ * iterating, so a new view or page can be previewed before it is published. Views and routes are
70
+ * UI placements and grant nothing, and a dev session is shown only to its developer.
69
71
  * Permissions and the bundle cannot be overridden: permissions are granted to the app's role on
70
72
  * `upload`, and the bundle comes from the dev server.
71
73
  */
@@ -75,21 +77,24 @@ exports.devManifestSchema = z
75
77
  constants: manifest_js_1.appConstantsSchema.optional(),
76
78
  ui_extensions: z.strictObject({
77
79
  views: z.array(manifest_js_1.appViewSchema).max(200).optional(),
80
+ routes: z.array(manifest_js_1.appRouteSchema).max(manifest_js_1.APP_ROUTES_MAX).optional(),
78
81
  csp: z.strictObject({
79
82
  connect_src: z.array(devCspSourceSchema).max(manifest_js_1.CSP_SOURCES_MAX_PER_DIRECTIVE).optional(),
80
83
  image_src: z.array(devCspSourceSchema).max(manifest_js_1.CSP_SOURCES_MAX_PER_DIRECTIVE).optional(),
81
84
  }).optional(),
82
85
  }).optional(),
83
86
  })
84
- // Same invariant as published manifests: dev views replace the published list, so a duplicate
85
- // here would make view resolution order-dependent.
87
+ // Same invariants as published manifests: dev views and routes replace the published lists, so a
88
+ // duplicate here would make view resolution or route matching order-dependent.
86
89
  .superRefine((dev, ctx) => {
87
90
  (0, manifest_js_1.addDuplicateViewportIssues)(dev.ui_extensions?.views, ctx, ["ui_extensions", "views"]);
91
+ (0, manifest_js_1.addRouteIssues)(dev.ui_extensions?.routes, ctx, ["ui_extensions", "routes"]);
88
92
  (0, manifest_js_1.addCspBudgetIssue)(dev.ui_extensions?.csp, ctx, ["ui_extensions", "csp"]);
89
93
  });
90
94
  /**
91
- * Applies a dev manifest over the published one. Object fields merge; arrays (`views`, CSP
92
- * sources) replace, so a developer can drop a view locally without editing the base file.
95
+ * Applies a dev manifest over the published one. Object fields merge; arrays (`views`, `routes`,
96
+ * CSP sources) replace, so a developer can drop a view or a page locally without editing the base
97
+ * file.
93
98
  * Throws {@link DevManifestError} if the merged CSP sources exceed the header budget.
94
99
  */
95
100
  function mergeDevManifest(base, dev) {
@@ -101,14 +106,20 @@ function mergeDevManifest(base, dev) {
101
106
  }
102
107
  if (base.ui_extensions === undefined && dev.ui_extensions === undefined)
103
108
  return merged;
104
- // A preview renders views, and every rendered view needs a version (`ExtensionContext.app.version`).
105
- // A dev file cannot supply one, so a versionless (v1) base cannot be previewed with views.
109
+ // A preview renders views and pages, and every rendered one needs a version
110
+ // (`ExtensionContext.app.version`). A dev file cannot supply one, so a versionless (v1) base
111
+ // cannot be previewed with views or routes.
106
112
  if (devUi.views !== undefined && devUi.views.length > 0 && base.version === undefined) {
107
113
  throw new DevManifestError("the base manifest needs a version before its views can be previewed");
108
114
  }
115
+ if (devUi.routes !== undefined && devUi.routes.length > 0 && base.version === undefined) {
116
+ throw new DevManifestError("the base manifest needs a version before its routes can be previewed");
117
+ }
109
118
  const ui = { ...baseUi };
110
119
  if (devUi.views !== undefined)
111
120
  ui.views = devUi.views;
121
+ if (devUi.routes !== undefined)
122
+ ui.routes = devUi.routes;
112
123
  if (devUi.csp !== undefined) {
113
124
  ui.csp = {
114
125
  ...(baseUi.csp ?? { purpose: "Local development" }),
@@ -1 +1 @@
1
- {"version":3,"file":"devpreview.js","sourceRoot":"","sources":["../../../src/apps/devpreview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devpreview.js","sourceRoot":"","sources":["../../../src/apps/devpreview.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,35 @@
1
- import type { ExtensionContext } from "../context.js";
1
+ import type { ExtensionContext, PageRoute } from "../context.js";
2
2
  import { type HostApi, type ToastType } from "../protocol.js";
3
3
  import { type RouteDescriptor } from "../route.js";
4
+ export { createAppStore, type AppStore, type AppStoreListener, type AppStoreUpdate } from "./store.js";
4
5
  /** The context of the view being rendered. A new object after each host `updateContext`. */
5
6
  export declare function useExtensionContext(): ExtensionContext;
7
+ /**
8
+ * The app page being shown, on views rendered as one of the app's `ui_extensions.routes`
9
+ * (`environment.route`): the declared `path` (`/reports/:id`), the concrete `pathname`
10
+ * (`/reports/7`) and the decoded `params` (`{ id: "7" }`, always strings). `undefined` on every
11
+ * other view. Re-renders with the new route when the host moves to another path of the same page
12
+ * (an `updateContext`), so read params here rather than once on mount.
13
+ *
14
+ * ```tsx
15
+ * const route = usePageRoute();
16
+ * const id = Number(route?.params["id"]);
17
+ * ```
18
+ */
19
+ export declare function usePageRoute(): PageRoute | undefined;
20
+ /**
21
+ * The `envParams` this app passed to the `navigate` call that opened this view
22
+ * (`environment.navParams`). Only this app can set them, and they never appear in an address, so
23
+ * they are the place for navigation data the view relies on. The page's URL query
24
+ * (`environment.queryParams`) is different: anyone can put anything in a link, so treat it as
25
+ * untrusted input. Empty (`{}`) when the view did not open from a navigation.
26
+ *
27
+ * ```tsx
28
+ * // VendorPanel: navigate({ type: "appPage", path: "/reports", envParams: { vendorId: "42" } })
29
+ * const { vendorId } = useNavParams();
30
+ * ```
31
+ */
32
+ export declare function useNavParams(): Readonly<Record<string, string>>;
6
33
  /** The host API proxy for the view being rendered. Every method is async. */
7
34
  export declare function useHostApi(): HostApi;
8
35
  export interface ShowToastOptions {
@@ -15,7 +42,11 @@ export interface ShowToastOptions {
15
42
  * longer messages are rejected here rather than truncated by the host.
16
43
  */
17
44
  export declare function showToast(message: string, opts?: ShowToastOptions): Promise<void>;
18
- /** Asks the host to navigate. Apps name a destination; the host owns its routes. */
45
+ /**
46
+ * Asks the host to navigate. Apps name a destination; the host owns its routes. To open one of
47
+ * the app's own pages, pass a concrete path in the app's space:
48
+ * `navigate({ type: "appPage", path: "/reports/7" })` (not `/reports/:id`).
49
+ */
19
50
  export declare function navigate(to: RouteDescriptor, opts?: {
20
51
  host?: HostApi;
21
52
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/apps/hooks/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAoB,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAatE,4FAA4F;AAC5F,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAQD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kGAAkG;IAClG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF;AAED,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/apps/hooks/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAoB,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAYvG,4FAA4F;AAC5F,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAEpD;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE/D;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAQD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kGAAkG;IAClG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1F"}