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.
- package/lib/manifest.accordion.css +2 -0
- package/lib/manifest.appwrite.auth.js +7 -1
- package/lib/manifest.appwrite.data.js +8 -1
- package/lib/manifest.avatar.css +2 -0
- package/lib/manifest.button.css +2 -0
- package/lib/manifest.chart.css +2 -0
- package/lib/manifest.chat.js +7 -0
- package/lib/manifest.checkbox.css +2 -0
- package/lib/manifest.code.css +2 -0
- package/lib/manifest.code.js +6 -0
- package/lib/manifest.code.min.css +1 -1
- package/lib/manifest.colorpicker.css +2 -0
- package/lib/manifest.colorpicker.js +3 -0
- package/lib/manifest.combobox.css +2 -0
- package/lib/manifest.components.js +7 -1
- package/lib/manifest.css +56 -0
- package/lib/manifest.data.js +24 -17
- package/lib/manifest.datepicker.css +2 -0
- package/lib/manifest.dialog.css +2 -0
- package/lib/manifest.divider.css +2 -0
- package/lib/manifest.dropdown.css +2 -0
- package/lib/manifest.dropdowns.js +6 -1
- package/lib/manifest.export.js +6 -0
- package/lib/manifest.form.css +2 -0
- package/lib/manifest.input.css +2 -0
- package/lib/manifest.integrity.json +24 -24
- package/lib/manifest.js +41 -0
- package/lib/manifest.localization.js +6 -1
- package/lib/manifest.markdown.js +24 -1
- package/lib/manifest.min.css +1 -1
- package/lib/manifest.native.js +7 -0
- package/lib/manifest.payments.js +7 -0
- package/lib/manifest.radio.css +2 -0
- package/lib/manifest.range.css +2 -0
- package/lib/manifest.resize.css +2 -0
- package/lib/manifest.resize.js +6 -1
- package/lib/manifest.router.js +7 -0
- package/lib/manifest.sidebar.css +2 -0
- package/lib/manifest.slides.css +2 -0
- package/lib/manifest.status.js +7 -0
- package/lib/manifest.svg.js +6 -0
- package/lib/manifest.switch.css +2 -0
- package/lib/manifest.table.css +2 -0
- package/lib/manifest.tabs.js +6 -1
- package/lib/manifest.theme.css +3 -1
- package/lib/manifest.toast.css +2 -0
- package/lib/manifest.toasts.js +6 -1
- package/lib/manifest.tooltip.css +2 -0
- package/lib/manifest.tooltips.js +6 -0
- package/lib/manifest.typography.css +2 -0
- package/lib/manifest.url.parameters.js +6 -0
- package/lib/manifest.utilities.css +2 -0
- package/lib/manifest.utilities.js +43 -7
- package/lib/manifest.virtual.js +6 -0
- package/package.json +1 -1
|
@@ -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
|
|
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
|
+
})();
|
package/lib/manifest.avatar.css
CHANGED
package/lib/manifest.button.css
CHANGED
package/lib/manifest.chart.css
CHANGED
package/lib/manifest.chat.js
CHANGED
|
@@ -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
|
+
})();
|
package/lib/manifest.code.css
CHANGED
|
@@ -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 {
|
package/lib/manifest.code.js
CHANGED
|
@@ -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,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 */
|
package/lib/manifest.data.js
CHANGED
|
@@ -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(`[
|
|
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(`[
|
|
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(`[
|
|
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(`[
|
|
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(`[
|
|
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(`[
|
|
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('[
|
|
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('[
|
|
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('[
|
|
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('[
|
|
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('[
|
|
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.
|
|
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.
|
|
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('[
|
|
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('[
|
|
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('[
|
|
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
|
+
})();
|
package/lib/manifest.dialog.css
CHANGED
package/lib/manifest.divider.css
CHANGED
|
@@ -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
|
+
})();
|