xmlui 0.11.21 → 0.11.23

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 (27) hide show
  1. package/dist/bin/index.cjs +43 -51
  2. package/dist/bin/index.js +44 -52
  3. package/dist/lib/{index-CkNqkb53.js → index-Dh3wc_JX.js} +23903 -24403
  4. package/dist/lib/index.css +1 -1
  5. package/dist/lib/{initMock-CP3zGYe3.js → initMock-BE0szWSR.js} +1 -1
  6. package/dist/lib/language-server-web-worker.js +1 -1
  7. package/dist/lib/language-server.js +1 -1
  8. package/dist/lib/{metadata-utils-BXGJbvlh.js → metadata-utils-ow3vRMof.js} +6 -6
  9. package/dist/lib/scss/components-core/theming/_themes.scss +35 -7
  10. package/dist/lib/scss/index.scss +113 -66
  11. package/dist/lib/{server-common-Ce61T1XU.js → server-common-DjRwBoWi.js} +2 -2
  12. package/dist/lib/testing.js +2 -2
  13. package/dist/lib/{transform-CQ_6R-43.js → transform-vby4pBMJ.js} +3 -1
  14. package/dist/lib/vite-xmlui-plugin.js +3 -1
  15. package/dist/lib/{xmlui-parser-9Yk-asFP.js → xmlui-parser-B2m1xG6D.js} +1 -1
  16. package/dist/lib/xmlui-parser.js +2 -2
  17. package/dist/lib/{xmlui-serializer-CeCcgdVR.js → xmlui-serializer-DeegIW2y.js} +1 -1
  18. package/dist/lib/xmlui.d.ts +21 -0
  19. package/dist/lib/xmlui.js +3 -3
  20. package/dist/metadata/{collectedComponentMetadata-DTO7KlLw.js → collectedComponentMetadata-BFVjl5S6.js} +25324 -25822
  21. package/dist/metadata/{initMock-D78LB-9A.js → initMock-CyVKxVyG.js} +1 -1
  22. package/dist/metadata/xmlui-metadata.css +1 -1
  23. package/dist/metadata/xmlui-metadata.js +1 -1
  24. package/dist/metadata/xmlui-metadata.umd.cjs +3 -3
  25. package/dist/standalone/xmlui-standalone.es.d.ts +21 -0
  26. package/dist/standalone/xmlui-standalone.umd.js +36 -36
  27. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { delay as delay$1, HttpResponse, matchRequestUrl } from "msw";
2
2
  import { isArray, isObject, mapValues } from "lodash-es";
3
- import { r as runEventHandlerCode, g as getDate, d as delay, m as miscellaneousUtils, a as dateFunctions, o as orderBy, T as ThrowStatementError } from "./index-CkNqkb53.js";
3
+ import { r as runEventHandlerCode, g as getDate, d as delay, m as miscellaneousUtils, a as dateFunctions, o as orderBy, T as ThrowStatementError } from "./index-Dh3wc_JX.js";
4
4
  import Dexie from "dexie";
5
5
  var HttpStatusCode = /* @__PURE__ */ ((HttpStatusCode2) => {
6
6
  HttpStatusCode2[HttpStatusCode2["Continue"] = 100] = "Continue";
@@ -1,4 +1,4 @@
1
- import { r as requireMain, s as start } from "./server-common-Ce61T1XU.js";
1
+ import { r as requireMain, s as start } from "./server-common-DjRwBoWi.js";
2
2
  var browser;
3
3
  var hasRequiredBrowser;
4
4
  function requireBrowser() {
@@ -1,4 +1,4 @@
1
- import { r as requireMain, s as start$1 } from "./server-common-Ce61T1XU.js";
1
+ import { r as requireMain, s as start$1 } from "./server-common-DjRwBoWi.js";
2
2
  var node;
3
3
  var hasRequiredNode;
4
4
  function requireNode() {
@@ -1,4 +1,4 @@
1
- import { u as onPrefixRegex, x as stripOnPrefix } from "./transform-CQ_6R-43.js";
1
+ import { u as onPrefixRegex, x as stripOnPrefix } from "./transform-vby4pBMJ.js";
2
2
  function getDefaultExportFromCjs(x) {
3
3
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4
4
  }
@@ -490,13 +490,13 @@ export {
490
490
  getDefaultExportFromCjs as b,
491
491
  alignmentOptionValues as c,
492
492
  alignmentOptionMd as d,
493
- layoutOptionKeys as e,
494
- iconPositionMd as f,
493
+ iconPositionMd as e,
494
+ buttonTypesMd as f,
495
495
  getAugmentedNamespace as g,
496
- buttonTypesMd as h,
496
+ buttonThemeMd as h,
497
497
  isSizeType as i,
498
- buttonThemeMd as j,
499
- buttonVariantMd as k,
498
+ buttonVariantMd as j,
499
+ layoutOptionKeys as k,
500
500
  labelPositionMd as l,
501
501
  variantOptionsMd as m,
502
502
  scrollAnchoringValues as n,
@@ -481,17 +481,17 @@ $THEME-VAR-PREFIX: xmlui;
481
481
  @function composeTextVars($themeVars, $subject, $default: false) {
482
482
  $tmp: if(
483
483
  $default,
484
- appendThemeVarWithFallback($themeVars, "textColor-#{$subject}", "textColor-#{$default}"),
484
+ appendThemeVarWithFallback($themeVars, "textColor-#{$subject}", "textColor"),
485
485
  appendThemeVar($themeVars, "textColor-#{$subject}")
486
486
  ) !global;
487
487
  $tmp: if(
488
488
  $default,
489
- appendThemeVarWithFallback($tmp, "fontFamily-#{$subject}", "fontFamily-#{$default}"),
489
+ appendThemeVarWithFallback($tmp, "fontFamily-#{$subject}", "fontFamily"),
490
490
  appendThemeVar($tmp, "fontFamily-#{$subject}")
491
491
  ) !global;
492
492
  $tmp: if(
493
493
  $default,
494
- appendThemeVarWithFallback($tmp, "fontSize-#{$subject}", "fontSize-#{$default}"),
494
+ appendThemeVar($tmp, "fontSize-#{$subject}"),
495
495
  appendThemeVar($tmp, "fontSize-#{$subject}")
496
496
  ) !global;
497
497
  $tmp: if(
@@ -561,7 +561,7 @@ $THEME-VAR-PREFIX: xmlui;
561
561
  ) !global;
562
562
  $tmp: if(
563
563
  $default,
564
- appendThemeVarWithFallback($tmp, "lineHeight-#{$subject}", "lineHeight-#{$default}"),
564
+ appendThemeVar($tmp, "lineHeight-#{$subject}"),
565
565
  appendThemeVar($tmp, "lineHeight-#{$subject}")
566
566
  ) !global;
567
567
  $tmp: if(
@@ -576,7 +576,7 @@ $THEME-VAR-PREFIX: xmlui;
576
576
  ) !global;
577
577
  $tmp: if(
578
578
  $default,
579
- appendThemeVarWithFallback($tmp, "letterSpacing-#{$subject}", "letterSpacing-#{$default}"),
579
+ appendThemeVarWithFallback($tmp, "letterSpacing-#{$subject}", "letterSpacing"),
580
580
  appendThemeVar($tmp, "letterSpacing-#{$subject}")
581
581
  ) !global;
582
582
  $tmp: if(
@@ -758,7 +758,8 @@ $space-96: createVar(space-96);
758
758
  // ---------------------------------------------------------------------------------------------------------------------
759
759
  // Generic style variables
760
760
 
761
- $textColor-primary: createVar(textColor-primary);
761
+ $textColor: createVar(textColor);
762
+ $textColor-primary: createVar(textColor);
762
763
  $textColor-attention: createVar(textColor-attention);
763
764
  $backgroundColor-attention: createVar(backgroundColor-attention);
764
765
  $textColor-subtitle: createVar(textColor-subtitle);
@@ -769,13 +770,41 @@ $textColor--disabled: createVar(textColor--disabled);
769
770
  $backgroundColor--disabled: createVar(backgroundColor--disabled);
770
771
  $borderColor--disabled: createVar(borderColor--disabled);
771
772
  $backgroundColor--selected: createVar(backgroundColor--selected);
773
+
772
774
  $fontFamily: createVar(fontFamily);
773
775
  $fontSize-tiny: createVar(fontSize-tiny);
776
+
774
777
  $fontSize-xs: createVar(fontSize-xs);
778
+ $fontSize-code: createVar(fontSize-code);
775
779
  $fontSize-sm: createVar(fontSize-sm);
776
780
  $fontSize-base: createVar(fontSize-base);
781
+ $fontSize-lg: createVar(fontSize-lg);
777
782
  $fontSize-xl: createVar(fontSize-xl);
778
783
  $fontSize-2xl: createVar(fontSize-2xl);
784
+ $fontSize-3xl: createVar(fontSize-3xl);
785
+ $fontSize-4xl: createVar(fontSize-4xl);
786
+ $fontSize-5xl: createVar(fontSize-5xl);
787
+ $fontSize-6xl: createVar(fontSize-6xl);
788
+ $fontSize-7xl: createVar(fontSize-7xl);
789
+ $fontSize-8xl: createVar(fontSize-8xl);
790
+ $fontSize-9xl: createVar(fontSize-9xl);
791
+ $fontSize: createVar(fontSize);
792
+
793
+ $lineHeight-none: createVar(lineHeight-none);
794
+ $lineHeight-tight: createVar(lineHeight-tight);
795
+ $lineHeight-snug: createVar(lineHeight-snug);
796
+ $lineHeight-normal: createVar(lineHeight-normal);
797
+ $lineHeight-relaxed: createVar(lineHeight-relaxed);
798
+ $lineHeight-loose: createVar(lineHeight-loose);
799
+ $lineHeight: createVar(lineHeight);
800
+
801
+ $letterSpacing-tighter: createVar(letterSpacing-tighter);
802
+ $letterSpacing-tight: createVar(letterSpacing-tight);
803
+ $letterSpacing-normal: createVar(letterSpacing-normal);
804
+ $letterSpacing-wide: createVar(letterSpacing-wide);
805
+ $letterSpacing-wider: createVar(letterSpacing-wider);
806
+ $letterSpacing-widest: createVar(letterSpacing-widest);
807
+ $letterSpacing: createVar(letterSpacing);
779
808
 
780
809
  $backgroundColor-overlay: createVar(backgroundColor-overlay);
781
810
  $color-info: createVar(color-info);
@@ -848,5 +877,4 @@ $fontWeight-bold: createVar(fontWeight-bold);
848
877
  $borderRadius: createVar(borderRadius);
849
878
 
850
879
  // body
851
- $fontSize: createVar(fontSize);
852
880
  $fontWeight: createVar(fontWeight);
@@ -12,7 +12,9 @@
12
12
  /************************/
13
13
 
14
14
  /* Normal box-sizing model */
15
- *, *::before, *::after {
15
+ *,
16
+ *::before,
17
+ *::after {
16
18
  box-sizing: border-box;
17
19
  }
18
20
 
@@ -22,16 +24,16 @@
22
24
  }
23
25
 
24
26
  /* Allow percentage-based heights in the application */
25
- html, body {
27
+ html,
28
+ body {
26
29
  height: 100%;
27
30
  }
28
31
 
29
- #root{
32
+ #root {
30
33
  min-height: 100%;
31
34
  height: 100%;
32
35
  }
33
36
 
34
-
35
37
  html {
36
38
  -webkit-text-size-adjust: 100%;
37
39
  tab-size: 4;
@@ -39,79 +41,102 @@
39
41
  }
40
42
 
41
43
  body {
42
- line-height: inherit;
43
44
  margin: 0;
44
-
45
45
  }
46
46
 
47
47
  /* Create a root stacking context */
48
- #root, #__next {
48
+ #root,
49
+ #__next {
49
50
  isolation: isolate;
50
51
  }
51
52
 
52
53
  //tailwind css preflight
53
- *, :before, :after {
54
+ *,
55
+ :before,
56
+ :after {
54
57
  box-sizing: border-box;
55
- border: 0 solid #e5e7eb
58
+ border: 0 solid #e5e7eb;
56
59
  }
57
60
 
58
61
  hr {
59
62
  color: inherit;
60
63
  border-top-width: 1px;
61
- height: 0
64
+ height: 0;
62
65
  }
63
66
 
64
67
  abbr:where([title]) {
65
68
  -webkit-text-decoration: underline dotted;
66
- text-decoration: underline dotted
69
+ text-decoration: underline dotted;
67
70
  }
68
71
 
69
- h1, h2, h3, h4, h5, h6 {
72
+ h1,
73
+ h2,
74
+ h3,
75
+ h4,
76
+ h5,
77
+ h6 {
70
78
  // font-size: inherit;
71
- font-weight: inherit
79
+ font-weight: inherit;
72
80
  }
73
81
 
74
82
  a {
75
83
  color: inherit;
76
84
  -webkit-text-decoration: inherit;
77
- text-decoration: inherit
85
+ text-decoration: inherit;
78
86
  }
79
87
 
80
- b, strong {
81
- font-weight: bolder
88
+ b,
89
+ strong {
90
+ font-weight: bolder;
82
91
  }
83
92
 
84
- code, kbd, samp, pre {
85
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
86
- font-size: 1em
93
+ code,
94
+ kbd,
95
+ samp,
96
+ pre {
97
+ font-family:
98
+ ui-monospace,
99
+ SFMono-Regular,
100
+ Menlo,
101
+ Monaco,
102
+ Consolas,
103
+ Liberation Mono,
104
+ Courier New,
105
+ monospace;
106
+ font-size: 1em;
87
107
  }
88
108
 
89
109
  small {
90
- font-size: 80%
110
+ font-size: 80%;
91
111
  }
92
112
 
93
- sub, sup {
113
+ sub,
114
+ sup {
94
115
  vertical-align: baseline;
95
116
  font-size: 75%;
96
117
  line-height: 0;
97
- position: relative
118
+ position: relative;
98
119
  }
99
120
 
100
121
  sub {
101
- bottom: -.25em
122
+ bottom: -0.5em;
102
123
  }
103
124
 
104
125
  sup {
105
- top: -.5em
126
+ top: -0.5em;
106
127
  }
107
128
 
108
129
  table {
109
130
  text-indent: 0;
110
131
  border-color: inherit;
111
- border-collapse: collapse
132
+ border-collapse: collapse;
112
133
  }
113
134
 
114
- button, input, optgroup, select, textarea {
135
+ button,
136
+ input,
137
+ optgroup,
138
+ select,
139
+ textarea {
115
140
  font-feature-settings: inherit;
116
141
  font-variation-settings: inherit;
117
142
  font-family: inherit;
@@ -120,43 +145,44 @@
120
145
  line-height: inherit;
121
146
  color: inherit;
122
147
  margin: 0;
123
- padding: 0
148
+ padding: 0;
124
149
  }
125
150
 
126
- button, select {
127
- text-transform: none
151
+ button,
152
+ select {
153
+ text-transform: none;
128
154
  }
129
155
 
130
156
  button {
131
157
  -webkit-appearance: button;
132
158
  background-color: transparent;
133
- background-image: none
159
+ background-image: none;
134
160
  }
135
161
 
136
- [type=button] {
162
+ [type="button"] {
137
163
  -webkit-appearance: button;
138
164
  background-color: transparent;
139
- background-image: none
165
+ background-image: none;
140
166
  }
141
167
 
142
- [type=reset] {
168
+ [type="reset"] {
143
169
  -webkit-appearance: button;
144
170
  background-color: transparent;
145
- background-image: none
171
+ background-image: none;
146
172
  }
147
173
 
148
- [type=submit] {
174
+ [type="submit"] {
149
175
  -webkit-appearance: button;
150
176
  background-color: transparent;
151
- background-image: none
177
+ background-image: none;
152
178
  }
153
179
 
154
180
  :-moz-focusring {
155
- outline: auto
181
+ outline: auto;
156
182
  }
157
183
 
158
184
  :-moz-ui-invalid {
159
- box-shadow: none
185
+ box-shadow: none;
160
186
  }
161
187
 
162
188
  *:focus-visible {
@@ -165,46 +191,58 @@
165
191
  }
166
192
 
167
193
  progress {
168
- vertical-align: baseline
194
+ vertical-align: baseline;
169
195
  }
170
196
 
171
197
  ::-webkit-inner-spin-button {
172
- height: auto
198
+ height: auto;
173
199
  }
174
200
 
175
201
  ::-webkit-outer-spin-button {
176
- height: auto
202
+ height: auto;
177
203
  }
178
204
 
179
- [type=search] {
205
+ [type="search"] {
180
206
  -webkit-appearance: textfield;
181
- outline-offset: -2px
207
+ outline-offset: -2px;
182
208
  }
183
209
 
184
210
  ::-webkit-search-decoration {
185
- -webkit-appearance: none
211
+ -webkit-appearance: none;
186
212
  }
187
213
 
188
214
  ::-webkit-file-upload-button {
189
215
  -webkit-appearance: button;
190
- font: inherit
216
+ font: inherit;
191
217
  }
192
218
 
193
219
  summary {
194
- display: list-item
195
- }
196
-
197
- blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
198
- margin: 0
220
+ display: list-item;
221
+ }
222
+
223
+ blockquote,
224
+ dl,
225
+ dd,
226
+ h1,
227
+ h2,
228
+ h3,
229
+ h4,
230
+ h5,
231
+ h6,
232
+ hr,
233
+ figure,
234
+ p,
235
+ pre {
236
+ margin: 0;
199
237
  }
200
238
 
201
239
  fieldset {
202
240
  margin: 0;
203
- padding: 0
241
+ padding: 0;
204
242
  }
205
243
 
206
244
  legend {
207
- padding: 0
245
+ padding: 0;
208
246
  }
209
247
 
210
248
  // ol, ul, menu {
@@ -214,52 +252,61 @@
214
252
  // }
215
253
 
216
254
  dialog {
217
- padding: 0
255
+ padding: 0;
218
256
  }
219
257
 
220
258
  textarea {
221
- resize: vertical
259
+ resize: vertical;
222
260
  }
223
261
 
224
262
  input::-ms-input-placeholder {
225
263
  opacity: 1;
226
- color: #9ca3af
264
+ color: #9ca3af;
227
265
  }
228
266
 
229
267
  input::placeholder {
230
268
  opacity: 1;
231
- color: #9ca3af
269
+ color: #9ca3af;
232
270
  }
233
271
 
234
272
  textarea::-ms-input-placeholder {
235
273
  opacity: 1;
236
- color: #9ca3af
274
+ color: #9ca3af;
237
275
  }
238
276
 
239
277
  textarea::placeholder {
240
278
  opacity: 1;
241
- color: #9ca3af
279
+ color: #9ca3af;
242
280
  }
243
281
 
244
- button, [role=button] {
245
- cursor: pointer
282
+ button,
283
+ [role="button"] {
284
+ cursor: pointer;
246
285
  }
247
286
 
248
287
  :disabled {
249
- cursor: default
288
+ cursor: default;
250
289
  }
251
290
 
252
- img, svg, video, canvas, audio, iframe, embed, object {
291
+ img,
292
+ svg,
293
+ video,
294
+ canvas,
295
+ audio,
296
+ iframe,
297
+ embed,
298
+ object {
253
299
  vertical-align: middle;
254
- display: block
300
+ display: block;
255
301
  }
256
302
 
257
- img, video {
303
+ img,
304
+ video {
258
305
  max-width: 100%;
259
- height: auto
306
+ height: auto;
260
307
  }
261
308
 
262
309
  [hidden] {
263
- display: none
310
+ display: none;
264
311
  }
265
312
  }
@@ -1,7 +1,7 @@
1
- import { g as getAugmentedNamespace, a as addOnPrefix, M as MetadataProvider } from "./metadata-utils-BXGJbvlh.js";
1
+ import { g as getAugmentedNamespace, a as addOnPrefix, M as MetadataProvider } from "./metadata-utils-ow3vRMof.js";
2
2
  import { CompletionItemKind as CompletionItemKind$1, MarkupKind as MarkupKind$1, TextDocuments, TextDocumentSyncKind, DidChangeConfigurationNotification } from "vscode-languageserver";
3
3
  import { TextDocument as TextDocument$1 } from "vscode-languageserver-textdocument";
4
- import { S as SyntaxKind, B as findTokenAtPos, h as createXmlUiParser } from "./transform-CQ_6R-43.js";
4
+ import { S as SyntaxKind, B as findTokenAtPos, h as createXmlUiParser } from "./transform-vby4pBMJ.js";
5
5
  var main$3 = {};
6
6
  var api$2 = {};
7
7
  var semanticTokens = {};
@@ -1,5 +1,5 @@
1
1
  import { expect as expect$1, test as test$1 } from "@playwright/test";
2
- import { x as xmlUiMarkupToComponent, P as PART_START_ADORNMENT, a as PART_END_ADORNMENT, b as PART_INPUT } from "./xmlui-parser-9Yk-asFP.js";
2
+ import { x as xmlUiMarkupToComponent, P as PART_START_ADORNMENT, a as PART_END_ADORNMENT, b as PART_INPUT } from "./xmlui-parser-B2m1xG6D.js";
3
3
  import "chroma-js";
4
4
  function parseComponentIfNecessary(rawComponent) {
5
5
  if (typeof rawComponent === "string") {
@@ -401,7 +401,7 @@ class BackdropDriver extends ComponentDriver {
401
401
  return this.component.locator("> *").nth(1);
402
402
  }
403
403
  getDefaultBackgroundColor() {
404
- return "rgb(0, 0, 0)";
404
+ return "rgba(0, 0, 0, 0)";
405
405
  }
406
406
  getDefaultOpacity() {
407
407
  return "0.1";
@@ -6335,6 +6335,7 @@ const CORE_NS_KEY = "core-ns";
6335
6335
  const CORE_NAMESPACE_VALUE = "#xmlui-core-ns";
6336
6336
  const HelperNode = {
6337
6337
  property: "property",
6338
+ template: "template",
6338
6339
  event: "event",
6339
6340
  variable: "variable",
6340
6341
  loaders: "loaders",
@@ -6527,6 +6528,7 @@ function nodeToComponentDef(node, originalGetText, fileId) {
6527
6528
  }
6528
6529
  switch (childName) {
6529
6530
  case "property":
6531
+ case "template":
6530
6532
  collectElementHelper(
6531
6533
  usesStack2,
6532
6534
  comp,
@@ -6883,7 +6885,7 @@ function nodeToComponentDef(node, originalGetText, fileId) {
6883
6885
  const childNodes = getChildNodes(node2);
6884
6886
  const tagName = getComponentName(node2, getText);
6885
6887
  const hasComponentName = !(tagName in HelperNode);
6886
- const shouldUseTextNodeElement = hasComponentName || tagName === "property";
6888
+ const shouldUseTextNodeElement = hasComponentName || tagName === "property" || tagName === "template";
6887
6889
  const shouldCollapseWhitespace = tagName !== "event" && tagName !== "method";
6888
6890
  const attrs = getAttributes(node2);
6889
6891
  desugarKeyOnlyAttrs(attrs);
@@ -7114,6 +7114,7 @@ const CORE_NS_KEY = "core-ns";
7114
7114
  const CORE_NAMESPACE_VALUE = "#xmlui-core-ns";
7115
7115
  const HelperNode = {
7116
7116
  property: "property",
7117
+ template: "template",
7117
7118
  event: "event",
7118
7119
  variable: "variable",
7119
7120
  loaders: "loaders",
@@ -7262,6 +7263,7 @@ function nodeToComponentDef(node, originalGetText, fileId) {
7262
7263
  }
7263
7264
  switch (childName) {
7264
7265
  case "property":
7266
+ case "template":
7265
7267
  collectElementHelper(usesStack$1, comp, child, (name) => isComponent(comp) ? comp.props?.[name] : void 0, (name, value) => {
7266
7268
  if (!isComponent(comp)) return;
7267
7269
  comp.props ??= {};
@@ -7552,7 +7554,7 @@ function nodeToComponentDef(node, originalGetText, fileId) {
7552
7554
  function prepNode(node$1) {
7553
7555
  const childNodes = getChildNodes(node$1);
7554
7556
  const tagName = getComponentName(node$1, getText);
7555
- const shouldUseTextNodeElement = !(tagName in HelperNode) || tagName === "property";
7557
+ const shouldUseTextNodeElement = !(tagName in HelperNode) || tagName === "property" || tagName === "template";
7556
7558
  const shouldCollapseWhitespace = tagName !== "event" && tagName !== "method";
7557
7559
  const attrs = getAttributes(node$1);
7558
7560
  desugarKeyOnlyAttrs(attrs);
@@ -1,4 +1,4 @@
1
- import { h as createXmlUiParser, w as nodeToComponentDef, D as DiagnosticCategory, E as ErrCodes, S as SyntaxKind } from "./transform-CQ_6R-43.js";
1
+ import { h as createXmlUiParser, w as nodeToComponentDef, D as DiagnosticCategory, E as ErrCodes, S as SyntaxKind } from "./transform-vby4pBMJ.js";
2
2
  const PART_LABEL = "label";
3
3
  const PART_LABELED_ITEM = "labeledItem";
4
4
  const PART_INPUT = "input";
@@ -1,5 +1,5 @@
1
- import { q, s, A, t, v, C, r, a, b, f, e, g, c, D, o, E, N, P, S, T, U, j, h, d, i, B, n, k, m, l, w, u, p, x, z, y } from "./transform-CQ_6R-43.js";
2
- import { b as b2, L, X, a as a2, c as c2, g as g2, e as e2, l as l2, d as d2, m as m2, p as p2 } from "./xmlui-serializer-CeCcgdVR.js";
1
+ import { q, s, A, t, v, C, r, a, b, f, e, g, c, D, o, E, N, P, S, T, U, j, h, d, i, B, n, k, m, l, w, u, p, x, z, y } from "./transform-vby4pBMJ.js";
2
+ import { b as b2, L, X, a as a2, c as c2, g as g2, e as e2, l as l2, d as d2, m as m2, p as p2 } from "./xmlui-serializer-DeegIW2y.js";
3
3
  export {
4
4
  q as AttributeKeyNode,
5
5
  s as AttributeListNode,
@@ -1,4 +1,4 @@
1
- import { v as CORE_NAMESPACE_VALUE, t as COMPOUND_COMP_ID } from "./transform-CQ_6R-43.js";
1
+ import { v as CORE_NAMESPACE_VALUE, t as COMPOUND_COMP_ID } from "./transform-vby4pBMJ.js";
2
2
  const componentFileExtension = "xmlui";
3
3
  const codeBehindFileExtension = "xmlui.xs";
4
4
  const moduleFileExtension = "xs";
@@ -145,6 +145,7 @@ declare type AppContextObject = {
145
145
  };
146
146
  distinct: (arr: any[]) => any[];
147
147
  forceRefreshAnchorScroll: () => void;
148
+ AppState: AppState;
148
149
  };
149
150
 
150
151
  declare const appLayoutNames: readonly ["vertical", "vertical-sticky", "vertical-full-header", "condensed", "condensed-sticky", "horizontal", "horizontal-sticky", "desktop"];
@@ -162,6 +163,26 @@ export declare function AppRoot({ apiInterceptor, contributes, node, decorateCom
162
163
  isNested?: boolean;
163
164
  }): JSX_2.Element;
164
165
 
166
+ /**
167
+ * AppState type definition for global state management
168
+ */
169
+ declare type AppState = {
170
+ define(bucket: string, initialState: any): any;
171
+ get(bucket: string, path?: string): any;
172
+ set(bucket: string, pathOrValue: string | any, value?: any): any;
173
+ update(bucket: string, pathOrUpdater: string | Function | any, updater?: Function | ((prev: any) => any | Promise<any>)): Promise<any>;
174
+ updateWith(bucket: string, updater: (prev: any) => any | Promise<any>): Promise<any>;
175
+ remove(bucket: string, value: any): void;
176
+ removeBy(bucket: string, predicate: (item: any) => boolean | Promise<boolean>): Promise<void>;
177
+ removeAt(bucket: string, index: number): any;
178
+ append(bucket: string, value: any): any;
179
+ push(bucket: string, value: any): any;
180
+ pop(bucket: string): any;
181
+ shift(bucket: string): any;
182
+ unshift(bucket: string, value: any): any;
183
+ insertAt(bucket: string, index: number, value: any): any;
184
+ };
185
+
165
186
  declare type AppThemes = {
166
187
  setActiveThemeId: (newThemeId: string) => void;
167
188
  setActiveThemeTone: (newTone: ThemeTone) => void;
package/dist/lib/xmlui.js CHANGED
@@ -1,6 +1,6 @@
1
- import { aa, Z, al, a1, ax, av, _, $, ai, ak, ay, aw, ag, ab, a2, a0, S, ar, b, ao, ap, a4, a5, ae, af, as, aj, at, au, ah, ad, c, f, e, h, j, k, l, i, n, p, q, s, u, v, x, w, t, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, P, N, O, Q, R, U, V, a3, W, X, a7, an, a6, a8, aq, a9, am, Y, ac } from "./index-CkNqkb53.js";
2
- import { f as f2, x as x2 } from "./xmlui-parser-9Yk-asFP.js";
3
- import { X as X2 } from "./xmlui-serializer-CeCcgdVR.js";
1
+ import { aa, Z, al, a1, ax, av, _, $, ai, ak, ay, aw, ag, ab, a2, a0, S, ar, b, ao, ap, a4, a5, ae, af, as, aj, at, au, ah, ad, c, f, e, h, j, k, l, i, n, p, q, s, u, v, x, w, t, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, P, N, O, Q, R, U, V, a3, W, X, a7, an, a6, a8, aq, a9, am, Y, ac } from "./index-Dh3wc_JX.js";
2
+ import { f as f2, x as x2 } from "./xmlui-parser-B2m1xG6D.js";
3
+ import { X as X2 } from "./xmlui-serializer-DeegIW2y.js";
4
4
  export {
5
5
  aa as ApiInterceptorProvider,
6
6
  Z as AppRoot,