mnfst 0.5.49 → 0.5.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/{dist → lib}/manifest.code.min.css +1 -1
  2. package/{dist → lib}/manifest.data.js +2 -0
  3. package/{dist → lib}/manifest.js +15 -6
  4. package/package.json +8 -7
  5. /package/{dist → lib}/manifest.accordion.css +0 -0
  6. /package/{dist → lib}/manifest.appwrite.auth.js +0 -0
  7. /package/{dist → lib}/manifest.appwrite.data.js +0 -0
  8. /package/{dist → lib}/manifest.appwrite.presence.js +0 -0
  9. /package/{dist → lib}/manifest.avatar.css +0 -0
  10. /package/{dist → lib}/manifest.button.css +0 -0
  11. /package/{dist → lib}/manifest.checkbox.css +0 -0
  12. /package/{dist → lib}/manifest.code.css +0 -0
  13. /package/{dist → lib}/manifest.code.js +0 -0
  14. /package/{dist → lib}/manifest.components.js +0 -0
  15. /package/{dist → lib}/manifest.css +0 -0
  16. /package/{dist → lib}/manifest.dialog.css +0 -0
  17. /package/{dist → lib}/manifest.divider.css +0 -0
  18. /package/{dist → lib}/manifest.dropdown.css +0 -0
  19. /package/{dist → lib}/manifest.dropdowns.js +0 -0
  20. /package/{dist → lib}/manifest.form.css +0 -0
  21. /package/{dist → lib}/manifest.icons.js +0 -0
  22. /package/{dist → lib}/manifest.input.css +0 -0
  23. /package/{dist → lib}/manifest.localization.js +0 -0
  24. /package/{dist → lib}/manifest.markdown.js +0 -0
  25. /package/{dist → lib}/manifest.min.css +0 -0
  26. /package/{dist → lib}/manifest.radio.css +0 -0
  27. /package/{dist → lib}/manifest.resize.css +0 -0
  28. /package/{dist → lib}/manifest.resize.js +0 -0
  29. /package/{dist → lib}/manifest.router.js +0 -0
  30. /package/{dist → lib}/manifest.sidebar.css +0 -0
  31. /package/{dist → lib}/manifest.slides.css +0 -0
  32. /package/{dist → lib}/manifest.slides.js +0 -0
  33. /package/{dist → lib}/manifest.switch.css +0 -0
  34. /package/{dist → lib}/manifest.table.css +0 -0
  35. /package/{dist → lib}/manifest.tabs.js +0 -0
  36. /package/{dist → lib}/manifest.tailwind.js +0 -0
  37. /package/{dist → lib}/manifest.theme.css +0 -0
  38. /package/{dist → lib}/manifest.themes.js +0 -0
  39. /package/{dist → lib}/manifest.toast.css +0 -0
  40. /package/{dist → lib}/manifest.toasts.js +0 -0
  41. /package/{dist → lib}/manifest.tooltip.css +0 -0
  42. /package/{dist → lib}/manifest.tooltips.js +0 -0
  43. /package/{dist → lib}/manifest.typography.css +0 -0
  44. /package/{dist → lib}/manifest.utilities.css +0 -0
  45. /package/{dist → lib}/manifest.utilities.js +0 -0
@@ -1 +1 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Gabarito:wght@400..900&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&family=Lexend+Exa&display=swap");:root{--icon-copy-code: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-copied-code: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='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--color-code-keyword:#b8860b;--color-code-string:#8b4513;--color-code-comment:grey;--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:grey;--color-code-cdata:grey;--color-code-prolog:grey;--color-code-namespace:grey;--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(pre):not(.unstyle){display:flex;flex:1;-ms-overflow-style:scrollbar;background-color:var(--color-page,oklch(100% 0 0));border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:1rem;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto;padding:calc(var(--spacing, .25rem)*4);tab-size:4;text-indent:0;white-space:pre;white-space-collapse:preserve;width:auto}:where(pre code):not(.unstyle){background-color:transparent;border:0;color:inherit;display:block;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0;width:100%;& span{vertical-align:initial}}:where(x-code-group,x-code,[x-code]){background:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 45%,transparent);border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:1rem;display:flex;flex-flow:row wrap;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.5;overflow:hidden;position:relative;&:has(>header){padding:.125rem}&>header{align-items:center;border-bottom:none;border-radius:.8125rem .8125rem 0 0;color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:.8125rem;font-weight:500;gap:calc(var(--spacing, .25rem)*2);overflow-x:auto;padding:.5rem 4rem .5rem 1rem;width:100%;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}& button[role=tab]{background:transparent;border-radius:var(--radius,.5rem);color:inherit;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);&:hover{background-color:var(--color-surface-3,oklch(91.79% .0029 264.26));color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}&.selected{background:transparent;color:var(--color-brand-content,#de6618);position:relative;&:hover{background-color:var(--color-surface-3,oklch(91.79% .0029 264.26))}&:after{background:color-mix(in oklch,var(--color-brand-content,#de6618) 50%,transparent);border-radius:.5rem;bottom:-.5rem;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:calc(100% - var(--spacing, .25rem)*4)}}}}& .lines{background:var(--color-page,oklch(100% 0 0));color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;flex-direction:column;font-family:inherit;font-size:inherit;line-height:inherit;min-width:2.5rem;padding:calc(var(--spacing, .25rem)*4) .5rem calc(var(--spacing, .25rem)*4) .5rem;pointer-events:none;text-align:right;user-select:none;width:fit-content}&:has(>header) .lines{border-end-start-radius:.875rem;border-start-start-radius:.875rem}& pre{border:0;margin-top:0}&:has(>header) pre{border-radius:.875rem}&[numbers] pre{border-end-start-radius:0;border-start-start-radius:0}& .copy{height:1.75rem;min-width:0;padding:0;position:absolute;right:.5rem;top:.3rem;width:1.75rem;&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";display:block;height:.8125rem;mask-image:var(--icon-copy-code);mask-repeat:no-repeat;mask-size:1rem;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-copied-code)}&.copied{--color-field-surface:var(--color-positive-surface);--color-field-surface-hover:var(--color-positive-surface-hover);--color-field-inverse:var(--color-positive-inverse)}}:where(x-code){border:0;margin-top:0;overflow:visible;width:100%;& .copy{top:-2.25rem}}}[dir=rtl] :where(x-code-group,x-code,[x-code]) .copy{left:.5rem;right:auto}}@layer utilities{.prose aside.frame{background:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 35%,transparent);border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:calc(var(--radius, .5rem)*2);display:flex;gap:calc(var(--spacing, .25rem)*4)}.prose aside.frame:has(+x-code-group,+x-code){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.prose aside.frame+x-code,.prose aside.frame+x-code-group{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.prose aside.frame+x-code pre{border-top-left-radius:0;border-top-right-radius:0}}
1
+ @import url("https://fonts.googleapis.com/css2?family=Gabarito:wght@400..900&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&family=Lexend+Exa&display=swap");:root{--icon-copy-code: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-copied-code: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='M20 6 9 17l-5-5'/%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(pre):not(.unstyle){display:flex;flex:1;-ms-overflow-style:scrollbar;background-color:var(--color-page,oklch(100% 0 0));border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:1rem;color:var(--color-content-neutral,oklch(48.26% .0365 255.09));font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto;padding:calc(var(--spacing, .25rem)*4);tab-size:4;text-indent:0;white-space:pre;white-space-collapse:preserve;width:auto}:where(pre code):not(.unstyle){background-color:transparent;border:0;color:inherit;display:block;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0;width:100%;& span{vertical-align:initial}}:where(x-code-group,x-code,[x-code]){background:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 45%,transparent);border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:1rem;display:flex;flex-flow:row wrap;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.5;overflow:hidden;position:relative;&:has(>header){padding:.125rem}&>header{align-items:center;border-bottom:none;border-radius:.8125rem .8125rem 0 0;color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:.8125rem;font-weight:500;gap:calc(var(--spacing, .25rem)*2);overflow-x:auto;padding:.5rem 4rem .5rem 1rem;width:100%;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}& button[role=tab]{background:transparent;border-radius:var(--radius,.5rem);color:inherit;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:inherit;height:fit-content;padding:var(--spacing,.25rem) calc(var(--spacing, .25rem)*2);transition:var(--transition,all .05s ease-in-out);&:hover{background-color:var(--color-surface-3,oklch(91.79% .0029 264.26));color:var(--color-content-neutral,oklch(48.26% .0365 255.09))}&.selected{background:transparent;color:var(--color-brand-content,#de6618);position:relative;&:hover{background-color:var(--color-surface-3,oklch(91.79% .0029 264.26))}&:after{background:color-mix(in oklch,var(--color-brand-content,#de6618) 50%,transparent);border-radius:.5rem;bottom:-.5rem;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:calc(100% - var(--spacing, .25rem)*4)}}}}& .lines{background:var(--color-page,oklch(100% 0 0));color:var(--color-content-subtle,oklch(67.4% .0318 251.27));display:flex;flex-direction:column;font-family:inherit;font-size:inherit;line-height:inherit;min-width:2.5rem;padding:calc(var(--spacing, .25rem)*4) .5rem calc(var(--spacing, .25rem)*4) .5rem;pointer-events:none;text-align:right;user-select:none;width:fit-content}&:has(>header) .lines{border-end-start-radius:.875rem;border-start-start-radius:.875rem}& pre{border:0;margin-top:0}&:has(>header) pre{border-radius:.875rem}&[numbers] pre{border-end-start-radius:0;border-start-start-radius:0}& .copy{height:1.75rem;min-width:0;padding:0;position:absolute;right:.5rem;top:.3rem;width:1.75rem;&:after{background-color:var(--color-field-inverse,oklch(16.6% .026 267));content:"";display:block;height:.8125rem;mask-image:var(--icon-copy-code);mask-repeat:no-repeat;mask-size:1rem;mask-size:contain;width:.8125rem}&.copied:after{mask-image:var(--icon-copied-code)}&.copied{--color-field-surface:var(--color-positive-surface);--color-field-surface-hover:var(--color-positive-surface-hover);--color-field-inverse:var(--color-positive-inverse)}}:where(x-code){border:0;margin-top:0;overflow:visible;width:100%;& .copy{top:-2.25rem}}}[dir=rtl] :where(x-code-group,x-code,[x-code]) .copy{left:.5rem;right:auto}}@layer utilities{.prose aside.frame{background:color-mix(in oklch,var(--color-field-surface,oklch(91.79% .0029 264.26)) 35%,transparent);border:1px solid var(--color-field-surface,oklch(91.79% .0029 264.26));border-radius:calc(var(--radius, .5rem)*2);display:flex;gap:calc(var(--spacing, .25rem)*4)}.prose aside.frame:has(+x-code-group,+x-code){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.prose aside.frame+x-code,.prose aside.frame+x-code-group{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.prose aside.frame+x-code pre{border-top-left-radius:0;border-top-right-radius:0}}
@@ -1698,6 +1698,8 @@ window.ManifestDataLoaders = {
1698
1698
  loadCSVParser,
1699
1699
  deepMergeWithFallback,
1700
1700
  parseCSVToNestedObject,
1701
+ setNestedValue,
1702
+ numericKeyObjectToArray,
1701
1703
  resolveDataPath,
1702
1704
  loadLocalFile
1703
1705
  };
@@ -13,11 +13,11 @@
13
13
 
14
14
  // Configuration
15
15
  const DEFAULT_VERSION = 'latest';
16
- const ALPINE_CDN_URL = 'https://cdn.jsdelivr.net/npm/alpinejs/dist/cdn.min.js';
16
+ const ALPINE_CDN_URL = 'https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js';
17
17
 
18
18
  // Get base URL for a given version
19
19
  function getBaseUrl(version = DEFAULT_VERSION) {
20
- return `https://cdn.jsdelivr.net/npm/mnfst@${version}/dist`;
20
+ return `https://cdn.jsdelivr.net/npm/mnfst@${version}/lib`;
21
21
  }
22
22
 
23
23
  // Available core plugins (auto-loaded if no data-plugins specified)
@@ -92,9 +92,16 @@
92
92
  return `${base}/manifest.${pluginName}.min.js`;
93
93
  }
94
94
 
95
+ // Resolve Alpine CDN URL from a data-alpine value (version tag or full URL)
96
+ function resolveAlpineUrl(dataAlpine) {
97
+ if (!dataAlpine) return ALPINE_CDN_URL;
98
+ if (dataAlpine.startsWith('http')) return dataAlpine;
99
+ return `https://cdn.jsdelivr.net/npm/alpinejs@${dataAlpine}/dist/cdn.min.js`;
100
+ }
101
+
95
102
  // Load Alpine.js from CDN with defer attribute
96
103
  // Alpine waits for DOM to be ready, and by then all plugins are registered
97
- function loadAlpine() {
104
+ function loadAlpine(alpineUrl = ALPINE_CDN_URL) {
98
105
  // Fast check: Alpine already initialized
99
106
  if (window.Alpine) {
100
107
  return;
@@ -107,7 +114,7 @@
107
114
  }
108
115
 
109
116
  const script = document.createElement('script');
110
- script.src = ALPINE_CDN_URL;
117
+ script.src = alpineUrl;
111
118
  script.defer = true; // Critical: defer ensures Alpine waits for DOM and all plugins
112
119
  document.head.appendChild(script);
113
120
  }
@@ -221,6 +228,7 @@
221
228
  const omit = script.getAttribute('data-omit');
222
229
  const tailwind = script.getAttribute('data-tailwind') !== null;
223
230
  const version = script.getAttribute('data-version') || DEFAULT_VERSION;
231
+ const alpine = script.getAttribute('data-alpine');
224
232
 
225
233
  let pluginList = [];
226
234
  const deriveFromManifest = !plugins;
@@ -246,7 +254,8 @@
246
254
  plugins: pluginList,
247
255
  deriveFromManifest,
248
256
  tailwind,
249
- version
257
+ version,
258
+ alpine
250
259
  };
251
260
  }
252
261
 
@@ -344,7 +353,7 @@
344
353
  window.ManifestComponentsRegistry.manifest = manifest;
345
354
  }
346
355
  }
347
- loadAlpine();
356
+ loadAlpine(resolveAlpineUrl(config.alpine));
348
357
  };
349
358
 
350
359
  loadPlugins();
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.49",
3
+ "version": "0.5.51",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter",
7
7
  "packages/render"
8
8
  ],
9
- "main": "dist/manifest.js",
10
- "style": "dist/manifest.css",
9
+ "main": "lib/manifest.js",
10
+ "style": "lib/manifest.css",
11
11
  "files": [
12
- "dist",
12
+ "lib",
13
13
  "README.md",
14
14
  "LICENSE"
15
15
  ],
16
16
  "scripts": {
17
- "clean": "rimraf src/scripts/manifest.js src/scripts/manifest.render.mjs src/styles/manifest.css src/styles/manifest.min.css src/styles/manifest.code.min.css dist",
17
+ "clean": "rimraf src/scripts/manifest.js src/scripts/manifest.render.mjs src/styles/manifest.css src/styles/manifest.min.css src/styles/manifest.code.min.css lib",
18
18
  "build": "cd src && node scripts/build.mjs",
19
19
  "build:docs": "echo 'Docs is a static website - no build needed'",
20
20
  "start:src": "cd src && browser-sync start --config bs-config.js",
@@ -27,7 +27,7 @@
27
27
  "publish:starter": "cd packages/create-starter && npm publish --auth-type=web",
28
28
  "publish:render": "cd packages/render && npm publish --auth-type=web",
29
29
  "prepublishOnly": "npm run build",
30
- "test": "echo 'No tests configured'",
30
+ "test": "vitest run",
31
31
  "lint": "echo 'No linting configured'"
32
32
  },
33
33
  "devDependencies": {
@@ -39,7 +39,8 @@
39
39
  "glob": "^11.0.2",
40
40
  "puppeteer": "^24.15.0",
41
41
  "rimraf": "^5.0.0",
42
- "rollup": "^4.24.2"
42
+ "rollup": "^4.24.2",
43
+ "vitest": "^4.1.2"
43
44
  },
44
45
  "keywords": [
45
46
  "frontend",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes