xmlui 0.9.46 → 0.9.47

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 (31) hide show
  1. package/dist/lib/{apiInterceptorWorker-D_OwtjcQ.mjs → apiInterceptorWorker-BY933b9G.mjs} +1 -1
  2. package/dist/lib/{index-_koqcHz7.mjs → index-DLZaCu6v.mjs} +10860 -10615
  3. package/dist/lib/index.css +1 -1
  4. package/dist/lib/language-server-web-worker.mjs +1 -1
  5. package/dist/lib/language-server.mjs +1 -1
  6. package/dist/lib/{metadata-utils-Cf8v_9Lr.mjs → metadata-utils-DiiTyP_-.mjs} +12 -7
  7. package/dist/lib/{server-common-kMTAr-QU.mjs → server-common-DJ9dCJkg.mjs} +4201 -4231
  8. package/dist/lib/xmlui.d.ts +1 -1
  9. package/dist/lib/xmlui.mjs +1 -1
  10. package/dist/metadata/style.css +1 -1
  11. package/dist/metadata/xmlui-metadata.mjs +3333 -3307
  12. package/dist/metadata/xmlui-metadata.umd.js +10 -10
  13. package/dist/scripts/package.json +1 -1
  14. package/dist/scripts/src/components/App/AppNative.js +1 -1
  15. package/dist/scripts/src/components/ComponentProvider.js +240 -121
  16. package/dist/scripts/src/components/Markdown/Markdown.js +9 -0
  17. package/dist/scripts/src/components/Markdown/MarkdownNative.js +10 -0
  18. package/dist/scripts/src/components/Markdown/utils.js +38 -0
  19. package/dist/scripts/src/components/NavGroup/NavGroupContext.js +12 -0
  20. package/dist/scripts/src/components/NavGroup/NavGroupNative.js +19 -26
  21. package/dist/scripts/src/components/NavLink/NavLinkNative.js +11 -5
  22. package/dist/scripts/src/components/NestedApp/NestedAppNative.js +1 -1
  23. package/dist/scripts/src/components/Text/Text.js +1 -0
  24. package/dist/scripts/src/components/TreeDisplay/TreeDisplay.js +47 -0
  25. package/dist/scripts/src/components/TreeDisplay/TreeDisplayNative.js +102 -0
  26. package/dist/scripts/src/components/abstractions.js +6 -0
  27. package/dist/scripts/src/components-core/theming/ThemeProvider.js +1 -1
  28. package/dist/scripts/src/components-core/theming/transformThemeVars.js +27 -0
  29. package/dist/standalone/xmlui-standalone.es.d.ts +2 -2
  30. package/dist/standalone/xmlui-standalone.umd.js +209 -205
  31. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xmlui",
3
- "version": "0.9.46",
3
+ "version": "0.9.47",
4
4
  "sideEffects": false,
5
5
  "scripts": {
6
6
  "start-test-bed": "cd src/testing/infrastructure && xmlui start",
@@ -228,7 +228,7 @@ function App({ children, style, layout, loggedInUser, scrollWholePage, noScrollb
228
228
  const handleOpenChange = (0, react_1.useCallback)((open) => {
229
229
  setDrawerVisible(open);
230
230
  }, []);
231
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [memoizedHelmet, (0, jsx_runtime_1.jsxs)(AppLayoutContext_1.AppLayoutContext.Provider, { value: layoutContextValue, children: [(0, jsx_runtime_1.jsx)(Sheet_1.Sheet, { open: drawerVisible, onOpenChange: handleOpenChange, children: (0, jsx_runtime_1.jsx)(Sheet_1.SheetContent, { side: "left", children: memoizedNavPanelInDrawer }) }), (0, jsx_runtime_1.jsx)(SearchContext_1.SearchContextProvider, { children: content })] })] }));
231
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [memoizedHelmet, (0, jsx_runtime_1.jsx)(AppLayoutContext_1.AppLayoutContext.Provider, { value: layoutContextValue, children: (0, jsx_runtime_1.jsxs)(SearchContext_1.SearchContextProvider, { children: [(0, jsx_runtime_1.jsx)(Sheet_1.Sheet, { open: drawerVisible, onOpenChange: handleOpenChange, children: (0, jsx_runtime_1.jsx)(Sheet_1.SheetContent, { side: "left", children: memoizedNavPanelInDrawer }) }), content] }) })] }));
232
232
  }
233
233
  function getAppLayoutOrientation(appLayout) {
234
234
  switch (appLayout) {
@@ -10,6 +10,7 @@ const TextArea_1 = require("./TextArea/TextArea");
10
10
  const NavLink_1 = require("./NavLink/NavLink");
11
11
  const Link_1 = require("./Link/Link");
12
12
  const TreeComponent_1 = require("./Tree/TreeComponent");
13
+ const TreeDisplay_1 = require("./TreeDisplay/TreeDisplay");
13
14
  const Button_1 = require("./Button/Button");
14
15
  const Heading_1 = require("./Heading/Heading");
15
16
  const Text_1 = require("./Text/Text");
@@ -112,6 +113,9 @@ const CodeBlock_1 = require("./CodeBlock/CodeBlock");
112
113
  const dataSourcePropHolder = (0, renderers_1.createPropHolderComponent)("DataSource");
113
114
  const textNodePropHolder = (0, renderers_1.createPropHolderComponent)("TextNode");
114
115
  const textNodeCDataPropHolder = (0, renderers_1.createPropHolderComponent)("TextNodeCData");
116
+ const APP_NS = "#app-ns";
117
+ const CORE_NS = "#xmlui-core-ns";
118
+ const EXTENSIONS_NS = "XMLUIExtensions";
115
119
  /**
116
120
  * This class implements the registry that holds the components available
117
121
  * in xmlui. Any component in this registry can be used in the xmlui markup.
@@ -132,7 +136,8 @@ class ComponentRegistry {
132
136
  var _a, _b, _c;
133
137
  this.extensionManager = extensionManager;
134
138
  // --- The pool of available components
135
- this.pool = new Map();
139
+ this.pool = new Map(); // namespace -> name -> ComponentRegistryEntry;
140
+ this.namePool = new Map();
136
141
  // --- The pool of available theme variable names
137
142
  this.themeVars = new Set();
138
143
  // --- Default theme variable values collected from the registered components
@@ -152,33 +157,34 @@ class ComponentRegistry {
152
157
  };
153
158
  // --- Registers a renderable component using its renderer function
154
159
  this.registerCoreComponent = (component) => {
155
- const coreNamespaces = ["#xmlui-core-ns", ""];
156
160
  if ("compoundComponentDef" in component) {
157
- this.registerCompoundComponentRenderer(component, ...coreNamespaces);
161
+ this.registerCompoundComponentRenderer(component, CORE_NS);
158
162
  }
159
163
  else {
160
- this.registerComponentRenderer(component, ...coreNamespaces);
164
+ this.registerComponentRenderer(component, CORE_NS);
161
165
  }
162
166
  };
163
167
  this.registerAppComponent = (component) => {
164
- const appNamespaces = ["#app-ns", ""];
165
168
  if ("compoundComponentDef" in component) {
166
- this.registerCompoundComponentRenderer(component, ...appNamespaces);
169
+ this.registerCompoundComponentRenderer(component, APP_NS);
167
170
  }
168
171
  else {
169
- this.registerComponentRenderer(component, ...appNamespaces);
172
+ this.registerComponentRenderer(component, APP_NS);
170
173
  }
171
174
  };
172
175
  // --- and metadata
173
- this.registerComponentRenderer = ({ type, renderer, metadata, isCompoundComponent, }, ...namespaces) => {
176
+ this.registerComponentRenderer = ({ type, renderer, metadata, isCompoundComponent, }, namespace) => {
174
177
  const component = {
175
178
  renderer,
176
179
  descriptor: metadata,
177
180
  isCompoundComponent,
178
181
  };
179
- namespaces.forEach((ns) => {
180
- this.pool.set((ns ? ns + "." : "") + type, component);
181
- });
182
+ const fullName = `${namespace}.${type}`;
183
+ if (!this.pool.has(namespace)) {
184
+ this.pool.set(namespace, new Map());
185
+ }
186
+ this.pool.get(namespace).set(type, component);
187
+ this.namePool.set(fullName, { name: type, namespace });
182
188
  if (metadata === null || metadata === void 0 ? void 0 : metadata.themeVars) {
183
189
  Object.keys(metadata.themeVars).forEach((key) => this.themeVars.add(key));
184
190
  }
@@ -236,6 +242,9 @@ class ComponentRegistry {
236
242
  if (process.env.VITE_USED_COMPONENTS_Tree !== "false") {
237
243
  this.registerCoreComponent(TreeComponent_1.treeComponentRenderer);
238
244
  }
245
+ if (process.env.VITE_USED_COMPONENTS_TreeDisplay !== "false") {
246
+ this.registerCoreComponent(TreeDisplay_1.treeDisplayComponentRenderer);
247
+ }
239
248
  if (process.env.VITE_USED_COMPONENTS_Button !== "false") {
240
249
  this.registerCoreComponent(Button_1.buttonComponentRenderer);
241
250
  }
@@ -390,106 +399,208 @@ class ComponentRegistry {
390
399
  this.registerCoreComponent(Theme_1.themeComponentRenderer);
391
400
  this.registerCoreComponent(AppState_1.appStateComponentRenderer);
392
401
  this.registerCoreComponent(APICall_2.apiCallRenderer);
393
- this.registerCoreComponent(HtmlTags_1.htmlATagRenderer);
394
- this.registerCoreComponent(HtmlTags_1.htmlAbbrTagRenderer);
395
- this.registerCoreComponent(HtmlTags_1.htmlAddressTagRenderer);
396
- this.registerCoreComponent(HtmlTags_1.htmlAreaTagRenderer);
397
- this.registerCoreComponent(HtmlTags_1.htmlArticleTagRenderer);
398
- this.registerCoreComponent(HtmlTags_1.htmlAsideTagRenderer);
399
- this.registerCoreComponent(HtmlTags_1.htmlAudioTagRenderer);
400
- this.registerCoreComponent(HtmlTags_1.htmlBTagRenderer);
401
- this.registerCoreComponent(HtmlTags_1.htmlBdiTagRenderer);
402
- this.registerCoreComponent(HtmlTags_1.htmlBdoTagRenderer);
403
- this.registerCoreComponent(HtmlTags_1.htmlBlockquoteTagRenderer);
404
- this.registerCoreComponent(HtmlTags_1.htmlBrTagRenderer);
405
- this.registerCoreComponent(HtmlTags_1.htmlButtonTagRenderer);
406
- this.registerCoreComponent(HtmlTags_1.htmlCanvasTagRenderer);
407
- this.registerCoreComponent(HtmlTags_1.htmlCaptionTagRenderer);
408
- this.registerCoreComponent(HtmlTags_1.htmlCiteTagRenderer);
409
- this.registerCoreComponent(HtmlTags_1.htmlCodeTagRenderer);
410
- this.registerCoreComponent(HtmlTags_1.htmlColTagRenderer);
411
- this.registerCoreComponent(HtmlTags_1.htmlColgroupTagRenderer);
412
- this.registerCoreComponent(HtmlTags_1.htmlDataTagRenderer);
413
- this.registerCoreComponent(HtmlTags_1.htmlDatalistTagRenderer);
414
- this.registerCoreComponent(HtmlTags_1.htmlDdTagRenderer);
415
- this.registerCoreComponent(HtmlTags_1.htmlDelTagRenderer);
416
- this.registerCoreComponent(HtmlTags_1.htmlDetailsTagRenderer);
417
- this.registerCoreComponent(HtmlTags_1.htmlDfnTagRenderer);
418
- this.registerCoreComponent(HtmlTags_1.htmlDialogTagRenderer);
419
- this.registerCoreComponent(HtmlTags_1.htmlDivTagRenderer);
420
- this.registerCoreComponent(HtmlTags_1.htmlDlTagRenderer);
421
- this.registerCoreComponent(HtmlTags_1.htmlDtTagRenderer);
422
- this.registerCoreComponent(HtmlTags_1.htmlEMTagRenderer);
423
- this.registerCoreComponent(HtmlTags_1.htmlEmbedTagRenderer);
424
- this.registerCoreComponent(HtmlTags_1.htmlFieldsetTagRenderer);
425
- this.registerCoreComponent(HtmlTags_1.htmlFigcaptionTagRenderer);
426
- this.registerCoreComponent(HtmlTags_1.htmlFigureTagRenderer);
427
- this.registerCoreComponent(HtmlTags_1.htmlFooterTagRenderer);
428
- this.registerCoreComponent(HtmlTags_1.htmlFormTagRenderer);
429
- this.registerCoreComponent(HtmlTags_1.htmlH1TagRenderer);
430
- this.registerCoreComponent(HtmlTags_1.htmlH2TagRenderer);
431
- this.registerCoreComponent(HtmlTags_1.htmlH3TagRenderer);
432
- this.registerCoreComponent(HtmlTags_1.htmlH4TagRenderer);
433
- this.registerCoreComponent(HtmlTags_1.htmlH5TagRenderer);
434
- this.registerCoreComponent(HtmlTags_1.htmlH6TagRenderer);
435
- this.registerCoreComponent(HtmlTags_1.htmlHeaderTagRenderer);
436
- this.registerCoreComponent(HtmlTags_1.htmlHrTagRenderer);
437
- this.registerCoreComponent(HtmlTags_1.htmlITagRenderer);
438
- this.registerCoreComponent(HtmlTags_1.htmlIframeTagRenderer);
439
- this.registerCoreComponent(HtmlTags_1.htmlImgTagRenderer);
440
- this.registerCoreComponent(HtmlTags_1.htmlInputTagRenderer);
441
- this.registerCoreComponent(HtmlTags_1.htmlInsTagRenderer);
442
- this.registerCoreComponent(HtmlTags_1.htmlKbdTagRenderer);
443
- this.registerCoreComponent(HtmlTags_1.htmlLabelTagRenderer);
444
- this.registerCoreComponent(HtmlTags_1.htmlLegendTagRenderer);
445
- this.registerCoreComponent(HtmlTags_1.htmlLiTagRenderer);
446
- this.registerCoreComponent(HtmlTags_1.htmlMainTagRenderer);
447
- this.registerCoreComponent(HtmlTags_1.htmlMapTagRenderer);
448
- this.registerCoreComponent(HtmlTags_1.htmlMarkTagRenderer);
449
- this.registerCoreComponent(HtmlTags_1.htmlMenuTagRenderer);
450
- this.registerCoreComponent(HtmlTags_1.htmlMeterTagRenderer);
451
- this.registerCoreComponent(HtmlTags_1.htmlNavTagRenderer);
452
- this.registerCoreComponent(HtmlTags_1.htmlObjectTagRenderer);
453
- this.registerCoreComponent(HtmlTags_1.htmlOlTagRenderer);
454
- this.registerCoreComponent(HtmlTags_1.htmlOptgroupTagRenderer);
455
- this.registerCoreComponent(HtmlTags_1.htmlOptionTagRenderer);
456
- this.registerCoreComponent(HtmlTags_1.htmlOutputTagRenderer);
457
- this.registerCoreComponent(HtmlTags_1.htmlPTagRenderer);
458
- this.registerCoreComponent(HtmlTags_1.htmlParamTagRenderer);
459
- this.registerCoreComponent(HtmlTags_1.htmlPictureTagRenderer);
460
- this.registerCoreComponent(HtmlTags_1.htmlPreTagRenderer);
461
- this.registerCoreComponent(HtmlTags_1.htmlProgressTagRenderer);
462
- this.registerCoreComponent(HtmlTags_1.htmlQTagRenderer);
463
- this.registerCoreComponent(HtmlTags_1.htmlRpTagRenderer);
464
- this.registerCoreComponent(HtmlTags_1.htmlRtTagRenderer);
465
- this.registerCoreComponent(HtmlTags_1.htmlRubyTagRenderer);
466
- this.registerCoreComponent(HtmlTags_1.htmlSTagRenderer);
467
- this.registerCoreComponent(HtmlTags_1.htmlSampTagRenderer);
468
- this.registerCoreComponent(HtmlTags_1.htmlSectionTagRenderer);
469
- this.registerCoreComponent(HtmlTags_1.htmlSelectTagRenderer);
470
- this.registerCoreComponent(HtmlTags_1.htmlSmallTagRenderer);
471
- this.registerCoreComponent(HtmlTags_1.htmlSourceTagRenderer);
472
- this.registerCoreComponent(HtmlTags_1.htmlSpanTagRenderer);
473
- this.registerCoreComponent(HtmlTags_1.htmlStrongTagRenderer);
474
- this.registerCoreComponent(HtmlTags_1.htmlSubTagRenderer);
475
- this.registerCoreComponent(HtmlTags_1.htmlSummaryTagRenderer);
476
- this.registerCoreComponent(HtmlTags_1.htmlSupTagRenderer);
477
- this.registerCoreComponent(HtmlTags_1.htmlTableTagRenderer);
478
- this.registerCoreComponent(HtmlTags_1.htmlTbodyTagRenderer);
479
- this.registerCoreComponent(HtmlTags_1.htmlTdTagRenderer);
480
- this.registerCoreComponent(HtmlTags_1.htmlTemplateTagRenderer);
481
- this.registerCoreComponent(HtmlTags_1.htmlTextareaTagRenderer);
482
- this.registerCoreComponent(HtmlTags_1.htmlTfootTagRenderer);
483
- this.registerCoreComponent(HtmlTags_1.htmlThTagRenderer);
484
- this.registerCoreComponent(HtmlTags_1.htmlTheadTagRenderer);
485
- this.registerCoreComponent(HtmlTags_1.htmlTimeTagRenderer);
486
- this.registerCoreComponent(HtmlTags_1.htmlTrTagRenderer);
487
- this.registerCoreComponent(HtmlTags_1.htmlTrackTagRenderer);
488
- this.registerCoreComponent(HtmlTags_1.htmlUTagRenderer);
489
- this.registerCoreComponent(HtmlTags_1.htmlUlTagRenderer);
490
- this.registerCoreComponent(HtmlTags_1.htmlVarTagRenderer);
491
- this.registerCoreComponent(HtmlTags_1.htmlVideoTagRenderer);
492
- this.registerCoreComponent(HtmlTags_1.htmlWbrTagRenderer);
402
+ if (process.env.VITE_INCLUDE_HTML_COMPONENTS !== "false") {
403
+ this.registerCoreComponent(HtmlTags_1.htmlATagRenderer);
404
+ this.registerCoreComponent(HtmlTags_1.htmlAbbrTagRenderer);
405
+ this.registerCoreComponent(HtmlTags_1.htmlAddressTagRenderer);
406
+ this.registerCoreComponent(HtmlTags_1.htmlAreaTagRenderer);
407
+ this.registerCoreComponent(HtmlTags_1.htmlArticleTagRenderer);
408
+ this.registerCoreComponent(HtmlTags_1.htmlAsideTagRenderer);
409
+ this.registerCoreComponent(HtmlTags_1.htmlAudioTagRenderer);
410
+ this.registerCoreComponent(HtmlTags_1.htmlBTagRenderer);
411
+ this.registerCoreComponent(HtmlTags_1.htmlBdiTagRenderer);
412
+ this.registerCoreComponent(HtmlTags_1.htmlBdoTagRenderer);
413
+ this.registerCoreComponent(HtmlTags_1.htmlBlockquoteTagRenderer);
414
+ this.registerCoreComponent(HtmlTags_1.htmlBrTagRenderer);
415
+ this.registerCoreComponent(HtmlTags_1.htmlButtonTagRenderer);
416
+ this.registerCoreComponent(HtmlTags_1.htmlCanvasTagRenderer);
417
+ this.registerCoreComponent(HtmlTags_1.htmlCaptionTagRenderer);
418
+ this.registerCoreComponent(HtmlTags_1.htmlCiteTagRenderer);
419
+ this.registerCoreComponent(HtmlTags_1.htmlCodeTagRenderer);
420
+ this.registerCoreComponent(HtmlTags_1.htmlColTagRenderer);
421
+ this.registerCoreComponent(HtmlTags_1.htmlColgroupTagRenderer);
422
+ this.registerCoreComponent(HtmlTags_1.htmlDataTagRenderer);
423
+ this.registerCoreComponent(HtmlTags_1.htmlDatalistTagRenderer);
424
+ this.registerCoreComponent(HtmlTags_1.htmlDdTagRenderer);
425
+ this.registerCoreComponent(HtmlTags_1.htmlDelTagRenderer);
426
+ this.registerCoreComponent(HtmlTags_1.htmlDetailsTagRenderer);
427
+ this.registerCoreComponent(HtmlTags_1.htmlDfnTagRenderer);
428
+ this.registerCoreComponent(HtmlTags_1.htmlDialogTagRenderer);
429
+ this.registerCoreComponent(HtmlTags_1.htmlDivTagRenderer);
430
+ this.registerCoreComponent(HtmlTags_1.htmlDlTagRenderer);
431
+ this.registerCoreComponent(HtmlTags_1.htmlDtTagRenderer);
432
+ this.registerCoreComponent(HtmlTags_1.htmlEMTagRenderer);
433
+ this.registerCoreComponent(HtmlTags_1.htmlEmbedTagRenderer);
434
+ this.registerCoreComponent(HtmlTags_1.htmlFieldsetTagRenderer);
435
+ this.registerCoreComponent(HtmlTags_1.htmlFigcaptionTagRenderer);
436
+ this.registerCoreComponent(HtmlTags_1.htmlFigureTagRenderer);
437
+ this.registerCoreComponent(HtmlTags_1.htmlFooterTagRenderer);
438
+ this.registerCoreComponent(HtmlTags_1.htmlFormTagRenderer);
439
+ this.registerCoreComponent(HtmlTags_1.htmlH1TagRenderer);
440
+ this.registerCoreComponent(HtmlTags_1.htmlH2TagRenderer);
441
+ this.registerCoreComponent(HtmlTags_1.htmlH3TagRenderer);
442
+ this.registerCoreComponent(HtmlTags_1.htmlH4TagRenderer);
443
+ this.registerCoreComponent(HtmlTags_1.htmlH5TagRenderer);
444
+ this.registerCoreComponent(HtmlTags_1.htmlH6TagRenderer);
445
+ this.registerCoreComponent(HtmlTags_1.htmlHeaderTagRenderer);
446
+ this.registerCoreComponent(HtmlTags_1.htmlHrTagRenderer);
447
+ this.registerCoreComponent(HtmlTags_1.htmlITagRenderer);
448
+ this.registerCoreComponent(HtmlTags_1.htmlIframeTagRenderer);
449
+ this.registerCoreComponent(HtmlTags_1.htmlImgTagRenderer);
450
+ this.registerCoreComponent(HtmlTags_1.htmlInputTagRenderer);
451
+ this.registerCoreComponent(HtmlTags_1.htmlInsTagRenderer);
452
+ this.registerCoreComponent(HtmlTags_1.htmlKbdTagRenderer);
453
+ this.registerCoreComponent(HtmlTags_1.htmlLabelTagRenderer);
454
+ this.registerCoreComponent(HtmlTags_1.htmlLegendTagRenderer);
455
+ this.registerCoreComponent(HtmlTags_1.htmlLiTagRenderer);
456
+ this.registerCoreComponent(HtmlTags_1.htmlMainTagRenderer);
457
+ this.registerCoreComponent(HtmlTags_1.htmlMapTagRenderer);
458
+ this.registerCoreComponent(HtmlTags_1.htmlMarkTagRenderer);
459
+ this.registerCoreComponent(HtmlTags_1.htmlMenuTagRenderer);
460
+ this.registerCoreComponent(HtmlTags_1.htmlMeterTagRenderer);
461
+ this.registerCoreComponent(HtmlTags_1.htmlNavTagRenderer);
462
+ this.registerCoreComponent(HtmlTags_1.htmlObjectTagRenderer);
463
+ this.registerCoreComponent(HtmlTags_1.htmlOlTagRenderer);
464
+ this.registerCoreComponent(HtmlTags_1.htmlOptgroupTagRenderer);
465
+ this.registerCoreComponent(HtmlTags_1.htmlOptionTagRenderer);
466
+ this.registerCoreComponent(HtmlTags_1.htmlOutputTagRenderer);
467
+ this.registerCoreComponent(HtmlTags_1.htmlPTagRenderer);
468
+ this.registerCoreComponent(HtmlTags_1.htmlParamTagRenderer);
469
+ this.registerCoreComponent(HtmlTags_1.htmlPictureTagRenderer);
470
+ this.registerCoreComponent(HtmlTags_1.htmlPreTagRenderer);
471
+ this.registerCoreComponent(HtmlTags_1.htmlProgressTagRenderer);
472
+ this.registerCoreComponent(HtmlTags_1.htmlQTagRenderer);
473
+ this.registerCoreComponent(HtmlTags_1.htmlRpTagRenderer);
474
+ this.registerCoreComponent(HtmlTags_1.htmlRtTagRenderer);
475
+ this.registerCoreComponent(HtmlTags_1.htmlRubyTagRenderer);
476
+ this.registerCoreComponent(HtmlTags_1.htmlSTagRenderer);
477
+ this.registerCoreComponent(HtmlTags_1.htmlSampTagRenderer);
478
+ this.registerCoreComponent(HtmlTags_1.htmlSectionTagRenderer);
479
+ this.registerCoreComponent(HtmlTags_1.htmlSelectTagRenderer);
480
+ this.registerCoreComponent(HtmlTags_1.htmlSmallTagRenderer);
481
+ this.registerCoreComponent(HtmlTags_1.htmlSourceTagRenderer);
482
+ this.registerCoreComponent(HtmlTags_1.htmlSpanTagRenderer);
483
+ this.registerCoreComponent(HtmlTags_1.htmlStrongTagRenderer);
484
+ this.registerCoreComponent(HtmlTags_1.htmlSubTagRenderer);
485
+ this.registerCoreComponent(HtmlTags_1.htmlSummaryTagRenderer);
486
+ this.registerCoreComponent(HtmlTags_1.htmlSupTagRenderer);
487
+ this.registerCoreComponent(HtmlTags_1.htmlTableTagRenderer);
488
+ this.registerCoreComponent(HtmlTags_1.htmlTbodyTagRenderer);
489
+ this.registerCoreComponent(HtmlTags_1.htmlTdTagRenderer);
490
+ this.registerCoreComponent(HtmlTags_1.htmlTemplateTagRenderer);
491
+ this.registerCoreComponent(HtmlTags_1.htmlTextareaTagRenderer);
492
+ this.registerCoreComponent(HtmlTags_1.htmlTfootTagRenderer);
493
+ this.registerCoreComponent(HtmlTags_1.htmlThTagRenderer);
494
+ this.registerCoreComponent(HtmlTags_1.htmlTheadTagRenderer);
495
+ this.registerCoreComponent(HtmlTags_1.htmlTimeTagRenderer);
496
+ this.registerCoreComponent(HtmlTags_1.htmlTrTagRenderer);
497
+ this.registerCoreComponent(HtmlTags_1.htmlTrackTagRenderer);
498
+ this.registerCoreComponent(HtmlTags_1.htmlUTagRenderer);
499
+ this.registerCoreComponent(HtmlTags_1.htmlUlTagRenderer);
500
+ this.registerCoreComponent(HtmlTags_1.htmlVarTagRenderer);
501
+ this.registerCoreComponent(HtmlTags_1.htmlVideoTagRenderer);
502
+ this.registerCoreComponent(HtmlTags_1.htmlWbrTagRenderer);
503
+ this.registerCoreComponent(HtmlTags_1.htmlATagRenderer);
504
+ this.registerCoreComponent(HtmlTags_1.htmlAbbrTagRenderer);
505
+ this.registerCoreComponent(HtmlTags_1.htmlAddressTagRenderer);
506
+ this.registerCoreComponent(HtmlTags_1.htmlAreaTagRenderer);
507
+ this.registerCoreComponent(HtmlTags_1.htmlArticleTagRenderer);
508
+ this.registerCoreComponent(HtmlTags_1.htmlAsideTagRenderer);
509
+ this.registerCoreComponent(HtmlTags_1.htmlAudioTagRenderer);
510
+ this.registerCoreComponent(HtmlTags_1.htmlBTagRenderer);
511
+ this.registerCoreComponent(HtmlTags_1.htmlBdiTagRenderer);
512
+ this.registerCoreComponent(HtmlTags_1.htmlBdoTagRenderer);
513
+ this.registerCoreComponent(HtmlTags_1.htmlBlockquoteTagRenderer);
514
+ this.registerCoreComponent(HtmlTags_1.htmlBrTagRenderer);
515
+ this.registerCoreComponent(HtmlTags_1.htmlButtonTagRenderer);
516
+ this.registerCoreComponent(HtmlTags_1.htmlCanvasTagRenderer);
517
+ this.registerCoreComponent(HtmlTags_1.htmlCaptionTagRenderer);
518
+ this.registerCoreComponent(HtmlTags_1.htmlCiteTagRenderer);
519
+ this.registerCoreComponent(HtmlTags_1.htmlCodeTagRenderer);
520
+ this.registerCoreComponent(HtmlTags_1.htmlColTagRenderer);
521
+ this.registerCoreComponent(HtmlTags_1.htmlColgroupTagRenderer);
522
+ this.registerCoreComponent(HtmlTags_1.htmlDataTagRenderer);
523
+ this.registerCoreComponent(HtmlTags_1.htmlDatalistTagRenderer);
524
+ this.registerCoreComponent(HtmlTags_1.htmlDdTagRenderer);
525
+ this.registerCoreComponent(HtmlTags_1.htmlDelTagRenderer);
526
+ this.registerCoreComponent(HtmlTags_1.htmlDetailsTagRenderer);
527
+ this.registerCoreComponent(HtmlTags_1.htmlDfnTagRenderer);
528
+ this.registerCoreComponent(HtmlTags_1.htmlDialogTagRenderer);
529
+ this.registerCoreComponent(HtmlTags_1.htmlDivTagRenderer);
530
+ this.registerCoreComponent(HtmlTags_1.htmlDlTagRenderer);
531
+ this.registerCoreComponent(HtmlTags_1.htmlDtTagRenderer);
532
+ this.registerCoreComponent(HtmlTags_1.htmlEMTagRenderer);
533
+ this.registerCoreComponent(HtmlTags_1.htmlEmbedTagRenderer);
534
+ this.registerCoreComponent(HtmlTags_1.htmlFieldsetTagRenderer);
535
+ this.registerCoreComponent(HtmlTags_1.htmlFigcaptionTagRenderer);
536
+ this.registerCoreComponent(HtmlTags_1.htmlFigureTagRenderer);
537
+ this.registerCoreComponent(HtmlTags_1.htmlFooterTagRenderer);
538
+ this.registerCoreComponent(HtmlTags_1.htmlFormTagRenderer);
539
+ this.registerCoreComponent(HtmlTags_1.htmlH1TagRenderer);
540
+ this.registerCoreComponent(HtmlTags_1.htmlH2TagRenderer);
541
+ this.registerCoreComponent(HtmlTags_1.htmlH3TagRenderer);
542
+ this.registerCoreComponent(HtmlTags_1.htmlH4TagRenderer);
543
+ this.registerCoreComponent(HtmlTags_1.htmlH5TagRenderer);
544
+ this.registerCoreComponent(HtmlTags_1.htmlH6TagRenderer);
545
+ this.registerCoreComponent(HtmlTags_1.htmlHeaderTagRenderer);
546
+ this.registerCoreComponent(HtmlTags_1.htmlHrTagRenderer);
547
+ this.registerCoreComponent(HtmlTags_1.htmlITagRenderer);
548
+ this.registerCoreComponent(HtmlTags_1.htmlIframeTagRenderer);
549
+ this.registerCoreComponent(HtmlTags_1.htmlImgTagRenderer);
550
+ this.registerCoreComponent(HtmlTags_1.htmlInputTagRenderer);
551
+ this.registerCoreComponent(HtmlTags_1.htmlInsTagRenderer);
552
+ this.registerCoreComponent(HtmlTags_1.htmlKbdTagRenderer);
553
+ this.registerCoreComponent(HtmlTags_1.htmlLabelTagRenderer);
554
+ this.registerCoreComponent(HtmlTags_1.htmlLegendTagRenderer);
555
+ this.registerCoreComponent(HtmlTags_1.htmlLiTagRenderer);
556
+ this.registerCoreComponent(HtmlTags_1.htmlMainTagRenderer);
557
+ this.registerCoreComponent(HtmlTags_1.htmlMapTagRenderer);
558
+ this.registerCoreComponent(HtmlTags_1.htmlMarkTagRenderer);
559
+ this.registerCoreComponent(HtmlTags_1.htmlMenuTagRenderer);
560
+ this.registerCoreComponent(HtmlTags_1.htmlMeterTagRenderer);
561
+ this.registerCoreComponent(HtmlTags_1.htmlNavTagRenderer);
562
+ this.registerCoreComponent(HtmlTags_1.htmlObjectTagRenderer);
563
+ this.registerCoreComponent(HtmlTags_1.htmlOlTagRenderer);
564
+ this.registerCoreComponent(HtmlTags_1.htmlOptgroupTagRenderer);
565
+ this.registerCoreComponent(HtmlTags_1.htmlOptionTagRenderer);
566
+ this.registerCoreComponent(HtmlTags_1.htmlOutputTagRenderer);
567
+ this.registerCoreComponent(HtmlTags_1.htmlPTagRenderer);
568
+ this.registerCoreComponent(HtmlTags_1.htmlParamTagRenderer);
569
+ this.registerCoreComponent(HtmlTags_1.htmlPictureTagRenderer);
570
+ this.registerCoreComponent(HtmlTags_1.htmlPreTagRenderer);
571
+ this.registerCoreComponent(HtmlTags_1.htmlProgressTagRenderer);
572
+ this.registerCoreComponent(HtmlTags_1.htmlQTagRenderer);
573
+ this.registerCoreComponent(HtmlTags_1.htmlRpTagRenderer);
574
+ this.registerCoreComponent(HtmlTags_1.htmlRtTagRenderer);
575
+ this.registerCoreComponent(HtmlTags_1.htmlRubyTagRenderer);
576
+ this.registerCoreComponent(HtmlTags_1.htmlSTagRenderer);
577
+ this.registerCoreComponent(HtmlTags_1.htmlSampTagRenderer);
578
+ this.registerCoreComponent(HtmlTags_1.htmlSectionTagRenderer);
579
+ this.registerCoreComponent(HtmlTags_1.htmlSelectTagRenderer);
580
+ this.registerCoreComponent(HtmlTags_1.htmlSmallTagRenderer);
581
+ this.registerCoreComponent(HtmlTags_1.htmlSourceTagRenderer);
582
+ this.registerCoreComponent(HtmlTags_1.htmlSpanTagRenderer);
583
+ this.registerCoreComponent(HtmlTags_1.htmlStrongTagRenderer);
584
+ this.registerCoreComponent(HtmlTags_1.htmlSubTagRenderer);
585
+ this.registerCoreComponent(HtmlTags_1.htmlSummaryTagRenderer);
586
+ this.registerCoreComponent(HtmlTags_1.htmlSupTagRenderer);
587
+ this.registerCoreComponent(HtmlTags_1.htmlTableTagRenderer);
588
+ this.registerCoreComponent(HtmlTags_1.htmlTbodyTagRenderer);
589
+ this.registerCoreComponent(HtmlTags_1.htmlTdTagRenderer);
590
+ this.registerCoreComponent(HtmlTags_1.htmlTemplateTagRenderer);
591
+ this.registerCoreComponent(HtmlTags_1.htmlTextareaTagRenderer);
592
+ this.registerCoreComponent(HtmlTags_1.htmlTfootTagRenderer);
593
+ this.registerCoreComponent(HtmlTags_1.htmlThTagRenderer);
594
+ this.registerCoreComponent(HtmlTags_1.htmlTheadTagRenderer);
595
+ this.registerCoreComponent(HtmlTags_1.htmlTimeTagRenderer);
596
+ this.registerCoreComponent(HtmlTags_1.htmlTrTagRenderer);
597
+ this.registerCoreComponent(HtmlTags_1.htmlTrackTagRenderer);
598
+ this.registerCoreComponent(HtmlTags_1.htmlUTagRenderer);
599
+ this.registerCoreComponent(HtmlTags_1.htmlUlTagRenderer);
600
+ this.registerCoreComponent(HtmlTags_1.htmlVarTagRenderer);
601
+ this.registerCoreComponent(HtmlTags_1.htmlVideoTagRenderer);
602
+ this.registerCoreComponent(HtmlTags_1.htmlWbrTagRenderer);
603
+ }
493
604
  this.registerActionFn(APICall_1.apiAction);
494
605
  this.registerActionFn(FileDownloadAction_1.downloadAction);
495
606
  this.registerActionFn(FileUploadAction_1.uploadAction);
@@ -519,12 +630,6 @@ class ComponentRegistry {
519
630
  get actionFunctions() {
520
631
  return this.actionFns;
521
632
  }
522
- /**
523
- * @returns The keys of all components registered in the component registry.
524
- */
525
- getRegisteredComponentKeys() {
526
- return Array.from(this.pool.keys());
527
- }
528
633
  /**
529
634
  * This method retrieves the registry entry of a component registered
530
635
  * with the specified key.
@@ -532,7 +637,22 @@ class ComponentRegistry {
532
637
  * @returns The component registry entry, if found; otherwise, undefined.
533
638
  */
534
639
  lookupComponentRenderer(componentName) {
535
- return this.pool.get(componentName);
640
+ var _a, _b, _c, _d;
641
+ if (!componentName) {
642
+ return undefined;
643
+ }
644
+ // componentName without namespace, 1. core, 2. app, 3. XMLUIExtension
645
+ if (!componentName.includes(".")) {
646
+ return (((_a = this.pool.get(CORE_NS)) === null || _a === void 0 ? void 0 : _a.get(componentName)) ||
647
+ ((_b = this.pool.get(APP_NS)) === null || _b === void 0 ? void 0 : _b.get(componentName)) ||
648
+ ((_c = this.pool.get(EXTENSIONS_NS)) === null || _c === void 0 ? void 0 : _c.get(componentName)));
649
+ }
650
+ // order: componentName includes namespace, find in that pool
651
+ const nameInfo = this.namePool.get(componentName);
652
+ if (!nameInfo) {
653
+ return undefined;
654
+ }
655
+ return (_d = this.pool.get(nameInfo.namespace)) === null || _d === void 0 ? void 0 : _d.get(nameInfo.name);
536
656
  }
537
657
  /**
538
658
  * This method retrieves the registry entry of an action registered
@@ -579,9 +699,8 @@ class ComponentRegistry {
579
699
  getExtensionManager() {
580
700
  return this.extensionManager;
581
701
  }
582
- ;
583
702
  // --- Registers a compound component using its definition and metadata
584
- registerCompoundComponentRenderer({ compoundComponentDef, metadata }, ...namespaces) {
703
+ registerCompoundComponentRenderer({ compoundComponentDef, metadata }, namespace) {
585
704
  const component = {
586
705
  type: compoundComponentDef.name,
587
706
  renderer: (rendererContext) => {
@@ -590,7 +709,7 @@ class ComponentRegistry {
590
709
  isCompoundComponent: true,
591
710
  metadata,
592
711
  };
593
- this.registerComponentRenderer(component, ...namespaces);
712
+ this.registerComponentRenderer(component, namespace);
594
713
  }
595
714
  // --- Registers an action function using its definition
596
715
  registerActionFn({ actionName: functionName, actionFn }) {
@@ -113,6 +113,15 @@ const TransformedMarkdown = ({ children, removeIndents, style, extractValue, cod
113
113
  (0, utils_1.convertPlaygroundPatternToMarkdown)(nextPlayground[2]) +
114
114
  resolvedMd.slice(nextPlayground[1]);
115
115
  }
116
+ while (true) {
117
+ const nextTreeDisplay = (0, utils_1.observeTreeDisplay)(resolvedMd);
118
+ if (!nextTreeDisplay)
119
+ break;
120
+ resolvedMd =
121
+ resolvedMd.slice(0, nextTreeDisplay[0]) +
122
+ (0, utils_1.convertTreeDisplayToMarkdown)(nextTreeDisplay[2]) +
123
+ resolvedMd.slice(nextTreeDisplay[1]);
124
+ }
116
125
  resolvedMd = (0, parse_binding_expr_1.parseBindingExpression)(resolvedMd, extractValue);
117
126
  return resolvedMd;
118
127
  }, [children, extractValue]);
@@ -66,6 +66,7 @@ const AppContext_1 = require("../../components-core/AppContext");
66
66
  const CodeBlockNative_1 = require("../CodeBlock/CodeBlockNative");
67
67
  const classnames_1 = __importDefault(require("classnames"));
68
68
  const IconNative_1 = __importDefault(require("../Icon/IconNative"));
69
+ const TreeDisplayNative_1 = require("../TreeDisplay/TreeDisplayNative");
69
70
  function PreTagComponent({ id, children, codeHighlighter }) {
70
71
  // TEMP: After ironing out theming for syntax highlighting, this should be removed
71
72
  const { activeThemeTone } = (0, ThemeContext_1.useTheme)();
@@ -283,6 +284,15 @@ exports.Markdown = (0, react_1.memo)(function Markdown({ removeIndents = true, c
283
284
  }
284
285
  return ((0, jsx_runtime_1.jsx)(NestedAppNative_1.IndexAwareNestedApp, { app: nestedProps.app, config: nestedProps.config, components: nestedProps.components, api: nestedProps.api, activeTheme: nestedProps.activeTheme, activeTone: nestedProps.activeTone, title: nestedProps.title, height: nestedProps.height, allowPlaygroundPopup: true }));
285
286
  },
287
+ section(_a) {
288
+ var { children } = _a, props = __rest(_a, ["children"]);
289
+ const treeContentBase64 = props === null || props === void 0 ? void 0 : props["data-tree-content"];
290
+ if (treeContentBase64 !== undefined) {
291
+ const content = atob(treeContentBase64);
292
+ return (0, jsx_runtime_1.jsx)(TreeDisplayNative_1.TreeDisplay, { content: content, itemHeight: 24 });
293
+ }
294
+ return null;
295
+ }
286
296
  }, children: children }) }));
287
297
  });
288
298
  const HorizontalRule = () => {
@@ -4,6 +4,8 @@ exports.observePlaygroundPattern = observePlaygroundPattern;
4
4
  exports.parseSegmentProps = parseSegmentProps;
5
5
  exports.parsePlaygroundPattern = parsePlaygroundPattern;
6
6
  exports.convertPlaygroundPatternToMarkdown = convertPlaygroundPatternToMarkdown;
7
+ exports.observeTreeDisplay = observeTreeDisplay;
8
+ exports.convertTreeDisplayToMarkdown = convertTreeDisplayToMarkdown;
7
9
  function observePlaygroundPattern(content) {
8
10
  const startPattern = "```xmlui-pg";
9
11
  const endPattern = "```";
@@ -280,3 +282,39 @@ function convertPlaygroundPatternToMarkdown(content) {
280
282
  markdownContent += '<samp data-pg-content="' + base64String + '"></samp>\n\n';
281
283
  return markdownContent;
282
284
  }
285
+ function observeTreeDisplay(content) {
286
+ const startPattern = "```xmlui-tree";
287
+ const endPattern = "```";
288
+ const startIndex = content.indexOf(startPattern);
289
+ if (startIndex === -1) {
290
+ return null; // No match for the start pattern
291
+ }
292
+ // Find the end of the start pattern
293
+ const startContentIndex = content.indexOf("\n", startIndex);
294
+ if (startContentIndex === -1) {
295
+ return null; // Malformed pattern, no newline after start
296
+ }
297
+ // Search for the end pattern after the start content
298
+ let endIndex = startContentIndex;
299
+ while (endIndex !== -1) {
300
+ endIndex = content.indexOf(endPattern, endIndex + 1);
301
+ if (endIndex !== -1) {
302
+ // Check if the end pattern is not escaped
303
+ const precedingChar = content[endIndex - 1];
304
+ if (precedingChar !== "\\") {
305
+ return [
306
+ startIndex,
307
+ endIndex + endPattern.length,
308
+ content.substring(startIndex, endIndex + endPattern.length),
309
+ ];
310
+ }
311
+ }
312
+ }
313
+ return null; // No valid end pattern found
314
+ }
315
+ function convertTreeDisplayToMarkdown(content) {
316
+ if (content.startsWith("```xmlui-tree") && content.endsWith("```")) {
317
+ const treeContent = content.slice("```xmlui-tree".length, content.indexOf("```", "```xmlui-tree".length)).trim();
318
+ return `<section data-tree-content="${btoa(treeContent)}"></section>\n\n`;
319
+ }
320
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NavGroupContext = void 0;
4
+ const react_1 = require("react");
5
+ const NavGroupNative_1 = require("./NavGroupNative");
6
+ exports.NavGroupContext = (0, react_1.createContext)({
7
+ level: -1,
8
+ iconHorizontalCollapsed: NavGroupNative_1.defaultProps.iconHorizontalCollapsed,
9
+ iconHorizontalExpanded: NavGroupNative_1.defaultProps.iconHorizontalExpanded,
10
+ iconVerticalCollapsed: NavGroupNative_1.defaultProps.iconVerticalCollapsed,
11
+ iconVerticalExpanded: NavGroupNative_1.defaultProps.iconVerticalExpanded,
12
+ });