xmlui 0.9.0 → 0.9.2

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 (45) hide show
  1. package/dist/{apiInterceptorWorker-B1u6prJM.mjs → apiInterceptorWorker-DJ_oGB-F.mjs} +1 -1
  2. package/dist/{index-CVvazA5D.mjs → index-2qtmUAFJ.mjs} +37 -21
  3. package/dist/index.css +12 -14
  4. package/dist/scripts/bin/vite-xmlui-plugin.js +1 -1
  5. package/dist/scripts/src/abstractions/scripting/ScriptingSourceTree.js +48 -0
  6. package/dist/scripts/src/components/Markdown/MarkdownNative.js +2 -2
  7. package/dist/scripts/src/components-core/RestApiProxy.js +2 -2
  8. package/dist/scripts/src/components-core/rendering/Container.js +3 -3
  9. package/dist/scripts/src/components-core/rendering/StateContainer.js +3 -3
  10. package/dist/scripts/src/components-core/script-runner/ParameterParser.js +1 -1
  11. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +66 -47
  12. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +8 -8
  13. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +37 -37
  14. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +29 -29
  15. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +5 -5
  16. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +29 -29
  17. package/dist/scripts/src/components-core/script-runner/visitors.js +47 -47
  18. package/dist/scripts/src/components-core/theming/ThemeProvider.js +2 -2
  19. package/dist/scripts/src/components-core/theming/themes/root.js +1 -1
  20. package/dist/scripts/src/components-core/utils/statementUtils.js +32 -32
  21. package/dist/scripts/src/parsers/scripting/Lexer.js +166 -178
  22. package/dist/scripts/src/parsers/scripting/Parser.js +555 -701
  23. package/dist/scripts/src/parsers/scripting/ParserError.js +3 -3
  24. package/dist/scripts/src/parsers/scripting/TokenTrait.js +103 -105
  25. package/dist/scripts/src/parsers/{scripting-exp → scripting}/code-behind-collect.js +4 -4
  26. package/dist/scripts/src/parsers/{scripting-exp → scripting}/modules.js +2 -2
  27. package/dist/scripts/src/parsers/{scripting-exp → scripting}/tree-visitor.js +45 -45
  28. package/dist/scripts/src/parsers/xmlui-parser/transform.js +2 -2
  29. package/dist/style.css +12 -14
  30. package/dist/xmlui-metadata.mjs +1 -1
  31. package/dist/xmlui-metadata.umd.js +1 -1
  32. package/dist/xmlui-parser.d.ts +1 -11
  33. package/dist/xmlui-standalone.umd.js +51 -37
  34. package/dist/xmlui.d.ts +2 -75
  35. package/dist/xmlui.mjs +1 -1
  36. package/package.json +3 -3
  37. package/dist/scripts/src/abstractions/scripting/ScriptingSourceTreeExp.js +0 -50
  38. package/dist/scripts/src/abstractions/scripting/Token.js +0 -112
  39. package/dist/scripts/src/components-core/theming/abstractions.js +0 -11
  40. package/dist/scripts/src/parsers/scripting-exp/Lexer.js +0 -1092
  41. package/dist/scripts/src/parsers/scripting-exp/Parser.js +0 -2635
  42. package/dist/scripts/src/parsers/scripting-exp/ParserError.js +0 -47
  43. package/dist/scripts/src/parsers/scripting-exp/TokenTrait.js +0 -109
  44. /package/dist/scripts/src/abstractions/scripting/{LogicalThreadExp.js → LogicalThread.js} +0 -0
  45. /package/dist/scripts/src/parsers/{scripting-exp → scripting}/TokenType.js +0 -0
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CORE_NAMESPACE_VALUE = exports.onPrefixRegex = exports.UCRegex = exports.COMPOUND_COMP_ID = void 0;
4
4
  exports.nodeToComponentDef = nodeToComponentDef;
5
- const code_behind_collect_1 = require("../scripting-exp/code-behind-collect");
5
+ const code_behind_collect_1 = require("../scripting/code-behind-collect");
6
6
  const syntax_kind_1 = require("./syntax-kind");
7
7
  const ParserError_1 = require("./ParserError");
8
- const Parser_1 = require("../scripting-exp/Parser");
8
+ const Parser_1 = require("../scripting/Parser");
9
9
  const CharacterCodes_1 = require("./CharacterCodes");
10
10
  exports.COMPOUND_COMP_ID = "Component";
11
11
  exports.UCRegex = /^[A-Z]/;
package/dist/style.css CHANGED
@@ -6074,7 +6074,7 @@ li ._htmlOl_1snis_205 {
6074
6074
  * This function allows other CSS modules to get the value of the CSS variable specified in $componentVariable.
6075
6075
  Optionally, you can provide a $fallbackValue to set the variable's value if that is not defined.
6076
6076
  */
6077
- ._splitter_1qevg_13 {
6077
+ ._splitter_12v45_13 {
6078
6078
  overflow: hidden;
6079
6079
  position: relative;
6080
6080
  flex-wrap: nowrap;
@@ -6087,50 +6087,48 @@ li ._htmlOl_1snis_205 {
6087
6087
  border: var(--xmlui-border-Splitter) var(--xmlui-borderStyle-Splitter) var(--xmlui-borderColor-Splitter);
6088
6088
  user-select: none;
6089
6089
  }
6090
- ._splitter_1qevg_13._vertical_1qevg_26 {
6090
+ ._splitter_12v45_13._vertical_12v45_26 {
6091
6091
  flex-direction: column;
6092
6092
  }
6093
- ._splitter_1qevg_13._horizontal_1qevg_29 {
6093
+ ._splitter_12v45_13._horizontal_12v45_29 {
6094
6094
  flex-direction: row;
6095
6095
  }
6096
6096
 
6097
- ._panel_1qevg_33 {
6097
+ ._panel_12v45_33 {
6098
6098
  overflow: hidden;
6099
6099
  display: flex;
6100
6100
  flex-direction: column;
6101
6101
  flex: 1;
6102
6102
  }
6103
6103
 
6104
- ._primaryPanel_1qevg_40 {
6104
+ ._primaryPanel_12v45_40 {
6105
6105
  flex-shrink: 0;
6106
6106
  flex-grow: 0;
6107
6107
  overflow: auto;
6108
6108
  order: 1;
6109
6109
  }
6110
6110
 
6111
- ._secondaryPanel_1qevg_47 {
6111
+ ._secondaryPanel_12v45_47 {
6112
6112
  flex: 1;
6113
6113
  overflow: auto;
6114
6114
  order: 3;
6115
6115
  }
6116
6116
 
6117
- ._resizer_1qevg_53 {
6117
+ ._resizer_12v45_53 {
6118
6118
  order: 2;
6119
6119
  overflow: hidden;
6120
6120
  background-color: var(--xmlui-backgroundColor-resizer-Splitter, transparent);
6121
6121
  }
6122
- ._resizer_1qevg_53._vertical_1qevg_26 {
6122
+ ._resizer_12v45_53._vertical_12v45_26 {
6123
6123
  cursor: var(--xmlui-cursor-resizer-vertical-Splitter, ns-resize);
6124
- width: 100%;
6125
6124
  height: var(--xmlui-thickness-resizer-Splitter, 5px);
6126
6125
  }
6127
- ._resizer_1qevg_53._horizontal_1qevg_29 {
6126
+ ._resizer_12v45_53._horizontal_12v45_29 {
6128
6127
  cursor: var(--xmlui-cursor-resizer-horizontal-Splitter, ew-resize);
6129
6128
  width: var(--xmlui-thickness-resizer-Splitter, 5px);
6130
- height: 100%;
6131
6129
  }
6132
6130
 
6133
- ._floatingResizer_1qevg_69 {
6131
+ ._floatingResizer_12v45_67 {
6134
6132
  position: absolute;
6135
6133
  z-index: 1000;
6136
6134
  opacity: 0;
@@ -6138,13 +6136,13 @@ li ._htmlOl_1snis_205 {
6138
6136
  transition: opacity 0.2s;
6139
6137
  background-color: var(--xmlui-backgroundColor-resizer-Splitter, transparent);
6140
6138
  }
6141
- ._floatingResizer_1qevg_69._vertical_1qevg_26 {
6139
+ ._floatingResizer_12v45_67._vertical_12v45_26 {
6142
6140
  cursor: var(--xmlui-cursor-resizer-vertical-Splitter, ns-resize);
6143
6141
  width: 100%;
6144
6142
  height: var(--xmlui-thickness-resizer-Splitter, 5px);
6145
6143
  transform: translateY(-50%);
6146
6144
  }
6147
- ._floatingResizer_1qevg_69._horizontal_1qevg_29 {
6145
+ ._floatingResizer_12v45_67._horizontal_12v45_29 {
6148
6146
  cursor: var(--xmlui-cursor-resizer-horizontal-Splitter, ew-resize);
6149
6147
  width: var(--xmlui-thickness-resizer-Splitter, 5px);
6150
6148
  height: 100%;
@@ -2019,7 +2019,7 @@ const {
2019
2019
  const RootThemeDefinition = {
2020
2020
  id: "root",
2021
2021
  resources: {
2022
- "font.inter": "https://rsms.me/inter/inter.css"
2022
+ // "font.inter": "https://rsms.me/inter/inter.css",
2023
2023
  },
2024
2024
  themeVars: {
2025
2025
  // --- The unit of measurement for all sizes/spaces
@@ -2015,7 +2015,7 @@
2015
2015
  const RootThemeDefinition = {
2016
2016
  id: "root",
2017
2017
  resources: {
2018
- "font.inter": "https://rsms.me/inter/inter.css"
2018
+ // "font.inter": "https://rsms.me/inter/inter.css",
2019
2019
  },
2020
2020
  themeVars: {
2021
2021
  // --- The unit of measurement for all sizes/spaces
@@ -1235,7 +1235,7 @@ declare interface ThemeDefinition extends ThemeDefinitionDetails {
1235
1235
  * This property defines the tone-dependent theme variable values. When a theme variable value is
1236
1236
  * resolved, the common theme variable values are overridden with their theme-specific values.
1237
1237
  */
1238
- tones?: Record<string | ThemeTone_2, ThemeDefinitionDetails>;
1238
+ tones?: Record<string | ThemeTone, ThemeDefinitionDetails>;
1239
1239
  }
1240
1240
 
1241
1241
  declare interface ThemeDefinitionDetails {
@@ -1248,21 +1248,11 @@ declare interface ThemeDefinitionDetails {
1248
1248
  */
1249
1249
  declare type ThemeTone = (typeof ThemeToneKeys)[number];
1250
1250
 
1251
- /**
1252
- * This type describes one the available theme tones.
1253
- */
1254
- declare type ThemeTone_2 = (typeof ThemeToneKeys_2)[number];
1255
-
1256
1251
  /**
1257
1252
  * Each theme can have a light or a dark tone.
1258
1253
  */
1259
1254
  declare const ThemeToneKeys: readonly ["light", "dark"];
1260
1255
 
1261
- /**
1262
- * Each theme can have a light or a dark tone.
1263
- */
1264
- declare const ThemeToneKeys_2: readonly ["light", "dark"];
1265
-
1266
1256
  declare type THROW_STATEMENT = typeof T_THROW_STATEMENT;
1267
1257
 
1268
1258
  declare interface ThrowStatement extends ScripNodeBase {
@@ -3972,7 +3972,7 @@ See this source for details: https://css-tricks.com/line-clampin/
3972
3972
  * This function allows other CSS modules to get the value of the CSS variable specified in $componentVariable.
3973
3973
  Optionally, you can provide a $fallbackValue to set the variable's value if that is not defined.
3974
3974
  */
3975
- ._splitter_1qevg_13 {
3975
+ ._splitter_12v45_13 {
3976
3976
  overflow: hidden;
3977
3977
  position: relative;
3978
3978
  flex-wrap: nowrap;
@@ -3985,50 +3985,48 @@ See this source for details: https://css-tricks.com/line-clampin/
3985
3985
  border: var(--xmlui-border-Splitter) var(--xmlui-borderStyle-Splitter) var(--xmlui-borderColor-Splitter);
3986
3986
  user-select: none;
3987
3987
  }
3988
- ._splitter_1qevg_13._vertical_1qevg_26 {
3988
+ ._splitter_12v45_13._vertical_12v45_26 {
3989
3989
  flex-direction: column;
3990
3990
  }
3991
- ._splitter_1qevg_13._horizontal_1qevg_29 {
3991
+ ._splitter_12v45_13._horizontal_12v45_29 {
3992
3992
  flex-direction: row;
3993
3993
  }
3994
3994
 
3995
- ._panel_1qevg_33 {
3995
+ ._panel_12v45_33 {
3996
3996
  overflow: hidden;
3997
3997
  display: flex;
3998
3998
  flex-direction: column;
3999
3999
  flex: 1;
4000
4000
  }
4001
4001
 
4002
- ._primaryPanel_1qevg_40 {
4002
+ ._primaryPanel_12v45_40 {
4003
4003
  flex-shrink: 0;
4004
4004
  flex-grow: 0;
4005
4005
  overflow: auto;
4006
4006
  order: 1;
4007
4007
  }
4008
4008
 
4009
- ._secondaryPanel_1qevg_47 {
4009
+ ._secondaryPanel_12v45_47 {
4010
4010
  flex: 1;
4011
4011
  overflow: auto;
4012
4012
  order: 3;
4013
4013
  }
4014
4014
 
4015
- ._resizer_1qevg_53 {
4015
+ ._resizer_12v45_53 {
4016
4016
  order: 2;
4017
4017
  overflow: hidden;
4018
4018
  background-color: var(--xmlui-backgroundColor-resizer-Splitter, transparent);
4019
4019
  }
4020
- ._resizer_1qevg_53._vertical_1qevg_26 {
4020
+ ._resizer_12v45_53._vertical_12v45_26 {
4021
4021
  cursor: var(--xmlui-cursor-resizer-vertical-Splitter, ns-resize);
4022
- width: 100%;
4023
4022
  height: var(--xmlui-thickness-resizer-Splitter, 5px);
4024
4023
  }
4025
- ._resizer_1qevg_53._horizontal_1qevg_29 {
4024
+ ._resizer_12v45_53._horizontal_12v45_29 {
4026
4025
  cursor: var(--xmlui-cursor-resizer-horizontal-Splitter, ew-resize);
4027
4026
  width: var(--xmlui-thickness-resizer-Splitter, 5px);
4028
- height: 100%;
4029
4027
  }
4030
4028
 
4031
- ._floatingResizer_1qevg_69 {
4029
+ ._floatingResizer_12v45_67 {
4032
4030
  position: absolute;
4033
4031
  z-index: 1000;
4034
4032
  opacity: 0;
@@ -4036,13 +4034,13 @@ See this source for details: https://css-tricks.com/line-clampin/
4036
4034
  transition: opacity 0.2s;
4037
4035
  background-color: var(--xmlui-backgroundColor-resizer-Splitter, transparent);
4038
4036
  }
4039
- ._floatingResizer_1qevg_69._vertical_1qevg_26 {
4037
+ ._floatingResizer_12v45_67._vertical_12v45_26 {
4040
4038
  cursor: var(--xmlui-cursor-resizer-vertical-Splitter, ns-resize);
4041
4039
  width: 100%;
4042
4040
  height: var(--xmlui-thickness-resizer-Splitter, 5px);
4043
4041
  transform: translateY(-50%);
4044
4042
  }
4045
- ._floatingResizer_1qevg_69._horizontal_1qevg_29 {
4043
+ ._floatingResizer_12v45_67._horizontal_12v45_29 {
4046
4044
  cursor: var(--xmlui-cursor-resizer-horizontal-Splitter, ew-resize);
4047
4045
  width: var(--xmlui-thickness-resizer-Splitter, 5px);
4048
4046
  height: 100%;
@@ -15998,7 +15996,7 @@ li ._htmlOl_1snis_205 {
15998
15996
  });
15999
15997
  }
16000
15998
  }
16001
- var define_process_env_default$9 = { NODE_ENV: "production", VITE_MOCK_ENABLED: true, VITE_MOCK_WORKER_LOCATION: "mockApi.js", VITE_USED_COMPONENTS_Pdf: "false", VITE_USED_COMPONENTS_Chart: "false", VITE_USER_COMPONENTS_XmluiCodeHightlighter: "false", VITE_USED_COMPONENTS_Tree: "false", VITE_XMLUI_VERSION: "0.9.0 (built 4/1/2025)" };
15999
+ var define_process_env_default$9 = { NODE_ENV: "production", VITE_MOCK_ENABLED: true, VITE_MOCK_WORKER_LOCATION: "mockApi.js", VITE_USED_COMPONENTS_Pdf: "false", VITE_USED_COMPONENTS_Chart: "false", VITE_USER_COMPONENTS_XmluiCodeHightlighter: "false", VITE_USED_COMPONENTS_Tree: "false", VITE_XMLUI_VERSION: "0.9.2 (built 4/2/2025)" };
16002
16000
  class Mutation extends Removable {
16003
16001
  constructor(config) {
16004
16002
  super();
@@ -54637,14 +54635,14 @@ ${error2.errorObject}`;
54637
54635
  }
54638
54636
  );
54639
54637
  const themeVars$p = `'{"boxShadow-Splitter": "var(--xmlui-boxShadow-Splitter)", "backgroundColor-Splitter": "var(--xmlui-backgroundColor-Splitter)", "borderRadius-Splitter": "var(--xmlui-borderRadius-Splitter)", "borderColor-Splitter": "var(--xmlui-borderColor-Splitter)", "borderWidth-Splitter": "var(--xmlui-borderWidth-Splitter)", "borderStyle-Splitter": "var(--xmlui-borderStyle-Splitter)", "border-Splitter": "var(--xmlui-border-Splitter)", "backgroundColor-resizer-Splitter": "var(--xmlui-backgroundColor-resizer-Splitter)", "thickness-resizer-Splitter": "var(--xmlui-thickness-resizer-Splitter)", "cursor-resizer-horizontal-Splitter": "var(--xmlui-cursor-resizer-horizontal-Splitter)", "cursor-resizer-vertical-Splitter": "var(--xmlui-cursor-resizer-vertical-Splitter)"}'`;
54640
- const splitter = "_splitter_1qevg_13";
54641
- const vertical$1 = "_vertical_1qevg_26";
54642
- const horizontal = "_horizontal_1qevg_29";
54643
- const panel = "_panel_1qevg_33";
54644
- const primaryPanel = "_primaryPanel_1qevg_40";
54645
- const secondaryPanel = "_secondaryPanel_1qevg_47";
54646
- const resizer = "_resizer_1qevg_53";
54647
- const floatingResizer = "_floatingResizer_1qevg_69";
54638
+ const splitter = "_splitter_12v45_13";
54639
+ const vertical$1 = "_vertical_12v45_26";
54640
+ const horizontal = "_horizontal_12v45_29";
54641
+ const panel = "_panel_12v45_33";
54642
+ const primaryPanel = "_primaryPanel_12v45_40";
54643
+ const secondaryPanel = "_secondaryPanel_12v45_47";
54644
+ const resizer = "_resizer_12v45_53";
54645
+ const floatingResizer = "_floatingResizer_12v45_67";
54648
54646
  const styles$G = {
54649
54647
  themeVars: themeVars$p,
54650
54648
  splitter,
@@ -114560,7 +114558,6 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
114560
114558
  to,
114561
114559
  baseRootComponent
114562
114560
  };
114563
- const ThemeToneKeys = ["light", "dark"];
114564
114561
  const palette = {
114565
114562
  $colorSurface0: "$color-surface-0",
114566
114563
  $colorSurface50: "$color-surface-50",
@@ -115709,6 +115706,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
115709
115706
  "size-Icon": "1rem"
115710
115707
  }
115711
115708
  };
115709
+ const ThemeToneKeys = ["light", "dark"];
115712
115710
  function useCompiledTheme(activeTheme, activeTone, themes = EMPTY_ARRAY, resources = EMPTY_OBJECT, resourceMap = EMPTY_OBJECT) {
115713
115711
  const componentRegistry = useComponentRegistry();
115714
115712
  const { componentThemeVars, componentDefaultThemeVars } = componentRegistry;
@@ -131167,7 +131165,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131167
131165
  /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { style: { display: "none" }, ref: spriteRootRef })
131168
131166
  ] });
131169
131167
  }
131170
- const version = "0.9.0";
131168
+ const version = "0.9.2";
131171
131169
  const ApiInterceptorContext = reactExports.createContext(null);
131172
131170
  function useApiInterceptorContext() {
131173
131171
  return reactExports.useContext(ApiInterceptorContext);
@@ -131583,12 +131581,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131583
131581
  }
131584
131582
  async function evalMemberAccessAsync(evaluator, thisStack, expr, evalContext, thread) {
131585
131583
  await evaluator(thisStack, expr.obj, evalContext, thread);
131584
+ await completeExprValue(expr.obj, thread);
131586
131585
  return evalMemberAccessCore(thisStack, expr, evalContext, thread);
131587
131586
  }
131588
131587
  async function evalCalculatedMemberAccessAsync(evaluator, thisStack, expr, evalContext, thread) {
131589
131588
  await evaluator(thisStack, expr.obj, evalContext, thread);
131589
+ await completeExprValue(expr.obj, thread);
131590
131590
  await evaluator(thisStack, expr.member, evalContext, thread);
131591
131591
  thisStack.pop();
131592
+ await completeExprValue(expr.member, thread);
131592
131593
  return evalCalculatedMemberAccessCore(thisStack, expr, evalContext, thread);
131593
131594
  }
131594
131595
  async function evalSequenceAsync(evaluator, thisStack, expr, evalContext, thread) {
@@ -131664,14 +131665,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131664
131665
  async function evalUnaryAsync(evaluator, thisStack, expr, evalContext, thread) {
131665
131666
  await evaluator(thisStack, expr.expr, evalContext, thread);
131666
131667
  thisStack.pop();
131668
+ await completeExprValue(expr.expr, thread);
131667
131669
  return evalUnaryCore(expr, thisStack, evalContext, thread);
131668
131670
  }
131669
131671
  async function evalBinaryAsync(evaluator, thisStack, expr, evalContext, thread) {
131670
- var _a3, _b3;
131671
131672
  await evaluator(thisStack, expr.left, evalContext, thread);
131672
131673
  thisStack.pop();
131673
- const l2 = await completePromise((_a3 = getExprValue(expr.left, thread)) == null ? void 0 : _a3.value);
131674
- setExprValue(expr.left, { value: l2 }, thread);
131674
+ const l2 = await completeExprValue(expr.left, thread);
131675
131675
  if (expr.op === "&&" && !l2) {
131676
131676
  setExprValue(expr, { value: l2 }, thread);
131677
131677
  return l2;
@@ -131682,13 +131682,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131682
131682
  }
131683
131683
  await evaluator(thisStack, expr.right, evalContext, thread);
131684
131684
  thisStack.pop();
131685
- const r2 = await completePromise((_b3 = getExprValue(expr.right, thread)) == null ? void 0 : _b3.value);
131686
- setExprValue(expr.right, { value: r2 }, thread);
131685
+ await completeExprValue(expr.right, thread);
131687
131686
  return evalBinaryCore(expr, thisStack, evalContext, thread);
131688
131687
  }
131689
131688
  async function evalConditionalAsync(evaluator, thisStack, expr, evalContext, thread) {
131690
- const condition = await evaluator(thisStack, expr.cond, evalContext, thread);
131689
+ await evaluator(thisStack, expr.cond, evalContext, thread);
131691
131690
  thisStack.pop();
131691
+ const condition = await completeExprValue(expr.cond, thread);
131692
131692
  const value = await evaluator(
131693
131693
  thisStack,
131694
131694
  condition ? expr.thenE : expr.elseE,
@@ -131707,8 +131707,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131707
131707
  }
131708
131708
  await evaluator(thisStack, leftValue, evalContext, thread);
131709
131709
  thisStack.pop();
131710
+ await completeExprValue(leftValue, thread);
131710
131711
  await evaluator(thisStack, expr.expr, evalContext, thread);
131711
131712
  thisStack.pop();
131713
+ await completeExprValue(expr.expr, thread);
131712
131714
  const value = evalAssignmentCore(thisStack, expr, evalContext, thread);
131713
131715
  if (updatesState && evalContext.onDidUpdate) {
131714
131716
  evalContext.onDidUpdate(rootScope, rootScope.name, "assignment");
@@ -131723,6 +131725,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131723
131725
  }
131724
131726
  await evaluator(thisStack, expr.expr, evalContext, thread);
131725
131727
  thisStack.pop();
131728
+ await completeExprValue(expr.expr, thread);
131726
131729
  const value = evalPreOrPostCore(thisStack, expr, evalContext, thread);
131727
131730
  if (updatesState && evalContext.onDidUpdate) {
131728
131731
  evalContext.onDidUpdate(rootScope, rootScope.name, "pre-post");
@@ -131736,12 +131739,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131736
131739
  let hostObject;
131737
131740
  if (expr.obj.type === T_MEMBER_ACCESS_EXPRESSION) {
131738
131741
  hostObject = await evaluator(thisStack, expr.obj.obj, evalContext, thread);
131742
+ await completeExprValue(expr.obj.obj, thread);
131739
131743
  functionObj = evalMemberAccessCore(thisStack, expr.obj, evalContext, thread);
131740
131744
  if (expr.obj.obj.type === T_IDENTIFIER && (hostObject == null ? void 0 : hostObject._SUPPORT_IMPLICIT_CONTEXT)) {
131741
131745
  implicitContextObject = hostObject;
131742
131746
  }
131743
131747
  } else {
131744
- functionObj = await evaluator(thisStack, expr.obj, evalContext, thread);
131748
+ await evaluator(thisStack, expr.obj, evalContext, thread);
131749
+ functionObj = await completeExprValue(expr.obj, thread);
131745
131750
  }
131746
131751
  thisStack.pop();
131747
131752
  const functionArgs = [];
@@ -131764,7 +131769,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131764
131769
  for (let i2 = 0; i2 < expr.arguments.length; i2++) {
131765
131770
  const arg = expr.arguments[i2];
131766
131771
  if (arg.type === T_SPREAD_EXPRESSION) {
131767
- const funcArg = await evaluator([], arg.expr, evalContext, thread);
131772
+ await evaluator([], arg.expr, evalContext, thread);
131773
+ const funcArg = await completeExprValue(arg.expr, thread);
131768
131774
  if (!Array.isArray(funcArg)) {
131769
131775
  throw new Error("Spread operator within a function invocation expects an array operand.");
131770
131776
  }
@@ -131777,7 +131783,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131777
131783
  };
131778
131784
  functionArgs.push(wrappedFunc);
131779
131785
  } else {
131780
- const funcArg = await evaluator([], arg, evalContext, thread);
131786
+ await evaluator([], arg, evalContext, thread);
131787
+ const funcArg = await completeExprValue(arg, thread);
131781
131788
  if (funcArg == null ? void 0 : funcArg._ARROW_EXPR_) {
131782
131789
  const wrappedFuncArg = await createArrowFunctionAsync(evaluator, funcArg);
131783
131790
  const wrappedFunc = (...args) => wrappedFuncArg(funcArg.args, evalContext, thread, ...args);
@@ -131982,12 +131989,19 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
131982
131989
  async function evalTemplateLiteralAsync(evaluator, thisStack, expr, evalContext, thread) {
131983
131990
  const segmentValues = new Array(expr.segments.length);
131984
131991
  for (let i2 = 0; i2 < expr.segments.length; ++i2) {
131985
- const evaledValue = await evaluator(thisStack, expr.segments[i2], evalContext, thread);
131992
+ await evaluator(thisStack, expr.segments[i2], evalContext, thread);
131986
131993
  thisStack.pop();
131994
+ const evaledValue = await completeExprValue(expr.segments[i2], thread);
131987
131995
  segmentValues[i2] = evaledValue;
131988
131996
  }
131989
131997
  return evalTemplateLiteralCore(segmentValues);
131990
131998
  }
131999
+ async function completeExprValue(expr, thread) {
132000
+ const exprValue = getExprValue(expr, thread);
132001
+ const awaited = await completePromise(exprValue == null ? void 0 : exprValue.value);
132002
+ setExprValue(expr, { ...exprValue, value: awaited }, thread);
132003
+ return awaited;
132004
+ }
131991
132005
  async function processStatementQueueAsync(statements, evalContext, thread) {
131992
132006
  var _a3, _b3, _c3;
131993
132007
  if (!thread) {
@@ -135906,7 +135920,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
135906
135920
  ToneChangerButton: ToneChangerButtonMd,
135907
135921
  Tree: TreeMd
135908
135922
  };
135909
- var define_process_env_default$2 = { VITE_XMLUI_VERSION: "0.9.0 (built 4/1/2025)" };
135923
+ var define_process_env_default$2 = { VITE_XMLUI_VERSION: "0.9.2 (built 4/2/2025)" };
135910
135924
  const MAIN_FILE = "Main." + componentFileExtension;
135911
135925
  const MAIN_CODE_BEHIND_FILE = "Main." + codeBehindFileExtension;
135912
135926
  const CONFIG_FILE = "config.json";
@@ -148929,7 +148943,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
148929
148943
  function isResponseWithoutBody(status) {
148930
148944
  return RESPONSE_STATUS_CODES_WITHOUT_BODY.has(status);
148931
148945
  }
148932
- var define_process_env_default$1 = { NODE_ENV: "production", VITE_MOCK_ENABLED: true, VITE_MOCK_WORKER_LOCATION: "mockApi.js", VITE_USED_COMPONENTS_Pdf: "false", VITE_USED_COMPONENTS_Chart: "false", VITE_USER_COMPONENTS_XmluiCodeHightlighter: "false", VITE_USED_COMPONENTS_Tree: "false", VITE_XMLUI_VERSION: "0.9.0 (built 4/1/2025)" };
148946
+ var define_process_env_default$1 = { NODE_ENV: "production", VITE_MOCK_ENABLED: true, VITE_MOCK_WORKER_LOCATION: "mockApi.js", VITE_USED_COMPONENTS_Pdf: "false", VITE_USED_COMPONENTS_Chart: "false", VITE_USER_COMPONENTS_XmluiCodeHightlighter: "false", VITE_USED_COMPONENTS_Tree: "false", VITE_XMLUI_VERSION: "0.9.2 (built 4/2/2025)" };
148933
148947
  var __defProp$7 = Object.defineProperty;
148934
148948
  var __export = (target2, all2) => {
148935
148949
  for (var name2 in all2)
package/dist/xmlui.d.ts CHANGED
@@ -757,7 +757,7 @@ declare type ContributesDefinition = {
757
757
  /**
758
758
  * Themes that come with the app.
759
759
  */
760
- themes?: ThemeDefinition_2[];
760
+ themes?: ThemeDefinition[];
761
761
  };
762
762
 
763
763
  /**
@@ -773,7 +773,7 @@ export declare function createMetadata<TProps extends Record<string, ComponentPr
773
773
 
774
774
  export declare function d(description: string, availableValues?: readonly PropertyValueDescription[], valueType?: PropertyValueType, defaultValue?: any, isValid?: IsValidFunction<any>, isRequired?: boolean): ComponentPropertyMetadata;
775
775
 
776
- declare type DefaultThemeVars = Record<string | ThemeTone_2, string | Record<string, string>>;
776
+ declare type DefaultThemeVars = Record<string | ThemeTone, string | Record<string, string>>;
777
777
 
778
778
  declare type DefaultValueDescriptor = (string | ThemeIdDescriptor)[];
779
779
 
@@ -914,39 +914,6 @@ declare type FontDef = {
914
914
  src: string;
915
915
  } | string;
916
916
 
917
- /**
918
- * This type describes a font definition resource.
919
- */
920
- declare type FontDef_2 = {
921
- /**
922
- * Specifies a name that will be used as the font face value for font properties
923
- */
924
- fontFamily: string;
925
- /**
926
- * A fontStyle value. Accepts two values to specify a range that is supported by a font-face,
927
- * for example `fontStyle: oblique 20deg 50deg`
928
- */
929
- fontStyle?: string;
930
- /**
931
- * A font-weight value. Accepts two values to specify a range that is supported by a font-face,
932
- * for example `font-weight: 100 900`
933
- */
934
- fontWeight?: string;
935
- /**
936
- * This property determines how a font face is displayed based on whether and when it is downloaded
937
- * and ready to use.
938
- */
939
- fontDisplay?: string;
940
- /**
941
- * The mime type of the font file
942
- */
943
- format?: string;
944
- /**
945
- * Specifies references to font resources.
946
- */
947
- src: string;
948
- } | string;
949
-
950
917
  declare type FOR_IN_STATEMENT = typeof T_FOR_IN_STATEMENT;
951
918
 
952
919
  declare type FOR_OF_STATEMENT = typeof T_FOR_OF_STATEMENT;
@@ -1656,41 +1623,11 @@ export declare interface ThemeDefinition extends ThemeDefinitionDetails {
1656
1623
  tones?: Record<string | ThemeTone, ThemeDefinitionDetails>;
1657
1624
  }
1658
1625
 
1659
- /**
1660
- * This type represents a theme definition object. Theme files can use this object's JSON-serialized
1661
- * format to define an app theme; an app can have multiple theme files.
1662
- */
1663
- declare interface ThemeDefinition_2 extends ThemeDefinitionDetails_2 {
1664
- /**
1665
- * Theme id
1666
- */
1667
- id: string;
1668
- /**
1669
- * Optional theme name
1670
- */
1671
- name?: string;
1672
- /**
1673
- * A theme can extend existing themes. The extension means that the theme variable values defined
1674
- * in the new theme override the base theme's variable values.
1675
- */
1676
- extends?: string | Array<string>;
1677
- /**
1678
- * This property defines the tone-dependent theme variable values. When a theme variable value is
1679
- * resolved, the common theme variable values are overridden with their theme-specific values.
1680
- */
1681
- tones?: Record<string | ThemeTone_2, ThemeDefinitionDetails_2>;
1682
- }
1683
-
1684
1626
  declare interface ThemeDefinitionDetails {
1685
1627
  themeVars?: Record<string, string>;
1686
1628
  resources?: Record<string, string | FontDef>;
1687
1629
  }
1688
1630
 
1689
- declare interface ThemeDefinitionDetails_2 {
1690
- themeVars?: Record<string, string>;
1691
- resources?: Record<string, string | FontDef_2>;
1692
- }
1693
-
1694
1631
  declare type ThemeIdDescriptor = {
1695
1632
  id: string;
1696
1633
  defaultValue?: DefaultValueDescriptor;
@@ -1750,21 +1687,11 @@ declare type ThemeScope = {
1750
1687
  */
1751
1688
  declare type ThemeTone = (typeof ThemeToneKeys)[number];
1752
1689
 
1753
- /**
1754
- * This type describes one the available theme tones.
1755
- */
1756
- declare type ThemeTone_2 = (typeof ThemeToneKeys_2)[number];
1757
-
1758
1690
  /**
1759
1691
  * Each theme can have a light or a dark tone.
1760
1692
  */
1761
1693
  declare const ThemeToneKeys: readonly ["light", "dark"];
1762
1694
 
1763
- /**
1764
- * Each theme can have a light or a dark tone.
1765
- */
1766
- declare const ThemeToneKeys_2: readonly ["light", "dark"];
1767
-
1768
1695
  declare type THROW_STATEMENT = typeof T_THROW_STATEMENT;
1769
1696
 
1770
1697
  declare interface ThrowStatement extends ScripNodeBase {
package/dist/xmlui.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A, B, E, I, i, h, S, b, c, e, f, j, p, s, t, k, u } from "./index-CVvazA5D.mjs";
1
+ import { A, B, E, I, i, h, S, b, c, e, f, j, p, s, t, k, u } from "./index-2qtmUAFJ.mjs";
2
2
  export {
3
3
  A as AppRoot,
4
4
  B as Button,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xmlui",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "sideEffects": false,
5
5
  "scripts": {
6
6
  "start-test-bed": "cd src/testing/infrastructure && xmlui start",
@@ -184,7 +184,7 @@
184
184
  },
185
185
  "./vite-xmlui-plugin": {
186
186
  "import": "./dist/scripts/bin/vite-xmlui-plugin.js",
187
- "require": "./dist/scripts/bin/vite-xmui-plugin.js"
187
+ "require": "./dist/scripts/bin/vite-xmlui-plugin.js"
188
188
  }
189
189
  }
190
190
  }
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "./vite-xmlui-plugin": {
215
215
  "import": "./dist/scripts/bin/vite-xmlui-plugin.js",
216
- "require": "./dist/scripts/bin/vite-xmui-plugin.js"
216
+ "require": "./dist/scripts/bin/vite-xmlui-plugin.js"
217
217
  }
218
218
  },
219
219
  "browserslist": {
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.T_SWITCH_CASE = exports.T_OBJECT_DESTRUCTURE = exports.T_ARRAY_DESTRUCTURE = exports.T_DESTRUCTURE = exports.T_VAR_DECLARATION = exports.T_REACTIVE_VAR_DECLARATION = exports.T_POSTFIX_OP_EXPRESSION = exports.T_PREFIX_OP_EXPRESSION = exports.T_ARROW_EXPRESSION = exports.T_NO_ARG_EXPRESSION = exports.T_ASSIGNMENT_EXPRESSION = exports.T_SPREAD_EXPRESSION = exports.T_OBJECT_LITERAL = exports.T_ARRAY_LITERAL = exports.T_LITERAL = exports.T_TEMPLATE_LITERAL_EXPRESSION = exports.T_IDENTIFIER = exports.T_CALCULATED_MEMBER_ACCESS_EXPRESSION = exports.T_MEMBER_ACCESS_EXPRESSION = exports.T_FUNCTION_INVOCATION_EXPRESSION = exports.T_CONDITIONAL_EXPRESSION = exports.T_SEQUENCE_EXPRESSION = exports.T_BINARY_EXPRESSION = exports.T_UNARY_EXPRESSION = exports.T_FUNCTION_DECLARATION = exports.T_SWITCH_STATEMENT = exports.T_TRY_STATEMENT = exports.T_THROW_STATEMENT = exports.T_FOR_OF_STATEMENT = exports.T_FOR_IN_STATEMENT = exports.T_FOR_STATEMENT = exports.T_DO_WHILE_STATEMENT = exports.T_WHILE_STATEMENT = exports.T_CONTINUE_STATEMENT = exports.T_BREAK_STATEMENT = exports.T_RETURN_STATEMENT = exports.T_IF_STATEMENT = exports.T_VAR_STATEMENT = exports.T_CONST_STATEMENT = exports.T_LET_STATEMENT = exports.T_ARROW_EXPRESSION_STATEMENT = exports.T_EXPRESSION_STATEMENT = exports.T_EMPTY_STATEMENT = exports.T_BLOCK_STATEMENT = void 0;
4
- // --- Statement node type values
5
- exports.T_BLOCK_STATEMENT = 1;
6
- exports.T_EMPTY_STATEMENT = 2;
7
- exports.T_EXPRESSION_STATEMENT = 3;
8
- exports.T_ARROW_EXPRESSION_STATEMENT = 4;
9
- exports.T_LET_STATEMENT = 5;
10
- exports.T_CONST_STATEMENT = 6;
11
- exports.T_VAR_STATEMENT = 7;
12
- exports.T_IF_STATEMENT = 8;
13
- exports.T_RETURN_STATEMENT = 9;
14
- exports.T_BREAK_STATEMENT = 10;
15
- exports.T_CONTINUE_STATEMENT = 11;
16
- exports.T_WHILE_STATEMENT = 12;
17
- exports.T_DO_WHILE_STATEMENT = 13;
18
- exports.T_FOR_STATEMENT = 14;
19
- exports.T_FOR_IN_STATEMENT = 15;
20
- exports.T_FOR_OF_STATEMENT = 16;
21
- exports.T_THROW_STATEMENT = 17;
22
- exports.T_TRY_STATEMENT = 18;
23
- exports.T_SWITCH_STATEMENT = 19;
24
- exports.T_FUNCTION_DECLARATION = 20;
25
- // --- Expression node type values
26
- exports.T_UNARY_EXPRESSION = 100;
27
- exports.T_BINARY_EXPRESSION = 101;
28
- exports.T_SEQUENCE_EXPRESSION = 102;
29
- exports.T_CONDITIONAL_EXPRESSION = 103;
30
- exports.T_FUNCTION_INVOCATION_EXPRESSION = 104;
31
- exports.T_MEMBER_ACCESS_EXPRESSION = 105;
32
- exports.T_CALCULATED_MEMBER_ACCESS_EXPRESSION = 106;
33
- exports.T_IDENTIFIER = 107;
34
- exports.T_TEMPLATE_LITERAL_EXPRESSION = 108;
35
- exports.T_LITERAL = 109;
36
- exports.T_ARRAY_LITERAL = 110;
37
- exports.T_OBJECT_LITERAL = 111;
38
- exports.T_SPREAD_EXPRESSION = 112;
39
- exports.T_ASSIGNMENT_EXPRESSION = 113;
40
- exports.T_NO_ARG_EXPRESSION = 114;
41
- exports.T_ARROW_EXPRESSION = 115;
42
- exports.T_PREFIX_OP_EXPRESSION = 116;
43
- exports.T_POSTFIX_OP_EXPRESSION = 117;
44
- exports.T_REACTIVE_VAR_DECLARATION = 118;
45
- // --- Other node type values
46
- exports.T_VAR_DECLARATION = 200;
47
- exports.T_DESTRUCTURE = 201;
48
- exports.T_ARRAY_DESTRUCTURE = 202;
49
- exports.T_OBJECT_DESTRUCTURE = 203;
50
- exports.T_SWITCH_CASE = 204;