mnfst 0.5.189 → 0.5.191

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 (55) hide show
  1. package/lib/manifest.accordion.css +2 -0
  2. package/lib/manifest.appwrite.auth.js +7 -1
  3. package/lib/manifest.appwrite.data.js +8 -1
  4. package/lib/manifest.avatar.css +2 -0
  5. package/lib/manifest.button.css +2 -0
  6. package/lib/manifest.chart.css +2 -0
  7. package/lib/manifest.chat.js +7 -0
  8. package/lib/manifest.checkbox.css +2 -0
  9. package/lib/manifest.code.css +2 -0
  10. package/lib/manifest.code.js +6 -0
  11. package/lib/manifest.code.min.css +1 -1
  12. package/lib/manifest.colorpicker.css +2 -0
  13. package/lib/manifest.colorpicker.js +3 -0
  14. package/lib/manifest.combobox.css +2 -0
  15. package/lib/manifest.components.js +7 -1
  16. package/lib/manifest.css +56 -0
  17. package/lib/manifest.data.js +24 -17
  18. package/lib/manifest.datepicker.css +2 -0
  19. package/lib/manifest.dialog.css +2 -0
  20. package/lib/manifest.divider.css +2 -0
  21. package/lib/manifest.dropdown.css +2 -0
  22. package/lib/manifest.dropdowns.js +6 -1
  23. package/lib/manifest.export.js +6 -0
  24. package/lib/manifest.form.css +2 -0
  25. package/lib/manifest.input.css +2 -0
  26. package/lib/manifest.integrity.json +24 -24
  27. package/lib/manifest.js +41 -0
  28. package/lib/manifest.localization.js +6 -1
  29. package/lib/manifest.markdown.js +24 -1
  30. package/lib/manifest.min.css +1 -1
  31. package/lib/manifest.native.js +7 -0
  32. package/lib/manifest.payments.js +7 -0
  33. package/lib/manifest.radio.css +2 -0
  34. package/lib/manifest.range.css +2 -0
  35. package/lib/manifest.resize.css +2 -0
  36. package/lib/manifest.resize.js +6 -1
  37. package/lib/manifest.router.js +7 -0
  38. package/lib/manifest.sidebar.css +2 -0
  39. package/lib/manifest.slides.css +2 -0
  40. package/lib/manifest.status.js +7 -0
  41. package/lib/manifest.svg.js +6 -0
  42. package/lib/manifest.switch.css +2 -0
  43. package/lib/manifest.table.css +2 -0
  44. package/lib/manifest.tabs.js +6 -1
  45. package/lib/manifest.theme.css +3 -1
  46. package/lib/manifest.toast.css +2 -0
  47. package/lib/manifest.toasts.js +6 -1
  48. package/lib/manifest.tooltip.css +2 -0
  49. package/lib/manifest.tooltips.js +6 -0
  50. package/lib/manifest.typography.css +2 -0
  51. package/lib/manifest.url.parameters.js +6 -0
  52. package/lib/manifest.utilities.css +2 -0
  53. package/lib/manifest.utilities.js +43 -7
  54. package/lib/manifest.virtual.js +6 -0
  55. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  /* Manifest Accordions */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer components {
4
6
 
5
7
 
@@ -1,3 +1,7 @@
1
+ /* manifest.appwrite.auth.js — built from scripts/auth/ */
2
+
3
+ (function () {
4
+
1
5
  /* Manifest Appwrite Auth — config resolution
2
6
  /* By Andrew Matlock under MIT license
3
7
  */
@@ -6993,4 +6997,6 @@ if (window.ManifestAppwriteAuthConfig) {
6993
6997
  initializeCallbacks();
6994
6998
  }
6995
6999
  });
6996
- }
7000
+ }
7001
+
7002
+ })();
@@ -1,3 +1,7 @@
1
+ /* manifest.appwrite.data.js — built from scripts/data/ */
2
+
3
+ (function () {
4
+
1
5
  /* Manifest Data Sources - Appwrite Integration */
2
6
 
3
7
  // Cache for Appwrite client (initialized once)
@@ -863,7 +867,7 @@ function debugAuthStore() {
863
867
  if (store.user) {
864
868
  }
865
869
  } catch (error) {
866
- console.error('[Manifest Data Debug] Error inspecting auth store:', error);
870
+ console.error('[Manifest Data] Error inspecting auth store:', error);
867
871
  }
868
872
  }
869
873
 
@@ -1570,3 +1574,6 @@ window.ManifestDataPagination = {
1570
1574
  getPrevPage,
1571
1575
  getPage
1572
1576
  };
1577
+
1578
+
1579
+ })();
@@ -1,5 +1,7 @@
1
1
  /* Manifest Avatars */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer utilities {
4
6
 
5
7
  :where(.avatar) {
@@ -1,5 +1,7 @@
1
1
  /* Manifest Buttons */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer components {
4
6
 
5
7
  :where(button:not(.link), [role=button], [type=button], [type=reset], [type=submit], select):not(code, .unstyle) {
@@ -1,5 +1,7 @@
1
1
  /* Manifest Charts */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  :root {
4
6
  /* Chart guidance */
5
7
  --color-chart-grid: var(--color-line, color-mix(in oklch, oklch(20.5% 0 0) 10%, transparent));
@@ -1,3 +1,7 @@
1
+ /* manifest.chat.js — built from scripts/chat/ */
2
+
3
+ (function () {
4
+
1
5
  /* Manifest Chat — store / engine
2
6
  /* By Andrew Matlock under MIT license
3
7
  /* https://manifestx.dev
@@ -803,3 +807,6 @@
803
807
  setTimeout(() => clearInterval(check), 5000);
804
808
  }
805
809
  })();
810
+
811
+
812
+ })();
@@ -1,5 +1,7 @@
1
1
  /* Manifest Checkboxes */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer components {
4
6
 
5
7
  input[type=checkbox]:not([role=switch], .unstyle) {
@@ -3,6 +3,8 @@
3
3
  /* https://manifestx.dev/styles/code
4
4
  */
5
5
 
6
+ @layer base, components, utilities;
7
+
6
8
  @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');
7
9
 
8
10
  :root {
@@ -10,6 +10,9 @@
10
10
  // Decided on first call; a later auto-detect block flips to full mode
11
11
  // (harmless — the full bundle overwrites the single hljs global).
12
12
 
13
+
14
+ (function () {
15
+
13
16
  const HLJS_FULL_URL = 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/highlight.min.js';
14
17
  // esm.run resolves extension-less specifiers; ".js" triggers a deprecation warning.
15
18
  const HLJS_CORE_URL = 'https://esm.run/highlight.js@11.11.1/lib/core';
@@ -837,3 +840,6 @@ window.ManifestCode = {
837
840
  };
838
841
 
839
842
  ensureCodePluginInitialized();
843
+
844
+
845
+ })();
@@ -1 +1 @@
1
- @import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");:root{--icon-code-copy:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E");--icon-code-copied:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3B5LWNoZWNrLWljb24gbHVjaWRlLWNvcHktY2hlY2siIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0ibTEyIDE1IDIgMiA0LTQiLz48cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiLz48L3N2Zz4=");--icon-code-expand:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--color-code-keyword:#b8860b;--color-code-string:#8b4513;--color-code-comment:gray;--color-code-function:peru;--color-code-number:sienna;--color-code-operator:#2f4f4f;--color-code-class-name:#daa520;--color-code-tag:#4682b4;--color-code-attr-name:#ff8c00;--color-code-attr-value:#8b4513;--color-code-property:sienna;--color-code-selector:#4682b4;--color-code-punctuation:#2f4f4f;--color-code-builtin:#b8860b;--color-code-constant:sienna;--color-code-boolean:sienna;--color-code-regex:#8b4513;--color-code-symbol:#daa520;--color-code-entity:#daa520;--color-code-url:sienna;--color-code-atrule:#b8860b;--color-code-rule:#4682b4;--color-code-doctype:gray;--color-code-cdata:gray;--color-code-prolog:gray;--color-code-namespace:gray;--color-code-important:#b8860b;--color-code-inserted:#228b22;--color-code-deleted:#dc143c;--color-code-char:#8b4513}.dark{--color-code-keyword:#f4a460;--color-code-string:#deb887;--color-code-comment:#8b8b8b;--color-code-function:#daa520;--color-code-number:tan;--color-code-operator:wheat;--color-code-class-name:peru;--color-code-tag:#87ceeb;--color-code-attr-name:gold;--color-code-attr-value:#deb887;--color-code-property:tan;--color-code-selector:#87ceeb;--color-code-punctuation:wheat;--color-code-builtin:#f4a460;--color-code-constant:tan;--color-code-boolean:tan;--color-code-regex:#deb887;--color-code-symbol:peru;--color-code-entity:peru;--color-code-url:tan;--color-code-atrule:#f4a460;--color-code-rule:#98fb98;--color-code-doctype:#8b8b8b;--color-code-cdata:#8b8b8b;--color-code-prolog:#8b8b8b;--color-code-namespace:#8b8b8b;--color-code-important:#f4a460;--color-code-inserted:#98fb98;--color-code-deleted:#f08080;--color-code-char:#deb887}@layer utilities{.hljs-comment{color:var(--color-code-comment)!important}.hljs-keyword{color:var(--color-code-keyword)!important}.hljs-string{color:var(--color-code-string)!important}.hljs-number{color:var(--color-code-number)!important}.hljs-literal{color:var(--color-code-constant)!important}.hljs-type{color:var(--color-code-class-name)!important}.hljs-variable{color:var(--color-code-property)!important}.hljs-variable.language_{color:var(--color-code-keyword)!important}.hljs-variable.constant_{color:var(--color-code-constant)!important}.hljs-title{color:var(--color-code-function)!important}.hljs-title.class_.inherited__{color:var(--color-code-class-name)!important}.hljs-title.function_.invoke__{color:var(--color-code-function)!important}.hljs-params{color:var(--color-code-property)!important}.hljs-doctag{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-meta{color:var(--color-code-comment)!important}.hljs-meta.keyword_,.hljs-meta.prompt_{color:var(--color-code-keyword)!important}.hljs-meta.string_{color:var(--color-code-string)!important}.hljs-section{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-name{color:var(--color-code-tag)!important}.hljs-attribute{color:var(--color-code-attr-name)!important}.hljs-bullet{color:var(--color-code-punctuation)!important}.hljs-code{color:var(--color-code-property)!important}.hljs-formula{color:var(--color-code-number)!important}.hljs-quote{color:var(--color-code-string)!important}.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo{color:var(--color-code-selector)!important}.hljs-template-tag{color:var(--color-code-tag)!important}.hljs-template-variable{color:var(--color-code-property)!important}.hljs-subst{color:var(--color-code-string)!important}}@layer components{:where(code[role=button]){height:fit-content}:where(.code-copied-icon){background-color:currentColor;display:inline-block;height:1em;mask-image:var(--icon-code-copied);mask-position:center;mask-repeat:no-repeat;mask-size:1em;vertical-align:middle;width:1em;@supports (height:1lh){height:1lh;vertical-align:top}}:where([x-code],[x-code-group]):not(.unstyle){position:relative;:where(header):not(:where(:is(aside.frame) header)){align-items:center;background-color:color-mix(in oklch,var(--color-content-stark,oklch(43.9% 0 0)) 8%,transparent);color:var(--color-content-neutral,oklch(43.9% 0 0));display:flex;flex-direction:row;font-family:var(--font-sans,sans-serif);font-size:inherit;min-height:var(--spacing-field-height,2.25rem);padding-inline-end:var(--spacing-field-height);padding-inline-start:calc(var(--spacing, .25rem)*4);width:100%;&:has(button[role=tab]){padding-inline-start:calc(var(--spacing, .25rem)*2)}& [role=tablist]{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}& button[role=tab]{background:transparent;border:0;color:inherit;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;justify-content:start;&:hover{background-color:var(--color-field-surface,color-mix(in oklch,oklch(20.5% 0 0) 10%,transparent));color:var(--color-content-stark,oklch(43.9% 0 0))}&[aria-selected=true]{color:var(--color-brand-content,oklch(68.1% .162 75.834));pointer-events:none;position:relative}}}}& button.copy{background-color:transparent;font-size:75%;inset-inline-end:0;position:absolute;top:0;&:hover{background-color:transparent;&:after{background-color:var(--color-field-inverse,oklch(43.9% 0 0))}}&:after{background-color:var(--color-content-neutral,oklch(43.9% 0 0));content:"";display:block;height:.8125rem;mask-image:var(--icon-code-copy);mask-repeat:no-repeat;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-code-copied)}}:where(header)::-webkit-scrollbar{display:none}& .lines{background-color:var(--color-page,oklch(98.5% 0 0));color:var(--color-content-subtle,oklch(55.6% 0 0));display:inline-flex;flex-direction:column;font-family:inherit;font-size:inherit;inset-inline-start:0;line-height:inherit;padding:calc(var(--spacing, .25rem)*4);pointer-events:none;position:absolute;text-align:end;user-select:none}&:has(.lines) code{padding-inline-start:calc(var(--spacing, .25rem)*8 + 2ch)}:where(code){flex:1 1 100%;min-width:0;white-space:pre;white-space-collapse:preserve}& button.expand{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-content-subtle,oklch(55.6% 0 0));cursor:pointer;display:flex;font-family:var(--font-sans,sans-serif);font-size:inherit;height:var(--spacing-field-height,2.25rem);justify-content:center;order:99;padding:0 calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);width:100%;&:hover{background:color-mix(in oklch,var(--color-content-stark,oklch(43.9% 0 0)) 8%,transparent);color:var(--color-content-neutral,oklch(43.9% 0 0))}}&[data-collapsed] .lines,&[data-collapsed] code{mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 3em),transparent calc(100% - .75em),transparent);max-height:calc(var(--collapse-lines, 20)*1.7em + var(--spacing, .25rem)*8);overflow:hidden}:where(aside.frame){background:unset;border:0;box-shadow:unset;color:unset;font-family:unset;font-size:unset;font-weight:unset;line-height:unset;white-space:normal;white-space-collapse:collapse}}:where([x-code-group]){flex-flow:column;:where([x-code]){background:transparent;border:0;border-radius:0}}:where([x-code]):has(>header){& .lines{top:var(--spacing-field-height,2.25rem)}}}
1
+ @layer base, components, utilities;@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");:root{--icon-code-copy:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E");--icon-code-copied:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3B5LWNoZWNrLWljb24gbHVjaWRlLWNvcHktY2hlY2siIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0ibTEyIDE1IDIgMiA0LTQiLz48cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIvPjxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiLz48L3N2Zz4=");--icon-code-expand:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--color-code-keyword:#b8860b;--color-code-string:#8b4513;--color-code-comment:gray;--color-code-function:peru;--color-code-number:sienna;--color-code-operator:#2f4f4f;--color-code-class-name:#daa520;--color-code-tag:#4682b4;--color-code-attr-name:#ff8c00;--color-code-attr-value:#8b4513;--color-code-property:sienna;--color-code-selector:#4682b4;--color-code-punctuation:#2f4f4f;--color-code-builtin:#b8860b;--color-code-constant:sienna;--color-code-boolean:sienna;--color-code-regex:#8b4513;--color-code-symbol:#daa520;--color-code-entity:#daa520;--color-code-url:sienna;--color-code-atrule:#b8860b;--color-code-rule:#4682b4;--color-code-doctype:gray;--color-code-cdata:gray;--color-code-prolog:gray;--color-code-namespace:gray;--color-code-important:#b8860b;--color-code-inserted:#228b22;--color-code-deleted:#dc143c;--color-code-char:#8b4513}.dark{--color-code-keyword:#f4a460;--color-code-string:#deb887;--color-code-comment:#8b8b8b;--color-code-function:#daa520;--color-code-number:tan;--color-code-operator:wheat;--color-code-class-name:peru;--color-code-tag:#87ceeb;--color-code-attr-name:gold;--color-code-attr-value:#deb887;--color-code-property:tan;--color-code-selector:#87ceeb;--color-code-punctuation:wheat;--color-code-builtin:#f4a460;--color-code-constant:tan;--color-code-boolean:tan;--color-code-regex:#deb887;--color-code-symbol:peru;--color-code-entity:peru;--color-code-url:tan;--color-code-atrule:#f4a460;--color-code-rule:#98fb98;--color-code-doctype:#8b8b8b;--color-code-cdata:#8b8b8b;--color-code-prolog:#8b8b8b;--color-code-namespace:#8b8b8b;--color-code-important:#f4a460;--color-code-inserted:#98fb98;--color-code-deleted:#f08080;--color-code-char:#deb887}@layer utilities{.hljs-comment{color:var(--color-code-comment)!important}.hljs-keyword{color:var(--color-code-keyword)!important}.hljs-string{color:var(--color-code-string)!important}.hljs-number{color:var(--color-code-number)!important}.hljs-literal{color:var(--color-code-constant)!important}.hljs-type{color:var(--color-code-class-name)!important}.hljs-variable{color:var(--color-code-property)!important}.hljs-variable.language_{color:var(--color-code-keyword)!important}.hljs-variable.constant_{color:var(--color-code-constant)!important}.hljs-title{color:var(--color-code-function)!important}.hljs-title.class_.inherited__{color:var(--color-code-class-name)!important}.hljs-title.function_.invoke__{color:var(--color-code-function)!important}.hljs-params{color:var(--color-code-property)!important}.hljs-doctag{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-meta{color:var(--color-code-comment)!important}.hljs-meta.keyword_,.hljs-meta.prompt_{color:var(--color-code-keyword)!important}.hljs-meta.string_{color:var(--color-code-string)!important}.hljs-section{color:var(--color-code-keyword)!important;font-weight:600!important}.hljs-name{color:var(--color-code-tag)!important}.hljs-attribute{color:var(--color-code-attr-name)!important}.hljs-bullet{color:var(--color-code-punctuation)!important}.hljs-code{color:var(--color-code-property)!important}.hljs-formula{color:var(--color-code-number)!important}.hljs-quote{color:var(--color-code-string)!important}.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo{color:var(--color-code-selector)!important}.hljs-template-tag{color:var(--color-code-tag)!important}.hljs-template-variable{color:var(--color-code-property)!important}.hljs-subst{color:var(--color-code-string)!important}}@layer components{:where(code[role=button]){height:fit-content}:where(.code-copied-icon){background-color:currentColor;display:inline-block;height:1em;mask-image:var(--icon-code-copied);mask-position:center;mask-repeat:no-repeat;mask-size:1em;vertical-align:middle;width:1em;@supports (height:1lh){height:1lh;vertical-align:top}}:where([x-code],[x-code-group]):not(.unstyle){position:relative;:where(header):not(:where(:is(aside.frame) header)){align-items:center;background-color:color-mix(in oklch,var(--color-content-stark,oklch(43.9% 0 0)) 8%,transparent);color:var(--color-content-neutral,oklch(43.9% 0 0));display:flex;flex-direction:row;font-family:var(--font-sans,sans-serif);font-size:inherit;min-height:var(--spacing-field-height,2.25rem);padding-inline-end:var(--spacing-field-height);padding-inline-start:calc(var(--spacing, .25rem)*4);width:100%;&:has(button[role=tab]){padding-inline-start:calc(var(--spacing, .25rem)*2)}& [role=tablist]{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}& button[role=tab]{background:transparent;border:0;color:inherit;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;justify-content:start;&:hover{background-color:var(--color-field-surface,color-mix(in oklch,oklch(20.5% 0 0) 10%,transparent));color:var(--color-content-stark,oklch(43.9% 0 0))}&[aria-selected=true]{color:var(--color-brand-content,oklch(68.1% .162 75.834));pointer-events:none;position:relative}}}}& button.copy{background-color:transparent;font-size:75%;inset-inline-end:0;position:absolute;top:0;&:hover{background-color:transparent;&:after{background-color:var(--color-field-inverse,oklch(43.9% 0 0))}}&:after{background-color:var(--color-content-neutral,oklch(43.9% 0 0));content:"";display:block;height:.8125rem;mask-image:var(--icon-code-copy);mask-repeat:no-repeat;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-code-copied)}}:where(header)::-webkit-scrollbar{display:none}& .lines{background-color:var(--color-page,oklch(98.5% 0 0));color:var(--color-content-subtle,oklch(55.6% 0 0));display:inline-flex;flex-direction:column;font-family:inherit;font-size:inherit;inset-inline-start:0;line-height:inherit;padding:calc(var(--spacing, .25rem)*4);pointer-events:none;position:absolute;text-align:end;user-select:none}&:has(.lines) code{padding-inline-start:calc(var(--spacing, .25rem)*8 + 2ch)}:where(code){flex:1 1 100%;min-width:0;white-space:pre;white-space-collapse:preserve}& button.expand{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-content-subtle,oklch(55.6% 0 0));cursor:pointer;display:flex;font-family:var(--font-sans,sans-serif);font-size:inherit;height:var(--spacing-field-height,2.25rem);justify-content:center;order:99;padding:0 calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);width:100%;&:hover{background:color-mix(in oklch,var(--color-content-stark,oklch(43.9% 0 0)) 8%,transparent);color:var(--color-content-neutral,oklch(43.9% 0 0))}}&[data-collapsed] .lines,&[data-collapsed] code{mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 3em),transparent calc(100% - .75em),transparent);max-height:calc(var(--collapse-lines, 20)*1.7em + var(--spacing, .25rem)*8);overflow:hidden}:where(aside.frame){background:unset;border:0;box-shadow:unset;color:unset;font-family:unset;font-size:unset;font-weight:unset;line-height:unset;white-space:normal;white-space-collapse:collapse}}:where([x-code-group]){flex-flow:column;:where([x-code]){background:transparent;border:0;border-radius:0}}:where([x-code]):has(>header){& .lines{top:var(--spacing-field-height,2.25rem)}}}
@@ -1,5 +1,7 @@
1
1
  /* Manifest Color Picker */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  :root {
4
6
  --color-picker-swatch: var(--color-line, color-mix(in oklch, oklch(20.5% 0 0) 10%, transparent));
5
7
  --icon-color-solid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-paint-roller-icon lucide-paint-roller'%3E%3Crect width='16' height='6' x='2' y='2' rx='2'/%3E%3Cpath d='M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect width='4' height='6' x='8' y='16' rx='1'/%3E%3C/svg%3E");
@@ -1736,6 +1736,9 @@ function initializeColorpickerPlugin() {
1736
1736
  // library div) without tearing down others' x-dropdown.context timers.
1737
1737
  _renderIntoContainer(container) {
1738
1738
  if (!container || !container.isConnected) return;
1739
+ // Runtime-regenerated: the prerenderer empties stamped containers
1740
+ // at serialize (this method rebuilds them from scratch at boot).
1741
+ container.setAttribute('data-mnfst-generated', '');
1739
1742
  const groups = this._resolveLibraryGroups();
1740
1743
  const layoutTpl = this.libraryTemplate || _defaultLibraryLayoutTpl;
1741
1744
  container.innerHTML = '';
@@ -1,5 +1,7 @@
1
1
  /* Manifest Combobox */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer components {
4
6
 
5
7
  /* Wrapper */
@@ -1,3 +1,7 @@
1
+ /* manifest.components.js — built from scripts/components/ */
2
+
3
+ (function () {
4
+
1
5
  /* Manifest Components */
2
6
 
3
7
  // Base URL for manifest-relative paths (e.g. "../" when viewing dist/index.html). Used by component loader, data loaders, localization.
@@ -938,4 +942,6 @@ if (document.readyState === 'loading') {
938
942
 
939
943
  window.ManifestComponents = {
940
944
  initialize: initializeComponents
941
- };
945
+ };
946
+
947
+ })();
package/lib/manifest.css CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  /* Manifest Reset - browser style normalizer */
8
8
 
9
+ @layer base, components, utilities;
10
+
9
11
  @layer base {
10
12
 
11
13
  *,
@@ -375,6 +377,8 @@
375
377
 
376
378
  /* Manifest Accordions */
377
379
 
380
+ @layer base, components, utilities;
381
+
378
382
  @layer components {
379
383
 
380
384
 
@@ -458,6 +462,8 @@
458
462
 
459
463
  /* Manifest Avatars */
460
464
 
465
+ @layer base, components, utilities;
466
+
461
467
  @layer utilities {
462
468
 
463
469
  :where(.avatar) {
@@ -589,6 +595,8 @@
589
595
 
590
596
  /* Manifest Buttons */
591
597
 
598
+ @layer base, components, utilities;
599
+
592
600
  @layer components {
593
601
 
594
602
  :where(button:not(.link), [role=button], [type=button], [type=reset], [type=submit], select):not(code, .unstyle) {
@@ -669,6 +677,8 @@
669
677
 
670
678
  /* Manifest Charts */
671
679
 
680
+ @layer base, components, utilities;
681
+
672
682
  :root {
673
683
  /* Chart guidance */
674
684
  --color-chart-grid: var(--color-line, color-mix(in oklch, oklch(20.5% 0 0) 10%, transparent));
@@ -966,6 +976,8 @@
966
976
 
967
977
  /* Manifest Chat */
968
978
 
979
+ @layer base, components, utilities;
980
+
969
981
  @layer utilities {
970
982
 
971
983
  :where(.chat-wrapper) {
@@ -1118,6 +1130,8 @@
1118
1130
 
1119
1131
  /* Manifest Checkboxes */
1120
1132
 
1133
+ @layer base, components, utilities;
1134
+
1121
1135
  @layer components {
1122
1136
 
1123
1137
  input[type=checkbox]:not([role=switch], .unstyle) {
@@ -1177,6 +1191,8 @@
1177
1191
 
1178
1192
  /* Manifest Color Picker */
1179
1193
 
1194
+ @layer base, components, utilities;
1195
+
1180
1196
  :root {
1181
1197
  --color-picker-swatch: var(--color-line, color-mix(in oklch, oklch(20.5% 0 0) 10%, transparent));
1182
1198
  --icon-color-solid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-paint-roller-icon lucide-paint-roller'%3E%3Crect width='16' height='6' x='2' y='2' rx='2'/%3E%3Cpath d='M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect width='4' height='6' x='8' y='16' rx='1'/%3E%3C/svg%3E");
@@ -1681,6 +1697,8 @@
1681
1697
 
1682
1698
  /* Manifest Combobox */
1683
1699
 
1700
+ @layer base, components, utilities;
1701
+
1684
1702
  @layer components {
1685
1703
 
1686
1704
  /* Wrapper */
@@ -1924,6 +1942,8 @@
1924
1942
 
1925
1943
  /* Manifest Date Picker */
1926
1944
 
1945
+ @layer base, components, utilities;
1946
+
1927
1947
  @layer utilities {
1928
1948
 
1929
1949
  /* Picker container only (not trigger input/button) */
@@ -2450,6 +2470,8 @@
2450
2470
  }
2451
2471
 
2452
2472
  /* Manifest Dialogs */
2473
+ @layer base, components, utilities;
2474
+
2453
2475
  [popover]:not(.unstyle):not(:popover-open) {
2454
2476
  display: none;
2455
2477
  }
@@ -2557,6 +2579,8 @@
2557
2579
 
2558
2580
  /* Manifest Dividers */
2559
2581
 
2582
+ @layer base, components, utilities;
2583
+
2560
2584
  @layer utilities {
2561
2585
 
2562
2586
  :where(.divider) {
@@ -2635,6 +2659,8 @@
2635
2659
 
2636
2660
  /* Manifest Dock */
2637
2661
 
2662
+ @layer base, components, utilities;
2663
+
2638
2664
  @layer components {
2639
2665
 
2640
2666
  /* Fixed bottom navigation bar. Best practice: <nav dock aria-label="Primary">.
@@ -2691,6 +2717,8 @@
2691
2717
  }
2692
2718
 
2693
2719
  /* Manifest Dropdowns */
2720
+ @layer base, components, utilities;
2721
+
2694
2722
  [popover]:not(.unstyle):not(:popover-open) {
2695
2723
  display: none;
2696
2724
  }
@@ -2959,6 +2987,8 @@
2959
2987
 
2960
2988
  /* Manifest Edit */
2961
2989
 
2990
+ @layer base, components, utilities;
2991
+
2962
2992
  /* Authors override any of this without specificity battles: every rule is wrapped
2963
2993
  in :where(), state lives on data-attributes, and injected affordances use plain
2964
2994
  semantic class names (.edit-handle, .edit-frame) — no framework-prefixed litter. */
@@ -3135,6 +3165,8 @@
3135
3165
 
3136
3166
  /* Manifest Forms */
3137
3167
 
3168
+ @layer base, components, utilities;
3169
+
3138
3170
  @layer components {
3139
3171
 
3140
3172
  /* Group & tab bar wrappers */
@@ -3455,6 +3487,8 @@
3455
3487
 
3456
3488
  /* Manifest Inputs */
3457
3489
 
3490
+ @layer base, components, utilities;
3491
+
3458
3492
  :root {
3459
3493
 
3460
3494
  /* Copy button icons */
@@ -3684,6 +3718,8 @@
3684
3718
 
3685
3719
  /* Manifest Radios */
3686
3720
 
3721
+ @layer base, components, utilities;
3722
+
3687
3723
  @layer components {
3688
3724
 
3689
3725
  input[type=radio]:not(.unstyle) {
@@ -3723,6 +3759,8 @@
3723
3759
 
3724
3760
  /* Manifest Range */
3725
3761
 
3762
+ @layer base, components, utilities;
3763
+
3726
3764
  @layer components {
3727
3765
 
3728
3766
  input[type=range]:not(.unstyle) {
@@ -3784,6 +3822,8 @@
3784
3822
 
3785
3823
  /* Manifest Resize Handles */
3786
3824
 
3825
+ @layer base, components, utilities;
3826
+
3787
3827
  @layer utilities {
3788
3828
 
3789
3829
  :where([x-resize]) {
@@ -4017,6 +4057,8 @@
4017
4057
  }
4018
4058
 
4019
4059
  /* Manifest Sidebars */
4060
+ @layer base, components, utilities;
4061
+
4020
4062
  [popover]:not(.unstyle):not(:popover-open) {
4021
4063
  display: none;
4022
4064
  }
@@ -4097,6 +4139,8 @@
4097
4139
 
4098
4140
  /* Manifest Slides */
4099
4141
 
4142
+ @layer base, components, utilities;
4143
+
4100
4144
  @layer components {
4101
4145
 
4102
4146
  [x-carousel] {
@@ -4178,6 +4222,8 @@
4178
4222
 
4179
4223
  /* Manifest Switches */
4180
4224
 
4225
+ @layer base, components, utilities;
4226
+
4181
4227
  @layer components {
4182
4228
 
4183
4229
  :where(input[role=switch]):not(.unstyle) {
@@ -4223,6 +4269,8 @@
4223
4269
 
4224
4270
  /* Manifest Tables */
4225
4271
 
4272
+ @layer base, components, utilities;
4273
+
4226
4274
  @layer components {
4227
4275
 
4228
4276
  :where(.grid-table):not(.unstyle) {
@@ -4307,6 +4355,8 @@
4307
4355
 
4308
4356
  /* ManifestToasts */
4309
4357
 
4358
+ @layer base, components, utilities;
4359
+
4310
4360
  @layer utilities {
4311
4361
 
4312
4362
  :where(.toast-container) {
@@ -4405,6 +4455,8 @@
4405
4455
  }
4406
4456
 
4407
4457
  /* Manifest Tooltips */
4458
+ @layer base, components, utilities;
4459
+
4408
4460
  [popover]:not(.unstyle):not(:popover-open) {
4409
4461
  display: none;
4410
4462
  }
@@ -4567,6 +4619,8 @@
4567
4619
 
4568
4620
  /* Manifest Typography */
4569
4621
 
4622
+ @layer base, components, utilities;
4623
+
4570
4624
  @layer base {
4571
4625
 
4572
4626
  /* All text elements */
@@ -5274,6 +5328,8 @@
5274
5328
 
5275
5329
  /* Manifest Utilities */
5276
5330
 
5331
+ @layer base, components, utilities;
5332
+
5277
5333
  @layer utilities {
5278
5334
 
5279
5335
  /* Center in flex parent */
@@ -1,3 +1,7 @@
1
+ /* manifest.data.js — built from scripts/data/ */
2
+
3
+ (function () {
4
+
1
5
  /* Manifest Data Sources - Configuration */
2
6
 
3
7
  // Load manifest if not already loaded (loader may set __manifestLoaded / registry.manifest).
@@ -856,6 +860,7 @@ function checkAndDispatchRenderReady() {
856
860
  'en';
857
861
  const sources = Object.keys(store).filter(k => !k.startsWith('_') && k !== 'all');
858
862
 
863
+ window.__manifestRenderReady = true;
859
864
  window.dispatchEvent(new CustomEvent('manifest:render-ready', {
860
865
  detail: { locale, sources }
861
866
  }));
@@ -2816,7 +2821,7 @@ function handleCircularReference({
2816
2821
  }
2817
2822
 
2818
2823
  if (shouldLog) {
2819
- console.warn(`[Proxy] ⚠️ CIRCULAR ${fullPath} | depth:${currentDepth} | triggered by:${triggeredBy} | This is likely Alpine re-evaluation`);
2824
+ console.warn(`[Manifest Data] ⚠️ CIRCULAR ${fullPath} | depth:${currentDepth} | triggered by:${triggeredBy} | This is likely Alpine re-evaluation`);
2820
2825
  }
2821
2826
 
2822
2827
  // Prop already in flight (Alpine re-evaluating): hand back the cached plain
@@ -2875,13 +2880,13 @@ function handleCircularReference({
2875
2880
  }
2876
2881
  } catch (e) {
2877
2882
  if (shouldLog) {
2878
- console.error(`[Proxy] ${fullPath} | Error in circular check:`, e);
2883
+ console.error(`[Manifest Data] ${fullPath} | Error in circular check:`, e);
2879
2884
  }
2880
2885
  }
2881
2886
 
2882
2887
  // If we can't return a cached copy, return undefined to break the cycle
2883
2888
  if (shouldLog) {
2884
- console.warn(`[Proxy] ${fullPath} | ⚠️ CIRCULAR - returning undefined to break cycle`);
2889
+ console.warn(`[Manifest Data] ${fullPath} | ⚠️ CIRCULAR - returning undefined to break cycle`);
2885
2890
  }
2886
2891
  if (activeProps) {
2887
2892
  activeProps.delete(propKey);
@@ -3652,7 +3657,7 @@ function createArrayProxyWithRoute(arrayTarget, dataSourceName = null, reloadDat
3652
3657
  });
3653
3658
  attachedMethods.push(methodName);
3654
3659
  } catch (e) {
3655
- console.warn(`[Array Proxy] Failed to attach ${methodName}:`, e);
3660
+ console.warn(`[Manifest Data] Failed to attach ${methodName}:`, e);
3656
3661
  }
3657
3662
  }
3658
3663
  });
@@ -3861,7 +3866,7 @@ function createArrayProxyWithRoute(arrayTarget, dataSourceName = null, reloadDat
3861
3866
  return bound;
3862
3867
  }
3863
3868
  // Return undefined if target is invalid
3864
- console.warn(`[Array Proxy] Could not provide array method: ${key}`, {
3869
+ console.warn(`[Manifest Data] Could not provide array method: ${key}`, {
3865
3870
  targetType: typeof target,
3866
3871
  hasLength: target && 'length' in target,
3867
3872
  lengthType: target && typeof target.length
@@ -4198,7 +4203,7 @@ function createArrayProxyWithRoute(arrayTarget, dataSourceName = null, reloadDat
4198
4203
  })()
4199
4204
  });
4200
4205
  } catch (e) {
4201
- console.warn(`[Array Proxy] Failed to define ${methodName} on proxy:`, e);
4206
+ console.warn(`[Manifest Data] Failed to define ${methodName} on proxy:`, e);
4202
4207
  }
4203
4208
  }
4204
4209
  });
@@ -5196,7 +5201,7 @@ function createRouteProxy(dataSourceData, pathKey, dataSourceName) {
5196
5201
  }
5197
5202
  return undefined;
5198
5203
  } catch (error) {
5199
- console.error('[Route Proxy Get] Error:', error);
5204
+ console.error('[Manifest Data] Error:', error);
5200
5205
  return undefined;
5201
5206
  }
5202
5207
  },
@@ -5386,7 +5391,7 @@ function createComputedFilesArray(tableName, entryId, bucketName, columnName = '
5386
5391
  errorState.value = bucketError;
5387
5392
 
5388
5393
  } catch (err) {
5389
- console.error('[createComputedFilesArray] Error recomputing files:', err);
5394
+ console.error('[Manifest Data] Error recomputing files:', err);
5390
5395
  errorState.value = err.message || 'Failed to compute files';
5391
5396
  loadingState.value = false;
5392
5397
  }
@@ -5881,7 +5886,7 @@ function createReactiveFileManager(tableName, entryId, bucketName, columnName) {
5881
5886
  }
5882
5887
  }
5883
5888
  }).catch(err => {
5884
- console.error('[ReactiveFileManager] Failed to load files after fileIds change:', err);
5889
+ console.error('[Manifest Data] Failed to load files after fileIds change:', err);
5885
5890
  });
5886
5891
  } else if (lastSeenFileIds === null) {
5887
5892
  // Initialize lastSeenFileIds on first run
@@ -5898,7 +5903,7 @@ function createReactiveFileManager(tableName, entryId, bucketName, columnName) {
5898
5903
  if (!fileIdsMatch && !loading && lastSeenFileIds !== null) {
5899
5904
  lastSeenFileIds = JSON.stringify(currentFileIds);
5900
5905
  loadFiles().catch(err => {
5901
- console.error('[ReactiveFileManager] Failed to reload files after sync check:', err);
5906
+ console.error('[Manifest Data] Failed to reload files after sync check:', err);
5902
5907
  });
5903
5908
  }
5904
5909
  }
@@ -6006,7 +6011,7 @@ async function getFilesForEntry(tableName, entryId, bucketId, fileIdsColumn = 'f
6006
6011
 
6007
6012
  // CRITICAL DEBUG: Log missing files to understand where stale fileIds come from
6008
6013
  if (missingFileIds.length > 0) {
6009
- console.warn('[getFilesForEntry] Found missing fileIds in database entry:', {
6014
+ console.warn('[Manifest Data] Found missing fileIds in database entry:', {
6010
6015
  tableName,
6011
6016
  entryId,
6012
6017
  missingFileIds,
@@ -6355,13 +6360,13 @@ async function unlinkFileFromAllEntries(fileId) {
6355
6360
  .then(() => {
6356
6361
  })
6357
6362
  .catch(error => {
6358
- console.debug('[Manifest Data] Could not unlink from', tableName, 'entry', entry.$id, ':', error.message);
6363
+ console.warn('[Manifest Data] Could not unlink from', tableName, 'entry', entry.$id, ':', error.message);
6359
6364
  })
6360
6365
  );
6361
6366
  }
6362
6367
  } catch (error) {
6363
6368
  // Silently continue - not all tables may have fileIds
6364
- console.debug('[Manifest Data] Could not process', tableName, ':', error.message);
6369
+ console.warn('[Manifest Data] Could not process', tableName, ':', error.message);
6365
6370
  }
6366
6371
  }
6367
6372
 
@@ -10180,7 +10185,7 @@ function registerFilesDirective() {
10180
10185
  const databaseIsStale = databaseFileIds && databaseFileIdsJson !== lastFileIds;
10181
10186
 
10182
10187
  if (storeIsStale || databaseIsStale) {
10183
- console.warn('[UPLOAD DEBUG] Store/Database fileIds is STALE - cleaning up:', {
10188
+ console.warn('[Manifest Data] Store/Database fileIds is STALE - cleaning up:', {
10184
10189
  directiveInstanceId,
10185
10190
  projectId: currentProjectId,
10186
10191
  storeFileIds: storeFileIdsJson,
@@ -10220,7 +10225,7 @@ function registerFilesDirective() {
10220
10225
  }
10221
10226
  }
10222
10227
  } catch (dbUpdateError) {
10223
- console.error('[UPLOAD DEBUG] Failed to update Appwrite database:', dbUpdateError);
10228
+ console.error('[Manifest Data] Failed to update Appwrite database:', dbUpdateError);
10224
10229
  // Don't throw - store is already updated, database will sync via realtime eventually
10225
10230
  }
10226
10231
  }
@@ -10888,7 +10893,7 @@ async function handleTableRealtimeEvent(dataSourceName, databaseId, tableId, sco
10888
10893
  // Incoming missing files + not clearly newer = stale event
10889
10894
  // racing an optimistic update; ignore it to protect the upload.
10890
10895
  if (isMissingFiles && !isDefinitelyNewer) {
10891
- console.warn('[Realtime] Ignoring stale realtime update (protecting optimistic update):', {
10896
+ console.warn('[Manifest Data] Ignoring stale realtime update (protecting optimistic update):', {
10892
10897
  projectId: row.$id,
10893
10898
  existingFileIds: existingFileIds,
10894
10899
  incomingFileIds: incomingFileIds,
@@ -11744,4 +11749,6 @@ if (typeof Alpine !== 'undefined') {
11744
11749
  }
11745
11750
 
11746
11751
  // Also listen for alpine:init (in case Alpine loads after DOMContentLoaded)
11747
- document.addEventListener('alpine:init', tryInitialize);
11752
+ document.addEventListener('alpine:init', tryInitialize);
11753
+
11754
+ })();
@@ -1,5 +1,7 @@
1
1
  /* Manifest Date Picker */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer utilities {
4
6
 
5
7
  /* Picker container only (not trigger input/button) */
@@ -1,5 +1,7 @@
1
1
  /* Manifest Dialogs */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  [popover]:not(.unstyle):not(:popover-open) {
4
6
  display: none;
5
7
  }
@@ -1,5 +1,7 @@
1
1
  /* Manifest Dividers */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  @layer utilities {
4
6
 
5
7
  :where(.divider) {
@@ -1,5 +1,7 @@
1
1
  /* Manifest Dropdowns */
2
2
 
3
+ @layer base, components, utilities;
4
+
3
5
  [popover]:not(.unstyle):not(:popover-open) {
4
6
  display: none;
5
7
  }
@@ -1,5 +1,8 @@
1
1
  /* Manifest Dropdowns */
2
2
 
3
+ (function () {
4
+
5
+
3
6
  // Most recent input modality, so we only move focus into a menu for keyboard opens.
4
7
  // Capture-phase so no handler can stop it first.
5
8
  let lastInputModality = 'mouse';
@@ -560,4 +563,6 @@ window.addEventListener('manifest:route-change', () => {
560
563
  if (row && row.closest('[keep-open]')) return;
561
564
  if (menu.__mnfstAutoClose || (row && row.closest('[close]'))) menu.hidePopover();
562
565
  });
563
- });
566
+ });
567
+
568
+ })();