@feedlog-ai/webcomponents 0.0.1

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 (82) hide show
  1. package/dist/cjs/feedlog-badge_3.cjs.entry.js +119 -0
  2. package/dist/cjs/feedlog-card.cjs.entry.js +17 -0
  3. package/dist/cjs/feedlog-github-issues-client.cjs.entry.js +520 -0
  4. package/dist/cjs/feedlog-github-issues.cjs.entry.js +81 -0
  5. package/dist/cjs/feedlog-toolkit.cjs.js +24 -0
  6. package/dist/cjs/index-5lluu_3h.js +3144 -0
  7. package/dist/cjs/index.cjs.js +2 -0
  8. package/dist/cjs/loader.cjs.js +12 -0
  9. package/dist/collection/collection-manifest.json +17 -0
  10. package/dist/collection/components/feedlog-badge/feedlog-badge.css +86 -0
  11. package/dist/collection/components/feedlog-badge/feedlog-badge.js +53 -0
  12. package/dist/collection/components/feedlog-badge/feedlog-badge.stories.js +38 -0
  13. package/dist/collection/components/feedlog-button/feedlog-button.css +155 -0
  14. package/dist/collection/components/feedlog-button/feedlog-button.js +154 -0
  15. package/dist/collection/components/feedlog-button/feedlog-button.stories.js +82 -0
  16. package/dist/collection/components/feedlog-card/feedlog-card.css +47 -0
  17. package/dist/collection/components/feedlog-card/feedlog-card.js +23 -0
  18. package/dist/collection/components/feedlog-card/feedlog-card.stories.js +22 -0
  19. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.css +69 -0
  20. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.js +308 -0
  21. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.stories.js +211 -0
  22. package/dist/collection/components/feedlog-github-issues-client/feedlog-github-issues-client.js +395 -0
  23. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.css +218 -0
  24. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.js +139 -0
  25. package/dist/collection/components/index.js +6 -0
  26. package/dist/collection/index.js +1 -0
  27. package/dist/components/feedlog-badge.d.ts +11 -0
  28. package/dist/components/feedlog-badge.js +1 -0
  29. package/dist/components/feedlog-button.d.ts +11 -0
  30. package/dist/components/feedlog-button.js +1 -0
  31. package/dist/components/feedlog-card.d.ts +11 -0
  32. package/dist/components/feedlog-card.js +1 -0
  33. package/dist/components/feedlog-github-issues-client.d.ts +11 -0
  34. package/dist/components/feedlog-github-issues-client.js +1 -0
  35. package/dist/components/feedlog-github-issues.d.ts +11 -0
  36. package/dist/components/feedlog-github-issues.js +1 -0
  37. package/dist/components/feedlog-issues-list.d.ts +11 -0
  38. package/dist/components/feedlog-issues-list.js +1 -0
  39. package/dist/components/index.d.ts +35 -0
  40. package/dist/components/index.js +1 -0
  41. package/dist/components/p-CHtSMTyP.js +1 -0
  42. package/dist/components/p-CPOiBAxu.js +1 -0
  43. package/dist/components/p-DMcNh5Ys.js +1 -0
  44. package/dist/components/p-DMdb-G26.js +1 -0
  45. package/dist/esm/feedlog-badge_3.entry.js +115 -0
  46. package/dist/esm/feedlog-card.entry.js +15 -0
  47. package/dist/esm/feedlog-github-issues-client.entry.js +518 -0
  48. package/dist/esm/feedlog-github-issues.entry.js +79 -0
  49. package/dist/esm/feedlog-toolkit.js +20 -0
  50. package/dist/esm/index-CkB6Yzeb.js +3135 -0
  51. package/dist/esm/index.js +1 -0
  52. package/dist/esm/loader.js +10 -0
  53. package/dist/feedlog-toolkit/feedlog-toolkit.css +1 -0
  54. package/dist/feedlog-toolkit/feedlog-toolkit.esm.js +1 -0
  55. package/dist/feedlog-toolkit/index.esm.js +0 -0
  56. package/dist/feedlog-toolkit/p-2f7954f7.entry.js +1 -0
  57. package/dist/feedlog-toolkit/p-399e0281.entry.js +1 -0
  58. package/dist/feedlog-toolkit/p-CkB6Yzeb.js +2 -0
  59. package/dist/feedlog-toolkit/p-b3d26272.entry.js +1 -0
  60. package/dist/feedlog-toolkit/p-cdb2b098.entry.js +1 -0
  61. package/dist/index.cjs.js +1 -0
  62. package/dist/index.js +1 -0
  63. package/dist/types/components/feedlog-badge/feedlog-badge.d.ts +12 -0
  64. package/dist/types/components/feedlog-badge/feedlog-badge.stories.d.ts +9 -0
  65. package/dist/types/components/feedlog-button/feedlog-button.d.ts +30 -0
  66. package/dist/types/components/feedlog-button/feedlog-button.stories.d.ts +13 -0
  67. package/dist/types/components/feedlog-card/feedlog-card.d.ts +8 -0
  68. package/dist/types/components/feedlog-card/feedlog-card.stories.d.ts +9 -0
  69. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.d.ts +67 -0
  70. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.stories.d.ts +11 -0
  71. package/dist/types/components/feedlog-github-issues-client/feedlog-github-issues-client.d.ts +77 -0
  72. package/dist/types/components/feedlog-issues-list/feedlog-issues-list.d.ts +31 -0
  73. package/dist/types/components/index.d.ts +6 -0
  74. package/dist/types/components.d.ts +532 -0
  75. package/dist/types/index.d.ts +1 -0
  76. package/dist/types/stencil-public-runtime.d.ts +1810 -0
  77. package/loader/cdn.js +1 -0
  78. package/loader/index.cjs.js +1 -0
  79. package/loader/index.d.ts +24 -0
  80. package/loader/index.es2017.js +1 -0
  81. package/loader/index.js +2 -0
  82. package/package.json +48 -0
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,10 @@
1
+ import { g as globalScripts, b as bootstrapLazy } from './index-CkB6Yzeb.js';
2
+ export { s as setNonce } from './index-CkB6Yzeb.js';
3
+
4
+ const defineCustomElements = async (win, options) => {
5
+ if (typeof window === 'undefined') return undefined;
6
+ await globalScripts();
7
+ return bootstrapLazy([["feedlog-card",[[257,"feedlog-card"]]],["feedlog-badge_3",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1]}],[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}],[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-github-issues",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"loading":[4],"error":[1],"showThemeToggle":[4,"show-theme-toggle"],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"currentTheme":[32]}]]],["feedlog-github-issues-client",[[1,"feedlog-github-issues-client",{"repos":[1],"type":[1],"limit":[2],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"showThemeToggle":[4,"show-theme-toggle"],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
8
+ };
9
+
10
+ export { defineCustomElements };
@@ -0,0 +1 @@
1
+ :root{--feedlog-font-size:16px;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-popover:oklch(1 0 0);--feedlog-popover-foreground:oklch(0.145 0 0);--feedlog-primary:#030213;--feedlog-primary-foreground:oklch(1 0 0);--feedlog-secondary:oklch(0.95 0.0058 264.53);--feedlog-secondary-foreground:#030213;--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-accent:#e9ebef;--feedlog-accent-foreground:#030213;--feedlog-destructive:#d4183d;--feedlog-destructive-foreground:#ffffff;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-input:transparent;--feedlog-input-background:#f3f3f5;--feedlog-switch-background:#cbced4;--feedlog-ring:oklch(0.708 0 0);--feedlog-radius:0.625rem;--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-500:oklch(0.623 0.214 259.815);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-700:oklch(0.488 0.243 264.376);--feedlog-blue-900:oklch(0.379 0.146 265.522);--feedlog-font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace}.dark{--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-popover:oklch(0.145 0 0);--feedlog-popover-foreground:oklch(0.985 0 0);--feedlog-primary:oklch(0.985 0 0);--feedlog-primary-foreground:oklch(0.205 0 0);--feedlog-secondary:oklch(0.269 0 0);--feedlog-secondary-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-accent:oklch(0.269 0 0);--feedlog-accent-foreground:oklch(0.985 0 0);--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-destructive-foreground:oklch(0.637 0.237 25.331);--feedlog-border:oklch(0.269 0 0);--feedlog-input:oklch(0.269 0 0);--feedlog-ring:oklch(0.439 0 0)}
@@ -0,0 +1 @@
1
+ import{p as e,g as o,b as i}from"./p-CkB6Yzeb.js";export{s as setNonce}from"./p-CkB6Yzeb.js";(()=>{const s=import.meta.url,o={};return""!==s&&(o.resourcesUrl=new URL(".",s).href),e(o)})().then((async e=>(await o(),i([["p-cdb2b098",[[257,"feedlog-card"]]],["p-2f7954f7",[[1,"feedlog-issues-list",{issues:[16],theme:[1]}],[257,"feedlog-button",{variant:[1],size:[1],disabled:[4],type:[1]}],[257,"feedlog-badge",{variant:[1]}]]],["p-b3d26272",[[1,"feedlog-github-issues",{issues:[16],maxWidth:[1,"max-width"],theme:[1025],loading:[4],error:[1],showThemeToggle:[4,"show-theme-toggle"],hasMore:[4,"has-more"],isLoadingMore:[4,"is-loading-more"],currentTheme:[32]}]]],["p-399e0281",[[1,"feedlog-github-issues-client",{repos:[1],type:[1],limit:[2],endpoint:[1],maxWidth:[1,"max-width"],theme:[1],showThemeToggle:[4,"show-theme-toggle"],issues:[32],loading:[32],error:[32],cursor:[32],hasMore:[32],isLoadingMore:[32]}]]]],e))));
File without changes
@@ -0,0 +1 @@
1
+ import{r as e,h as o,c as r,H as d}from"./p-CkB6Yzeb.js";const t=class{constructor(o){e(this,o),this.variant="default"}render(){return o("span",{key:"482a74feb8d254a75383c30c7b39790edd04a05b",class:`badge badge-${this.variant}`},o("slot",{key:"8d2db3fe0c2bc58e17829db4de7d0233189bb101"}))}};t.style=":host{display:inline-block;--feedlog-badge-font-size:0.75rem;--feedlog-badge-font-weight:500;--feedlog-badge-padding-x:0.5rem;--feedlog-badge-padding-y:0.125rem;--feedlog-badge-border-radius:calc(0.625rem - 2px);--feedlog-blue-500:oklch(0.623 0.214 259.815);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-700:oklch(0.488 0.243 264.376);--feedlog-destructive:#d4183d;--feedlog-destructive-hover:#b91c1c}:host(.dark){--feedlog-blue-500:oklch(0.623 0.214 259.815);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-destructive-hover:oklch(0.45 0.16 25.723)}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--feedlog-badge-font-size);font-weight:var(--feedlog-badge-font-weight);padding:var(--feedlog-badge-padding-y) var(--feedlog-badge-padding-x);border-radius:var(--feedlog-badge-border-radius);white-space:nowrap;transition:background-color 0.15s ease;font-family:inherit}.badge-default{background-color:var(--feedlog-blue-600);color:#ffffff}.badge-default:hover{background-color:var(--feedlog-blue-700)}:host(.dark) .badge-default{background-color:var(--feedlog-blue-500)}:host(.dark) .badge-default:hover{background-color:var(--feedlog-blue-600)}.badge-enhancement{background-color:var(--feedlog-blue-600);color:#ffffff}.badge-enhancement:hover{background-color:var(--feedlog-blue-700)}:host(.dark) .badge-enhancement{background-color:var(--feedlog-blue-500)}:host(.dark) .badge-enhancement:hover{background-color:var(--feedlog-blue-600)}.badge-destructive{background-color:var(--feedlog-destructive);color:#ffffff}.badge-destructive:hover{background-color:var(--feedlog-destructive-hover)}";const l=class{constructor(o){e(this,o),this.feedlogClick=r(this,"feedlogClick"),this.variant="default",this.size="default",this.disabled=!1,this.type="button",this.handleClick=e=>{this.disabled||this.feedlogClick.emit(e)}}render(){return o("button",{key:"6cdd8347def51592707b1fb9aab0dc565ca0f76f",type:this.type,class:`button button-${this.variant} ${"default"===this.size?"button-size-default":`button-size-${this.size}`}`,disabled:this.disabled,onClick:this.handleClick},o("slot",{key:"3f3845195fa4b8a551473ecf1d5702321a31763e"}))}};l.style=":host{display:inline-block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-primary:#030213;--feedlog-primary-foreground:oklch(1 0 0);--feedlog-secondary:oklch(0.95 0.0058 264.53);--feedlog-secondary-foreground:#030213;--feedlog-muted:#ececf0;--feedlog-accent:#e9ebef;--feedlog-accent-foreground:#030213;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-input:transparent;--feedlog-ring:oklch(0.708 0 0);--feedlog-destructive:#d4183d;--feedlog-radius:0.625rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-primary:oklch(0.985 0 0);--feedlog-primary-foreground:oklch(0.205 0 0);--feedlog-secondary:oklch(0.269 0 0);--feedlog-secondary-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-accent:oklch(0.269 0 0);--feedlog-accent-foreground:oklch(0.985 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-input:oklch(0.269 0 0);--feedlog-ring:oklch(0.439 0 0);--feedlog-destructive:oklch(0.396 0.141 25.723)}button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;white-space:nowrap;font-size:0.875rem;font-weight:500;border-radius:calc(var(--feedlog-radius) - 2px);border:1px solid transparent;cursor:pointer;transition:all 0.15s ease;outline:none;font-family:inherit}button:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}button:focus-visible{border-color:var(--feedlog-ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--feedlog-ring) 50%, transparent)}.button-default{background-color:var(--feedlog-primary);color:var(--feedlog-primary-foreground);border-color:transparent}.button-default:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-primary) 90%, transparent)}.button-outline{background-color:var(--feedlog-background);color:var(--feedlog-foreground);border-color:var(--feedlog-border)}.button-outline:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}:host(.dark) .button-outline{background-color:transparent;border-color:var(--feedlog-input)}:host(.dark) .button-outline:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-accent) 50%, transparent)}.button-ghost{background-color:transparent;color:var(--feedlog-foreground);border-color:transparent}.button-ghost:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}.button-destructive{background-color:var(--feedlog-destructive);color:#ffffff;border-color:transparent}.button-destructive:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-destructive) 90%, transparent)}:host(.dark) .button-destructive{background-color:color-mix(in oklab, var(--feedlog-destructive) 60%, transparent)}.button-size-sm{height:2rem;padding:0 0.75rem;font-size:0.75rem}.button-size-sm:has(svg:only-child){width:2rem;padding:0}.button-size-default{height:2.25rem;padding:0.5rem 1rem}.button-size-lg{height:2.5rem;padding:0.625rem 1.5rem;font-size:1rem}button svg{pointer-events:none;flex-shrink:0;width:1rem;height:1rem}";const a=()=>o("svg",{class:"upvote-icon filled",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"},o("path",{d:"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"})),n=()=>o("svg",{class:"upvote-icon outline",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},o("path",{d:"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"})),s=class{constructor(o){e(this,o),this.feedlogUpvote=r(this,"feedlogUpvote"),this.issues=[],this.theme="light",this.handleUpvote=(e,o)=>{e.stopPropagation(),this.feedlogUpvote.emit({issueId:o.id,currentUpvoted:o.hasUpvoted,currentCount:o.upvoteCount})}}render(){return o(d,{key:"5cef6f5476239d0f8096664c04690aa4c3383bd0",class:"dark"===this.theme?"dark":""},o("div",{key:"d72fffe457f0497dbbbe0c64dab3282f76a49217",class:"issues-list"},0===this.issues.length?o("div",{class:"empty-state"},o("p",null,"No issues found")):this.issues.map((e=>o("div",{key:e.id,class:"issue-card"},o("div",{class:"issue-content"},o("div",{class:"issue-header"},o("div",{class:"issue-type-badge"},"bug"===e.type?o("feedlog-badge",{variant:"destructive"},"Bug"):o("feedlog-badge",{variant:"enhancement"},"Enhancement")),e.pinnedAt&&o("div",{class:"pinned-indicator",title:"Pinned issue"},"📌")),o("div",{class:"issue-main"},o("div",{class:"issue-details"},o("h3",{class:"issue-title"},e.title),o("p",{class:"issue-body"},e.body),o("div",{class:"issue-repository"},o("span",{class:"repo-name"},e.repository.owner,"/",e.repository.name))),o("button",{class:"upvote-button "+(e.hasUpvoted?"upvoted":""),onClick:o=>this.handleUpvote(o,e),title:e.hasUpvoted?"Remove upvote":"Upvote this issue"},o(e.hasUpvoted?a:n,null),o("span",{class:"upvote-count"},e.upvoteCount))),o("div",{class:"issue-footer"},o("span",{class:"issue-date",title:`Updated: ${e.updatedAt}`},"Updated ",this.formatDate(e.updatedAt)),o("span",{class:"issue-date",title:`Created: ${e.createdAt}`},"Created ",this.formatDate(e.createdAt)))))))))}formatDate(e){try{const o=new Date(e),r=new Date,d=Math.floor((r.getTime()-o.getTime())/1e3);return d<60?"just now":d<3600?`${Math.floor(d/60)}m ago`:d<86400?`${Math.floor(d/3600)}h ago`:d<604800?`${Math.floor(d/86400)}d ago`:d<2592e3?`${Math.floor(d/604800)}w ago`:o.toLocaleDateString()}catch(e){return"unknown date"}}};s.style=":host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-accent-color:#2563eb;--feedlog-destructive:#d4183d;--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-red-100:#fce7f3;--feedlog-red-400:#f472b6;--feedlog-red-600:#db2777;--feedlog-radius:0.625rem;--feedlog-gap:0.5rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-accent-color:#3b82f6;--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-900-30:color-mix(in oklab, oklch(0.379 0.146 265.522) 30%, transparent);--feedlog-red-900-30:color-mix(in oklab, oklch(0.396 0.141 25.723) 30%, transparent)}.issues-list{display:flex;flex-direction:column;gap:var(--feedlog-gap)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--feedlog-muted-foreground);font-size:0.875rem}.issue-card{background-color:var(--feedlog-card);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);transition:box-shadow 0.15s ease;position:relative}.issue-card:hover{box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)}.issue-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.issue-header{display:flex;align-items:center;gap:0.5rem;justify-content:space-between}.issue-type-badge{width:fit-content}.pinned-indicator{font-size:1rem;opacity:0.7}.issue-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.issue-details{flex:1;min-width:0}.issue-title{color:var(--feedlog-card-foreground);font-size:0.875rem;font-weight:600;margin:0 0 0.375rem 0;line-height:1.4;word-break:break-word}.issue-body{color:var(--feedlog-muted-foreground);font-size:0.75rem;line-height:1.625;margin:0 0 0.75rem 0;word-break:break-word;white-space:pre-wrap}.issue-repository{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--feedlog-muted-foreground);margin-bottom:0.5rem}.repo-name{font-weight:500}.github-number{color:var(--feedlog-blue-600);font-weight:600}:host(.dark) .github-number{color:var(--feedlog-blue-400)}.upvote-button{display:flex;flex-direction:column;align-items:center;gap:0.125rem;padding:0.5rem 0.75rem;border-radius:0.5rem;background-color:var(--feedlog-muted);border:1px solid transparent;cursor:pointer;transition:all 0.15s ease;flex-shrink:0;font-size:0.75rem;font-weight:600}.upvote-button:hover{background-color:var(--feedlog-blue-100);border-color:var(--feedlog-blue-400)}.upvote-button.upvoted{background-color:var(--feedlog-red-100);border-color:var(--feedlog-red-400)}.upvote-button.upvoted:hover{background-color:var(--feedlog-red-100);border-color:var(--feedlog-red-600)}:host(.dark) .upvote-button:hover{background-color:var(--feedlog-blue-900-30);border-color:var(--feedlog-blue-600)}:host(.dark) .upvote-button.upvoted{background-color:var(--feedlog-red-900-30);border-color:var(--feedlog-red-600)}.upvote-icon{width:1rem;height:1rem;stroke-width:2}.upvote-icon.filled{color:var(--feedlog-red-600)}.upvote-icon.outline{color:var(--feedlog-blue-600)}:host(.dark) .upvote-icon.outline{color:var(--feedlog-blue-400)}.upvote-count{font-size:0.75rem;font-weight:600;color:var(--feedlog-card-foreground)}.issue-footer{display:flex;flex-direction:column;gap:0.25rem;font-size:0.75rem}.issue-date{color:var(--feedlog-muted-foreground);cursor:help}";export{t as feedlog_badge,l as feedlog_button,s as feedlog_issues_list}
@@ -0,0 +1 @@
1
+ import{r as t,c as e,h as s}from"./p-CkB6Yzeb.js";function i(t){if("string"!=typeof t)return"";let e=t.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"");return e=e.replace(/\s*on\w+\s*=\s*["'][^"']*["']/gi,""),e=e.replace(/\s*on\w+\s*=\s*[^\s>]*/gi,""),e=e.replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,""),e=e.replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,""),e=e.replace(/<(embed|object)\b[^<]*>/gi,""),e=e.replace(/javascript:/gi,""),e=e.replace(/data:(?!image\/(?:png|jpg|jpeg|gif|webp);)/gi,""),e}class o extends Error{constructor(t,e,s){super(t),this.statusCode=e,this.originalError=s,this.name="FeedlogError",Object.setPrototypeOf(this,o.prototype)}}class r extends o{constructor(t){super(t),this.name="FeedlogValidationError",Object.setPrototypeOf(this,r.prototype)}}class n extends o{constructor(t,e,s){super(t,e,s),this.name="FeedlogNetworkError",Object.setPrototypeOf(this,n.prototype)}}class h extends o{constructor(t="Request timed out"){super(t),this.name="FeedlogTimeoutError",Object.setPrototypeOf(this,h.prototype)}}class a{constructor(t={}){this.config={credentials:"include",...t},this.endpoint=this.config.endpoint||"https://api.feedlog.app",this.timeout=this.config.timeout||3e4,this.endpoint=this.endpoint.replace(/\/$/,"")}async fetchIssues(t={}){try{const e=this.buildIssuesUrl(t),s=await this.fetchWithTimeout(e,{method:"GET",headers:this.getAuthHeaders(),credentials:this.config.credentials||"include"});if(!s.ok)throw new n(`Failed to fetch issues: ${s.statusText}`,s.status);const i=await s.json();return this.validateIssuesResponse(i)}catch(t){if(t instanceof o)throw t;if(t instanceof TypeError&&t.message.includes("fetch"))throw new n("Network error: Unable to reach API",void 0,t);throw new o(`Failed to fetch issues: ${t instanceof Error?t.message:"Unknown error"}`,void 0,t)}}async toggleUpvote(t){if(!t||"string"!=typeof t)throw new r("Issue ID is required");try{const e=`${this.endpoint}/api/issues/${encodeURIComponent(t)}/upvote`,s=await this.fetchWithTimeout(e,{method:"POST",headers:this.getAuthHeaders(),credentials:this.config.credentials||"include"});if(404===s.status)throw new n("Issue not found",404);if(401===s.status)throw new n("Unauthorized",401);if(403===s.status)throw new n("Forbidden: Domain not allowed for this repository",403);if(!s.ok)throw new n(`Failed to toggle upvote: ${s.statusText}`,s.status);const i=await s.json();return this.validateUpvoteResponse(i)}catch(t){if(t instanceof o)throw t;if(t instanceof TypeError&&t.message.includes("fetch"))throw new n("Network error: Unable to reach API",void 0,t);throw new o(`Failed to toggle upvote: ${t instanceof Error?t.message:"Unknown error"}`,void 0,t)}}buildIssuesUrl(t){const e=new URL(`${this.endpoint}/api/issues`);if(t.repositoryIds){const s=Array.isArray(t.repositoryIds)?t.repositoryIds:[t.repositoryIds];for(const t of s)e.searchParams.append("repositoryIds",t)}return t.type&&e.searchParams.set("type",t.type),t.cursor&&e.searchParams.set("cursor",t.cursor),void 0!==t.limit&&e.searchParams.set("limit",t.limit.toString()),e.toString()}getAuthHeaders(){return{"Content-Type":"application/json"}}async fetchWithTimeout(t,e){const s=new AbortController,i=setTimeout((()=>s.abort()),this.timeout);try{const o=await fetch(t,{...e,signal:s.signal});return clearTimeout(i),o}catch(t){if(clearTimeout(i),t instanceof Error&&"AbortError"===t.name)throw new h(`Request timed out after ${this.timeout}ms`);throw t}}validateIssuesResponse(t){if(!t||"object"!=typeof t)throw new r("Invalid API response: expected object");const e=t;if(!Array.isArray(e.issues))throw new r("Invalid API response: issues must be an array");if(!e.pagination||"object"!=typeof e.pagination)throw new r("Invalid API response: pagination is required");return{issues:e.issues.map((t=>this.validateIssue(t))),pagination:{cursor:e.pagination.cursor,hasMore:Boolean(e.pagination.hasMore)}}}validateIssue(t){if(!t||"object"!=typeof t)throw new r("Invalid issue: expected object");const e=t;if("string"!=typeof e.id)throw new r("Invalid issue: id is required and must be a string");if("string"!=typeof e.title)throw new r("Invalid issue: title is required and must be a string");if(!["bug","enhancement"].includes(String(e.type)))throw new r('Invalid issue: type must be "bug" or "enhancement"');if(!["open","closed"].includes(String(e.status)))throw new r('Invalid issue: status must be "open" or "closed"');if(!e.repository||"object"!=typeof e.repository)throw new r("Invalid issue: repository is required");const s=e.repository;if("string"!=typeof s.id||"string"!=typeof s.name||"string"!=typeof s.owner)throw new r("Invalid issue: repository must have id, name, and owner");const o=i(String(e.title)),n=i(String(e.body||""));return{id:String(e.id),type:e.type||"bug",status:e.status||"open",pinnedAt:e.pinnedAt?String(e.pinnedAt):null,revision:Number(e.revision)||1,title:o,body:n,repository:{id:String(s.id),name:String(s.name),owner:String(s.owner)},updatedAt:String(e.updatedAt)||(new Date).toISOString(),createdAt:String(e.createdAt)||(new Date).toISOString(),upvoteCount:Number(e.upvoteCount)||0,hasUpvoted:Boolean(e.hasUpvoted)}}validateUpvoteResponse(t){if(!t||"object"!=typeof t)throw new r("Invalid upvote response: expected object");const e=t;if("boolean"!=typeof e.upvoted)throw new r("Invalid upvote response: upvoted must be a boolean");if("number"!=typeof e.upvoteCount)throw new r("Invalid upvote response: upvoteCount must be a number");if("string"!=typeof e.anonymousUserId)throw new r("Invalid upvote response: anonymousUserId must be a string");return{upvoted:e.upvoted,upvoteCount:e.upvoteCount,anonymousUserId:e.anonymousUserId}}getEndpoint(){return this.endpoint}getTimeout(){return this.timeout}}const c=class{constructor(s){t(this,s),this.feedlogUpvote=e(this,"feedlogUpvote"),this.feedlogThemeChange=e(this,"feedlogThemeChange"),this.feedlogError=e(this,"feedlogError"),this.maxWidth="42rem",this.theme="light",this.showThemeToggle=!0,this.issues=[],this.loading=!0,this.error=null,this.cursor=null,this.hasMore=!1,this.isLoadingMore=!1,this.sdk=null,this.handleUpvote=async t=>{if(!this.sdk)return;const{issueId:e,currentUpvoted:s,currentCount:i}=t.detail;this.issues=this.issues.map((t=>t.id===e?Object.assign(Object.assign({},t),{hasUpvoted:!s,upvoteCount:s?i-1:i+1}):t));try{const t=await this.sdk.toggleUpvote(e);this.issues=this.issues.map((s=>s.id===e?Object.assign(Object.assign({},s),{hasUpvoted:t.upvoted,upvoteCount:t.upvoteCount}):s)),this.feedlogUpvote.emit({issueId:e,upvoted:t.upvoted,upvoteCount:t.upvoteCount})}catch(t){this.issues=this.issues.map((t=>t.id===e?Object.assign(Object.assign({},t),{hasUpvoted:s,upvoteCount:i}):t));const o=t instanceof Error?t.message:"Failed to toggle upvote";this.feedlogError.emit({error:o})}},this.handleThemeChange=t=>{this.theme=t.detail,this.feedlogThemeChange.emit(t.detail)}}componentWillLoad(){this.previousRepos=this.repos,this.previousType=this.type,this.previousLimit=this.limit,this.initializeSDK(),this.fetchIssues()}componentDidUpdate(){(JSON.stringify(this.previousRepos)!==JSON.stringify(this.repos)||this.previousType!==this.type||this.previousLimit!==this.limit)&&(this.cursor=null,this.hasMore=!1,this.issues=[],this.fetchIssues(),this.previousRepos=this.repos,this.previousType=this.type,this.previousLimit=this.limit)}initializeSDK(){try{this.sdk=new a(Object.assign({},this.endpoint&&{endpoint:this.endpoint})),this.error=null}catch(t){const e=t instanceof Error?t.message:"Failed to initialize SDK";this.error=e,this.feedlogError.emit({error:e})}}parseRepos(){if(!this.repos)return[];if("string"==typeof this.repos)try{const t=JSON.parse(this.repos);return Array.isArray(t)?t:[this.repos]}catch(t){return[this.repos]}return Array.isArray(this.repos)?this.repos:[]}async fetchIssues(){if(!this.sdk)return;const t=this.parseRepos();if(0===t.length)return this.error="At least one repository is required",this.loading=!1,void this.feedlogError.emit({error:"At least one repository is required"});try{this.loading=!0,this.error=null;const e={repositoryIds:t};this.type&&(e.type=this.type),this.limit&&(e.limit=this.limit),this.cursor&&(e.cursor=this.cursor);const s=await this.sdk.fetchIssues(e);this.issues=s.issues,this.cursor=s.pagination.cursor,this.hasMore=s.pagination.hasMore}catch(t){const e=t instanceof Error?t.message:"Failed to fetch issues";this.error=e,this.issues=[],this.feedlogError.emit({error:e,code:null==t?void 0:t.statusCode})}finally{this.loading=!1,this.isLoadingMore=!1}}async loadMore(){if(this.sdk&&this.hasMore&&!this.isLoadingMore&&!this.loading){this.isLoadingMore=!0;try{const t={repositoryIds:this.parseRepos()};this.type&&(t.type=this.type),this.limit&&(t.limit=this.limit),this.cursor&&(t.cursor=this.cursor);const e=await this.sdk.fetchIssues(t);this.issues=[...this.issues,...e.issues],this.cursor=e.pagination.cursor,this.hasMore=e.pagination.hasMore}catch(t){const e=t instanceof Error?t.message:"Failed to load more issues";this.feedlogError.emit({error:e,code:null==t?void 0:t.statusCode})}finally{this.isLoadingMore=!1}}}render(){return s("feedlog-github-issues",{key:"38b9e7ec8a5473acbab39df1d0476fcb357866bf",issues:this.issues,maxWidth:this.maxWidth,theme:this.theme,showThemeToggle:this.showThemeToggle,loading:this.loading,error:this.error,hasMore:this.hasMore,isLoadingMore:this.isLoadingMore,onFeedlogUpvote:this.handleUpvote,onFeedlogThemeChange:this.handleThemeChange,onFeedlogLoadMore:async()=>this.loadMore()})}};export{c as feedlog_github_issues_client}
@@ -0,0 +1,2 @@
1
+ const t=()=>{},e=":root{--feedlog-font-size:16px;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-popover:oklch(1 0 0);--feedlog-popover-foreground:oklch(0.145 0 0);--feedlog-primary:#030213;--feedlog-primary-foreground:oklch(1 0 0);--feedlog-secondary:oklch(0.95 0.0058 264.53);--feedlog-secondary-foreground:#030213;--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-accent:#e9ebef;--feedlog-accent-foreground:#030213;--feedlog-destructive:#d4183d;--feedlog-destructive-foreground:#ffffff;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-input:transparent;--feedlog-input-background:#f3f3f5;--feedlog-switch-background:#cbced4;--feedlog-ring:oklch(0.708 0 0);--feedlog-radius:0.625rem;--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-500:oklch(0.623 0.214 259.815);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-700:oklch(0.488 0.243 264.376);--feedlog-blue-900:oklch(0.379 0.146 265.522);--feedlog-font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace}.dark{--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-popover:oklch(0.145 0 0);--feedlog-popover-foreground:oklch(0.985 0 0);--feedlog-primary:oklch(0.985 0 0);--feedlog-primary-foreground:oklch(0.205 0 0);--feedlog-secondary:oklch(0.269 0 0);--feedlog-secondary-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-accent:oklch(0.269 0 0);--feedlog-accent-foreground:oklch(0.985 0 0);--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-destructive-foreground:oklch(0.637 0.237 25.331);--feedlog-border:oklch(0.269 0 0);--feedlog-input:oklch(0.269 0 0);--feedlog-ring:oklch(0.439 0 0)}";var n,i,o,r,s,l,c,f,h,u,a,d,p,g,v,m,b,w=Object.create,y=Object.defineProperty,$=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,S=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty,j=t=>{throw TypeError(t)},M=(t,e)=>function(){return e||(0,t[k(t)[0]])((e={exports:{}}).exports,e),e.exports},E=(t,e,n)=>e.has(t)||j("Cannot "+n),x=(t,e,n)=>(E(t,e,"read from private field"),n?n.call(t):e.get(t)),P=(t,e,n)=>e.has(t)?j("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),C=(t,e,n)=>(E(t,e,"write to private field"),e.set(t,n),n),R=(t,e,n)=>(E(t,e,"access private method"),n),W=M({"node_modules/balanced-match/index.js"(t,e){function n(t,e,n){t instanceof RegExp&&(t=i(t,n)),e instanceof RegExp&&(e=i(e,n));var r=o(t,e,n);return r&&{start:r[0],end:r[1],pre:n.slice(0,r[0]),body:n.slice(r[0]+t.length,r[1]),post:n.slice(r[1]+e.length)}}function i(t,e){var n=e.match(t);return n?n[0]:null}function o(t,e,n){var i,o,r,s,l,c=n.indexOf(t),f=n.indexOf(e,c+1),h=c;if(c>=0&&f>0){if(t===e)return[c,f];for(i=[],r=n.length;h>=0&&!l;)h==c?(i.push(h),c=n.indexOf(t,h+1)):1==i.length?l=[i.pop(),f]:((o=i.pop())<r&&(r=o,s=f),f=n.indexOf(e,h+1)),h=c<f&&c>=0?c:f;i.length&&(l=[r,s])}return l}e.exports=n,n.range=o}}),N=M({"node_modules/brace-expansion/index.js"(t,e){var n=W();e.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),g(function(t){return t.split("\\\\").join(i).split("\\{").join(o).split("\\}").join(r).split("\\,").join(s).split("\\.").join(l)}(t),!0).map(f)):[]};var i="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",r="\0CLOSE"+Math.random()+"\0",s="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function c(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function f(t){return t.split(i).join("\\").split(o).join("{").split(r).join("}").split(s).join(",").split(l).join(".")}function h(t){if(!t)return[""];var e=[],i=n("{","}",t);if(!i)return t.split(",");var o=i.body,r=i.post,s=i.pre.split(",");s[s.length-1]+="{"+o+"}";var l=h(r);return r.length&&(s[s.length-1]+=l.shift(),s.push.apply(s,l)),e.push.apply(e,s),e}function u(t){return"{"+t+"}"}function a(t){return/^-?0\d/.test(t)}function d(t,e){return t<=e}function p(t,e){return t>=e}function g(t,e){var i=[],o=n("{","}",t);if(!o)return[t];var s=o.pre,l=o.post.length?g(o.post,!1):[""];if(/\$$/.test(o.pre))for(var f=0;f<l.length;f++)i.push(N=s+"{"+o.body+"}"+l[f]);else{var v,m,b=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body),w=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body),y=b||w,$=o.body.indexOf(",")>=0;if(!y&&!$)return o.post.match(/,(?!,).*\}/)?g(t=o.pre+"{"+o.body+r+o.post):[t];if(y)v=o.body.split(/\.\./);else if(1===(v=h(o.body)).length&&1===(v=g(v[0],!1).map(u)).length)return l.map((function(t){return o.pre+v[0]+t}));if(y){var k=c(v[0]),S=c(v[1]),O=Math.max(v[0].length,v[1].length),j=3==v.length?Math.abs(c(v[2])):1,M=d;S<k&&(j*=-1,M=p);var E=v.some(a);m=[];for(var x=k;M(x,S);x+=j){var P;if(w)"\\"===(P=String.fromCharCode(x))&&(P="");else if(P=x+"",E){var C=O-P.length;if(C>0){var R=Array(C+1).join("0");P=x<0?"-"+R+P.slice(1):R+P}}m.push(P)}}else{m=[];for(var W=0;W<v.length;W++)m.push.apply(m,g(v[W],!1))}for(W=0;W<m.length;W++)for(f=0;f<l.length;f++){var N=s+m[W]+l[f];(!e||y||N)&&i.push(N)}}return i}}}),z=(t,e)=>{var n;Object.entries(null!=(n=e.i.t)?n:{}).map((([n,[i]])=>{if(31&i||32&i){const i=t[n],o=function(t,e){for(;t;){const n=Object.getOwnPropertyDescriptor(t,e);if(null==n?void 0:n.get)return n;t=Object.getPrototypeOf(t)}}(Object.getPrototypeOf(t),n)||Object.getOwnPropertyDescriptor(t,n);o&&Object.defineProperty(t,n,{get(){return o.get.call(this)},set(t){o.set.call(this,t)},configurable:!0,enumerable:!0}),t[n]=e.o.has(n)?e.o.get(n):i}}))},A=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},L=(t,e)=>{e&&(t.__stencil__getHostRef=()=>e,e.l=t,512&e.i.h&&z(t,e))},T=(t,e)=>e in t,D=(t,e)=>(0,console.error)(t,e),F=new Map,G=new Map,U="slot-fb{display:contents}slot-fb[hidden]{display:none}",H="undefined"!=typeof window?window:{},I={h:0,u:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,i)=>t.addEventListener(e,n,i),rel:(t,e,n,i)=>t.removeEventListener(e,n,i),ce:(t,e)=>new CustomEvent(t,e)},Z=t=>Promise.resolve(t),_=(()=>{try{return!!H.document.adoptedStyleSheets&&(new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync)}catch(t){}return!1})(),V=!!_&&(()=>!!H.document&&Object.getOwnPropertyDescriptor(H.document.adoptedStyleSheets,"length").writable)(),q=!1,B=[],J=[],Y=(t,e)=>n=>{t.push(n),q||(q=!0,e&&4&I.h?X(Q):I.raf(Q))},K=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){D(t)}t.length=0},Q=()=>{K(B),K(J),(q=B.length>0)&&I.raf(Q)},X=t=>Z().then(t),tt=Y(J,!0),et=t=>"object"==(t=typeof t)||"function"===t,nt=((t,e,n)=>(n=null!=t?w(S(t)):{},((t,e,n,i)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let n of k(e))O.call(t,n)||undefined===n||y(t,n,{get:()=>e[n],enumerable:!(i=$(e,n))||i.enumerable});return t})(y(n,"default",{value:t,enumerable:!0}),t)))(N()),it=t=>{if("string"!=typeof t)throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")},ot={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},rt=t=>t.replace(/[[\]\\-]/g,"\\$&"),st=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),lt=t=>t.join(""),ct=(t,e)=>{const n=e;if("["!==t.charAt(n))throw Error("not in a brace expression");const i=[],o=[];let r=n+1,s=!1,l=!1,c=!1,f=!1,h=n,u="";t:for(;r<t.length;){const e=t.charAt(r);if("!"!==e&&"^"!==e||r!==n+1){if("]"===e&&s&&!c){h=r+1;break}if(s=!0,"\\"!==e||c){if("["===e&&!c)for(const[e,[s,c,f]]of Object.entries(ot))if(t.startsWith(e,r)){if(u)return["$.",!1,t.length-n,!0];r+=e.length,f?o.push(s):i.push(s),l=l||c;continue t}c=!1,u?(e>u?i.push(rt(u)+"-"+rt(e)):e===u&&i.push(rt(e)),u="",r++):t.startsWith("-]",r+1)?(i.push(rt(e+"-")),r+=2):t.startsWith("-",r+1)?(u=e,r+=2):(i.push(rt(e)),r++)}else c=!0,r++}else f=!0,r++}if(h<r)return["",!1,0,!1];if(!i.length&&!o.length)return["$.",!1,t.length-n,!0];if(0===o.length&&1===i.length&&/^\\?.$/.test(i[0])&&!f){const t=2===i[0].length?i[0].slice(-1):i[0];return[st(t),!1,h-n,!1]}const a="["+(f?"^":"")+lt(i)+"]",d="["+(f?"":"^")+lt(o)+"]";return[i.length&&o.length?"("+a+"|"+d+")":i.length?a:d,l,h-n,!0]},ft=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"),ht=new Set(["!","?","+","*","@"]),ut=t=>ht.has(t),at="(?!\\.)",dt=new Set(["[","."]),pt=new Set(["..","."]),gt=new Set("().*{}+?[]^$\\!"),vt=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),mt="[^/]",bt=mt+"*?",wt=mt+"+?",yt=class t{constructor(t,e,p={}){P(this,d),((t,e,n)=>{((t,e,n)=>{e in t?y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n})(t,e+"",n)})(this,"type"),P(this,n),P(this,i),P(this,o,!1),P(this,r,[]),P(this,s),P(this,l),P(this,c),P(this,f,!1),P(this,h),P(this,u),P(this,a,!1),this.type=t,t&&C(this,i,!0),C(this,s,e),C(this,n,x(this,s)?x(x(this,s),n):this),C(this,h,x(this,n)===this?p:x(x(this,n),h)),C(this,c,x(this,n)===this?[]:x(x(this,n),c)),"!"!==t||x(x(this,n),f)||x(this,c).push(this),C(this,l,x(this,s)?x(x(this,s),r).length:0)}get hasMagic(){if(void 0!==x(this,i))return x(this,i);for(const t of x(this,r))if("string"!=typeof t&&(t.type||t.hasMagic))return C(this,i,!0);return x(this,i)}toString(){return void 0!==x(this,u)?x(this,u):C(this,u,this.type?this.type+"("+x(this,r).map((t=>t+"")).join("|")+")":x(this,r).map((t=>t+"")).join(""))}push(...e){for(const n of e)if(""!==n){if("string"!=typeof n&&!(n instanceof t&&x(n,s)===this))throw Error("invalid part: "+n);x(this,r).push(n)}}toJSON(){var t;const e=null===this.type?x(this,r).slice().map((t=>"string"==typeof t?t:t.toJSON())):[this.type,...x(this,r).map((t=>t.toJSON()))];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===x(this,n)||x(x(this,n),f)&&"!"===(null==(t=x(this,s))?void 0:t.type))&&e.push({}),e}isStart(){var e;if(x(this,n)===this)return!0;if(!(null==(e=x(this,s))?void 0:e.isStart()))return!1;if(0===x(this,l))return!0;const i=x(this,s);for(let e=0;e<x(this,l);e++){const n=x(i,r)[e];if(!(n instanceof t&&"!"===n.type))return!1}return!0}isEnd(){var t,e,i;if(x(this,n)===this)return!0;if("!"===(null==(t=x(this,s))?void 0:t.type))return!0;if(!(null==(e=x(this,s))?void 0:e.isEnd()))return!1;if(!this.type)return null==(i=x(this,s))?void 0:i.isEnd();const o=x(this,s)?x(x(this,s),r).length:0;return x(this,l)===o-1}copyIn(t){this.push("string"==typeof t?t:t.clone(this))}clone(e){const n=new t(this.type,e);for(const t of x(this,r))n.copyIn(t);return n}static fromGlob(e,n={}){var i;const o=new t(null,void 0,n);return R(i=t,g,v).call(i,e,o,0,n),o}toMMPattern(){if(this!==x(this,n))return x(this,n).toMMPattern();const t=""+this,[e,o,r,s]=this.toRegExpSource();if(!(r||x(this,i)||x(this,h).nocase&&!x(this,h).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return o;const l=(x(this,h).nocase?"i":"")+(s?"u":"");return Object.assign(RegExp(`^${e}$`,l),{_src:e,_glob:t})}get options(){return x(this,h)}toRegExpSource(e){var l;const c=null!=e?e:!!x(this,h).dot;if(x(this,n)===this&&R(this,d,p).call(this),!this.type){const h=this.isStart()&&this.isEnd(),u=x(this,r).map((n=>{var r;const[s,l,c,f]="string"==typeof n?R(r=t,g,b).call(r,n,x(this,i),h):n.toRegExpSource(e);return C(this,i,x(this,i)||c),C(this,o,x(this,o)||f),s})).join("");let a="";if(this.isStart()&&"string"==typeof x(this,r)[0]&&(1!==x(this,r).length||!pt.has(x(this,r)[0]))){const t=dt,n=c&&t.has(u.charAt(0))||u.startsWith("\\.")&&t.has(u.charAt(2))||u.startsWith("\\.\\.")&&t.has(u.charAt(4)),i=!c&&!e&&t.has(u.charAt(0));a=n?"(?!(?:^|/)\\.\\.?(?:$|/))":i?at:""}let d="";return this.isEnd()&&x(x(this,n),f)&&"!"===(null==(l=x(this,s))?void 0:l.type)&&(d="(?:$|\\/)"),[a+u+d,ft(u),C(this,i,!!x(this,i)),x(this,o)]}const u="*"===this.type||"+"===this.type,v="!"===this.type?"(?:(?!(?:":"(?:";let w=R(this,d,m).call(this,c);if(this.isStart()&&this.isEnd()&&!w&&"!"!==this.type){const t=""+this;return C(this,r,[t]),this.type=null,C(this,i,void 0),[t,ft(""+this),!1,!1]}let y=!u||e||c?"":R(this,d,m).call(this,!0);y===w&&(y=""),y&&(w=`(?:${w})(?:${y})*?`);let $="";return $="!"===this.type&&x(this,a)?(this.isStart()&&!c?at:"")+wt:v+w+("!"===this.type?"))"+(!this.isStart()||c||e?"":at)+bt+")":"@"===this.type?")":"?"===this.type?")?":"+"===this.type&&y?")":"*"===this.type&&y?")?":")"+this.type),[$,ft(w),C(this,i,!!x(this,i)),x(this,o)]}};n=new WeakMap,i=new WeakMap,o=new WeakMap,r=new WeakMap,s=new WeakMap,l=new WeakMap,c=new WeakMap,f=new WeakMap,h=new WeakMap,u=new WeakMap,a=new WeakMap,d=new WeakSet,p=function(){if(this!==x(this,n))throw Error("should only call on root");if(x(this,f))return this;let t;for(C(this,f,!0);t=x(this,c).pop();){if("!"!==t.type)continue;let e=t,n=x(e,s);for(;n;){for(let i=x(e,l)+1;!n.type&&i<x(n,r).length;i++)for(const e of x(t,r)){if("string"==typeof e)throw Error("string part in extglob AST??");e.copyIn(x(n,r)[i])}e=n,n=x(e,s)}}return this},g=new WeakSet,v=function(t,e,n,o){var s,l;let c=!1,f=!1,h=-1,u=!1;if(null===e.type){let i=n,r="";for(;i<t.length;){const n=t.charAt(i++);if(c||"\\"===n)c=!c,r+=n;else if(f)i===h+1?"^"!==n&&"!"!==n||(u=!0):"]"!==n||i===h+2&&u||(f=!1),r+=n;else if("["!==n)if(o.noext||!ut(n)||"("!==t.charAt(i))r+=n;else{e.push(r),r="";const l=new yt(n,e);i=R(s=yt,g,v).call(s,t,l,i,o),e.push(l)}else f=!0,h=i,u=!1,r+=n}return e.push(r),i}let d=n+1,p=new yt(null,e);const m=[];let b="";for(;d<t.length;){const n=t.charAt(d++);if(c||"\\"===n)c=!c,b+=n;else if(f)d===h+1?"^"!==n&&"!"!==n||(u=!0):"]"!==n||d===h+2&&u||(f=!1),b+=n;else if("["!==n)if(ut(n)&&"("===t.charAt(d)){p.push(b),b="";const e=new yt(n,p);p.push(e),d=R(l=yt,g,v).call(l,t,e,d,o)}else if("|"!==n){if(")"===n)return""===b&&0===x(e,r).length&&C(e,a,!0),p.push(b),b="",e.push(...m,p),d;b+=n}else p.push(b),b="",m.push(p),p=new yt(null,e);else f=!0,h=d,u=!1,b+=n}return e.type=null,C(e,i,void 0),C(e,r,[t.substring(n-1)]),d},m=function(t){return x(this,r).map((e=>{if("string"==typeof e)throw Error("string type in extglob ast??");const[n,i,r,s]=e.toRegExpSource(t);return C(this,o,x(this,o)||s),n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join("|")},b=function(t,e,n=!1){let i=!1,o="",r=!1;for(let s=0;s<t.length;s++){const l=t.charAt(s);if(i)i=!1,o+=(gt.has(l)?"\\":"")+l;else if("\\"!==l){if("["===l){const[n,i,l,c]=ct(t,s);if(l){o+=n,r=r||i,s+=l-1,e=e||c;continue}}"*"!==l?"?"!==l?o+=vt(l):(o+=mt,e=!0):(o+=n&&"*"===t?wt:bt,e=!0)}else s===t.length-1?o+="\\\\":i=!0}return[o,ft(t),!!e,r]},P(yt,g);var $t=yt,kt=(t,e,n={})=>(it(e),!(!n.nocomment&&"#"===e.charAt(0))&&new Bt(e,n).match(t)),St=/^\*+([^+@!?\*\[\(]*)$/,Ot=t=>e=>!e.startsWith(".")&&e.endsWith(t),jt=t=>e=>e.endsWith(t),Mt=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),Et=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),xt=/^\*+\.\*+$/,Pt=t=>!t.startsWith(".")&&t.includes("."),Ct=t=>"."!==t&&".."!==t&&t.includes("."),Rt=/^\.\*+$/,Wt=t=>"."!==t&&".."!==t&&t.startsWith("."),Nt=/^\*+$/,zt=t=>0!==t.length&&!t.startsWith("."),At=t=>0!==t.length&&"."!==t&&".."!==t,Lt=/^\?+([^+@!?\*\[\(]*)?$/,Tt=([t,e=""])=>{const n=Ut([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Dt=([t,e=""])=>{const n=Ht([t]);return e?(e=e.toLowerCase(),t=>n(t)&&t.toLowerCase().endsWith(e)):n},Ft=([t,e=""])=>{const n=Ht([t]);return e?t=>n(t)&&t.endsWith(e):n},Gt=([t,e=""])=>{const n=Ut([t]);return e?t=>n(t)&&t.endsWith(e):n},Ut=([t])=>{const e=t.length;return t=>t.length===e&&!t.startsWith(".")},Ht=([t])=>{const e=t.length;return t=>t.length===e&&"."!==t&&".."!==t},It="object"==typeof process&&process?"object"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix";kt.sep="win32"===It?"\\":"/";var Zt=Symbol("globstar **");kt.GLOBSTAR=Zt,kt.filter=(t,e={})=>n=>kt(n,t,e);var _t=(t,e={})=>Object.assign({},t,e);kt.defaults=t=>{if(!t||"object"!=typeof t||!Object.keys(t).length)return kt;const e=kt;return Object.assign(((n,i,o={})=>e(n,i,_t(t,o))),{Minimatch:class extends e.Minimatch{constructor(e,n={}){super(e,_t(t,n))}static defaults(n){return e.defaults(_t(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n,i={}){super(e,n,_t(t,i))}static fromGlob(n,i={}){return e.AST.fromGlob(n,_t(t,i))}},unescape:(n,i={})=>e.unescape(n,_t(t,i)),escape:(n,i={})=>e.escape(n,_t(t,i)),filter:(n,i={})=>e.filter(n,_t(t,i)),defaults:n=>e.defaults(_t(t,n)),makeRe:(n,i={})=>e.makeRe(n,_t(t,i)),braceExpand:(n,i={})=>e.braceExpand(n,_t(t,i)),match:(n,i,o={})=>e.match(n,i,_t(t,o)),sep:e.sep,GLOBSTAR:Zt})};var Vt=(t,e={})=>(it(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:(0,nt.default)(t));kt.braceExpand=Vt,kt.makeRe=(t,e={})=>new Bt(t,e).makeRe(),kt.match=(t,e,n={})=>{const i=new Bt(e,n);return t=t.filter((t=>i.match(t))),i.options.nonull&&!t.length&&t.push(e),t};var qt=/[?*]|[+@!]\(.*?\)|\[|\]/,Bt=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,e={}){it(t),this.options=e=e||{},this.pattern=t,this.platform=e.platform||It,this.isWindows="win32"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if("string"!=typeof e)return!0;return!1}debug(...t){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&"#"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=(...t)=>console.error(...t)),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let i=this.globParts.map((t=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(""!==t[0]||""!==t[1]||"?"!==t[2]&&qt.test(t[2])||qt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,i),this.set=i.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t<this.set.length;t++){const e=this.set[t];""===e[0]&&""===e[1]&&"?"===this.globParts[t][2]&&"string"==typeof e[3]&&/^[a-z]:$/i.test(e[3])&&(e[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let e=0;e<t.length;e++)for(let n=0;n<t[e].length;n++)"**"===t[e][n]&&(t[e][n]="*");const{optimizationLevel:e=1}=this.options;return e>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf("**",e+1));){let n=e;for(;"**"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return"**"===e&&"**"===n?t:".."===e&&n&&".."!==n&&"."!==n&&"**"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[""]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;n<t.length-1;n++){const i=t[n];1===n&&""===i&&""===t[0]||"."!==i&&""!==i||(e=!0,t.splice(n,1),n--)}"."!==t[0]||2!==t.length||"."!==t[1]&&""!==t[1]||(e=!0,t.pop())}let n=0;for(;-1!==(n=t.indexOf("..",n+1));){const i=t[n-1];i&&"."!==i&&".."!==i&&"**"!==i&&(e=!0,t.splice(n-1,2),n-=2)}}while(e);return 0===t.length?[""]:t}firstPhasePreProcess(t){let e=!1;do{e=!1;for(let n of t){let i=-1;for(;-1!==(i=n.indexOf("**",i+1));){let o=i;for(;"**"===n[o+1];)o++;o>i&&n.splice(i+1,o-i);const r=n[i+2],s=n[i+3];if(".."!==n[i+1])continue;if(!r||"."===r||".."===r||!s||"."===s||".."===s)continue;e=!0,n.splice(i,1);const l=n.slice(0);l[i]="**",t.push(l),i--}if(!this.preserveMultipleSlashes){for(let t=1;t<n.length-1;t++){const i=n[t];1===t&&""===i&&""===n[0]||"."!==i&&""!==i||(e=!0,n.splice(t,1),t--)}"."!==n[0]||2!==n.length||"."!==n[1]&&""!==n[1]||(e=!0,n.pop())}let o=0;for(;-1!==(o=n.indexOf("..",o+1));){const t=n[o-1];t&&"."!==t&&".."!==t&&"**"!==t&&(e=!0,n.splice(o-1,2,...1===o&&"**"===n[o+1]?["."]:[]),0===n.length&&n.push(""),o-=2)}}}while(e);return t}secondPhasePreProcess(t){for(let e=0;e<t.length-1;e++)for(let n=e+1;n<t.length;n++){const i=this.partsMatch(t[e],t[n],!this.preserveMultipleSlashes);i&&(t[e]=i,t[n]=[])}return t.filter((t=>t.length))}partsMatch(t,e,n=!1){let i=0,o=0,r=[],s="";for(;i<t.length&&o<e.length;)if(t[i]===e[o])r.push("b"===s?e[o]:t[i]),i++,o++;else if(n&&"**"===t[i]&&e[o]===t[i+1])r.push(t[i]),i++;else if(n&&"**"===e[o]&&t[i]===e[o+1])r.push(e[o]),o++;else if("*"!==t[i]||!e[o]||!this.options.dot&&e[o].startsWith(".")||"**"===e[o]){if("*"!==e[o]||!t[i]||!this.options.dot&&t[i].startsWith(".")||"**"===t[i])return!1;if("a"===s)return!1;s="b",r.push(e[o]),i++,o++}else{if("b"===s)return!1;s="a",r.push(t[i]),i++,o++}return t.length===e.length&&r}parseNegate(){if(this.nonegate)return;const t=this.pattern;let e=!1,n=0;for(let i=0;i<t.length&&"!"===t.charAt(i);i++)e=!e,n++;n&&(this.pattern=t.slice(n)),this.negate=e}matchOne(t,e,n=!1){const i=this.options;if(this.isWindows){const n="string"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),i=!n&&""===t[0]&&""===t[1]&&"?"===t[2]&&/^[a-z]:$/i.test(t[3]),o="string"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),r=i?3:n?0:void 0,s=!o&&""===e[0]&&""===e[1]&&"?"===e[2]&&"string"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:o?0:void 0;if("number"==typeof r&&"number"==typeof s){const[n,i]=[t[r],e[s]];n.toLowerCase()===i.toLowerCase()&&(e[s]=n,s>r?e=e.slice(s):r>s&&(t=t.slice(r)))}}const{optimizationLevel:o=1}=this.options;o>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var r=0,s=0,l=t.length,c=e.length;r<l&&s<c;r++,s++){this.debug("matchOne loop");var f=e[s],h=t[r];if(this.debug(e,f,h),!1===f)return!1;if(f===Zt){this.debug("GLOBSTAR",[e,f,h]);var u=r,a=s+1;if(a===c){for(this.debug("** at the end");r<l;r++)if("."===t[r]||".."===t[r]||!i.dot&&"."===t[r].charAt(0))return!1;return!0}for(;u<l;){var d=t[u];if(this.debug("\nglobstar while",t,u,e,a,d),this.matchOne(t.slice(u),e.slice(a),n))return this.debug("globstar found match!",u,l,d),!0;if("."===d||".."===d||!i.dot&&"."===d.charAt(0)){this.debug("dot detected!",t,u,e,a);break}this.debug("globstar swallow a segment, and continue"),u++}return!(!n||(this.debug("\n>>> no match, partial?",t,u,e,a),u!==l))}let o;if("string"==typeof f?(o=h===f,this.debug("string match",f,h,o)):(o=f.test(h),this.debug("pattern match",f,h,o)),!o)return!1}if(r===l&&s===c)return!0;if(r===l)return n;if(s===c)return r===l-1&&""===t[r];throw Error("wtf?")}braceExpand(){return Vt(this.pattern,this.options)}parse(t){it(t);const e=this.options;if("**"===t)return Zt;if(""===t)return"";let n,i=null;(n=t.match(Nt))?i=e.dot?At:zt:(n=t.match(St))?i=(e.nocase?e.dot?Et:Mt:e.dot?jt:Ot)(n[1]):(n=t.match(Lt))?i=(e.nocase?e.dot?Dt:Tt:e.dot?Ft:Gt)(n):(n=t.match(xt))?i=e.dot?Ct:Pt:(n=t.match(Rt))&&(i=Wt);const o=$t.fromGlob(t,this.options).toMMPattern();return i&&"object"==typeof o&&Reflect.defineProperty(o,"test",{value:i}),o}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?"[^/]*?":e.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",i=new Set(e.nocase?["i"]:[]);let o=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(""))i.add(e);return"string"==typeof t?(t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"))(t):t===Zt?Zt:t._src}));return e.forEach(((t,i)=>{const o=e[i+1],r=e[i-1];t===Zt&&r!==Zt&&(void 0===r?void 0!==o&&o!==Zt?e[i+1]="(?:\\/|"+n+"\\/)?"+o:e[i]=n:void 0===o?e[i-1]=r+"(?:\\/|"+n+")?":o!==Zt&&(e[i-1]=r+"(?:\\/|\\/"+n+"\\/)"+o,e[i+1]=Zt))})),e.filter((t=>t!==Zt)).join("/")})).join("|");const[r,s]=t.length>1?["(?:",")"]:["",""];o="^"+r+o+s+"$",this.negate&&(o="^(?!"+o+").+$");try{this.regexp=RegExp(o,[...i].join(""))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,e=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return""===t;if("/"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split("\\").join("/"));const i=this.slashSplit(t);this.debug(this.pattern,"split",i);const o=this.set;this.debug(this.pattern,"set",o);let r=i[i.length-1];if(!r)for(let t=i.length-2;!r&&t>=0;t--)r=i[t];for(let t=0;t<o.length;t++){const s=o[t];let l=i;if(n.matchBase&&1===s.length&&(l=[r]),this.matchOne(l,s,e))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate}static defaults(t){return kt.defaults(t).Minimatch}};function Jt(t){var e,n,i;return null!=(i=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?i:void 0}kt.AST=$t,kt.Minimatch=Bt,kt.escape=(t,{windowsPathsNoEscape:e=!1}={})=>e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&"),kt.unescape=ft,((t,e)=>{for(var n in e)y(t,n,{get:e[n],enumerable:!0})})({},{err:()=>Kt,map:()=>Qt,ok:()=>Yt,unwrap:()=>te,unwrapErr:()=>ee});var Yt=t=>({isOk:!0,isErr:!1,value:t}),Kt=t=>({isOk:!1,isErr:!0,value:t});function Qt(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>Yt(t))):Yt(n)}if(t.isErr)return Kt(t.value);throw"should never get here"}var Xt,te=t=>{if(t.isOk)return t.value;throw t.value},ee=t=>{if(t.isErr)return t.value;throw t.value};function ne(){var t;const n=this.attachShadow({mode:"open"});if(void 0===Xt&&(Xt=null!=(t=function(t){if(!_)return;const e=new CSSStyleSheet;return e.replaceSync(t),e}(e))?t:null),Xt)V?n.adoptedStyleSheets.push(Xt):n.adoptedStyleSheets=[...n.adoptedStyleSheets,Xt];else if(!_){const t=document.createElement("style");t.innerHTML=e,n.prepend(t)}}var ie=new WeakMap,oe=t=>"sc-"+t.p,re=(t,e,...n)=>{let i=null,o=null,r=!1,s=!1;const l=[],c=e=>{for(let n=0;n<e.length;n++)i=e[n],Array.isArray(i)?c(i):null!=i&&"boolean"!=typeof i&&((r="function"!=typeof t&&!et(i))&&(i+=""),r&&s?l[l.length-1].v+=i:l.push(r?se(null,i):i),s=r)};if(c(n),e){e.key&&(o=e.key);{const t=e.className||e.class;t&&(e.class="object"!=typeof t?t:Object.keys(t).filter((e=>t[e])).join(" "))}}if("function"==typeof t)return t(null===e?{}:e,l,ce);const f=se(t,null);return f.m=e,l.length>0&&(f.$=l),f.k=o,f},se=(t,e)=>({h:0,S:t,v:e,O:null,$:null,m:null,k:null}),le={},ce={forEach:(t,e)=>t.map(fe).forEach(e),map:(t,e)=>t.map(fe).map(e).map(he)},fe=t=>({vattrs:t.m,vchildren:t.$,vkey:t.k,vname:t.j,vtag:t.S,vtext:t.v}),he=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),re(t.vtag,e,...t.vchildren||[])}const e=se(t.vtag,t.vtext);return e.m=t.vattrs,e.$=t.vchildren,e.k=t.vkey,e.j=t.vname,e},ue=t=>{const e=(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(t);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${e}))(${e}\\b)`,"g")};ue("::slotted"),ue(":host"),ue(":host-context");var ae,de=(t,e)=>null==t||et(t)?t:4&e?"false"!==t&&(""===t||!!t):2&e?"string"==typeof t?parseFloat(t):"number"==typeof t?t:NaN:1&e?t+"":t,pe=(t,e)=>{const n=(t=>{var e;return null==(e=A(t))?void 0:e.$hostElement$})(t);return{emit:t=>ge(n,e,{bubbles:!0,composed:!0,cancelable:!0,detail:t})}},ge=(t,e,n)=>{const i=I.ce(e,n);return t.dispatchEvent(i),i},ve=(t,e,n,i,o,r)=>{if(n===i)return;let s=T(t,e),l=e.toLowerCase();if("class"===e){const e=t.classList,o=be(n);let r=be(i);e.remove(...o.filter((t=>t&&!r.includes(t)))),e.add(...r.filter((t=>t&&!o.includes(t))))}else if("style"===e){for(const e in n)i&&null!=i[e]||(e.includes("-")?t.style.removeProperty(e):t.style[e]="");for(const e in i)n&&i[e]===n[e]||(e.includes("-")?t.style.setProperty(e,i[e]):t.style[e]=i[e])}else if("key"===e);else if(s||"o"!==e[0]||"n"!==e[1]){const l=et(i);if((s||l&&null!==i)&&!o)try{if(t.tagName.includes("-"))t[e]!==i&&(t[e]=i);else{const o=null==i?"":i;"list"===e?s=!1:null!=n&&t[e]==o||("function"==typeof t.__lookupSetter__(e)?t[e]=o:t.setAttribute(e,o))}}catch(t){}null==i||!1===i?!1===i&&""!==t.getAttribute(e)||t.removeAttribute(e):(!s||4&r||o)&&!l&&1===t.nodeType&&t.setAttribute(e,i=!0===i?"":i)}else if(e="-"===e[2]?e.slice(3):T(H,l)?l.slice(2):l[2]+e.slice(3),n||i){const o=e.endsWith(we);e=e.replace(ye,""),n&&I.rel(t,e,n,o),i&&I.ael(t,e,i,o)}},me=/\s/,be=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(me):[]),we="Capture",ye=RegExp(we+"$"),$e=(t,e,n)=>{const i=11===e.O.nodeType&&e.O.host?e.O.host:e.O,o=t&&t.m||{},r=e.m||{};for(const t of ke(Object.keys(o)))t in r||ve(i,t,o[t],void 0,n,e.h);for(const t of ke(Object.keys(r)))ve(i,t,o[t],r[t],n,e.h)};function ke(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var Se=!1,Oe=(t,e,n)=>{const i=e.$[n];let o,r,s=0;if(null!==i.v)o=i.O=H.document.createTextNode(i.v);else{if(Se||(Se="svg"===i.S),!H.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(o=i.O=H.document.createElementNS(Se?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",i.S),Se&&"foreignObject"===i.S&&(Se=!1),$e(null,i,Se),i.$){const e="template"===i.S?o.content:o;for(s=0;s<i.$.length;++s)r=Oe(t,i,s),r&&e.appendChild(r)}"svg"===i.S?Se=!1:"foreignObject"===o.tagName&&(Se=!0)}return o["s-hn"]=ae,o},je=(t,e,n,i,o,r)=>{let s,l=t;for(l.shadowRoot&&l.tagName===ae&&(l=l.shadowRoot),"template"===n.S&&(l=l.content);o<=r;++o)i[o]&&(s=Oe(null,n,o),s&&(i[o].O=s,Pe(l,s,e)))},Me=(t,e,n)=>{for(let i=e;i<=n;++i){const e=t[i];if(e){const t=e.O;t&&t.remove()}}},Ee=(t,e,n=!1)=>t.S===e.S&&(n?(n&&!t.k&&e.k&&(t.k=e.k),!0):t.k===e.k),xe=(t,e,n=!1)=>{const i=e.O=t.O,o=t.$,r=e.$,s=e.S,l=e.v;null===l?($e(t,e,Se="svg"===s||"foreignObject"!==s&&Se),null!==o&&null!==r?((t,e,n,i,o=!1)=>{let r,s,l=0,c=0,f=0,h=0,u=e.length-1,a=e[0],d=e[u],p=i.length-1,g=i[0],v=i[p];const m="template"===n.S?t.content:t;for(;l<=u&&c<=p;)if(null==a)a=e[++l];else if(null==d)d=e[--u];else if(null==g)g=i[++c];else if(null==v)v=i[--p];else if(Ee(a,g,o))xe(a,g,o),a=e[++l],g=i[++c];else if(Ee(d,v,o))xe(d,v,o),d=e[--u],v=i[--p];else if(Ee(a,v,o))xe(a,v,o),Pe(m,a.O,d.O.nextSibling),a=e[++l],v=i[--p];else if(Ee(d,g,o))xe(d,g,o),Pe(m,d.O,a.O),d=e[--u],g=i[++c];else{for(f=-1,h=l;h<=u;++h)if(e[h]&&null!==e[h].k&&e[h].k===g.k){f=h;break}f>=0?(s=e[f],s.S!==g.S?r=Oe(e&&e[c],n,f):(xe(s,g,o),e[f]=void 0,r=s.O),g=i[++c]):(r=Oe(e&&e[c],n,c),g=i[++c]),r&&Pe(a.O.parentNode,r,a.O)}l>u?je(t,null==i[p+1]?null:i[p+1].O,n,i,c,p):c>p&&Me(e,l,u)})(i,o,e,r,n):null!==r?(null!==t.v&&(i.textContent=""),je(i,null,e,r,0,r.length-1)):!n&&null!==o&&Me(o,0,o.length-1),Se&&"svg"===s&&(Se=!1)):t.v!==l&&(i.data=l)},Pe=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),Ce=(t,e)=>{if(e&&!t.M&&e["s-p"]){const n=e["s-p"].push(new Promise((i=>t.M=()=>{e["s-p"].splice(n-1,1),i()})))}},Re=(t,e)=>{if(t.h|=16,4&t.h)return void(t.h|=512);Ce(t,t.P);const n=()=>We(t,e);if(!e)return tt(n);queueMicrotask((()=>{n()}))},We=(t,e)=>{const n=t.$hostElement$,i=t.l;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let o;return e?(t.C.length&&t.C.forEach((t=>t(n))),o=Fe(i,"componentWillLoad",void 0,n)):o=Fe(i,"componentWillUpdate",void 0,n),o=Ne(o,(()=>Fe(i,"componentWillRender",void 0,n))),Ne(o,(()=>Ae(t,i,e)))},Ne=(t,e)=>ze(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),ze=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,Ae=async(t,e,n)=>{var i;const o=t.$hostElement$,r=o["s-rc"];n&&(t=>{const e=t.i,n=t.$hostElement$,i=e.h,o=((t,e)=>{var n,i,o;const r=oe(e),s=G.get(r);if(!H.document)return r;if(t=11===t.nodeType?t:H.document,s)if("string"==typeof s){let o,l=ie.get(t=t.head||t);if(l||ie.set(t,l=new Set),!l.has(r)){o=H.document.createElement("style"),o.innerHTML=s;const c=null!=(n=I.R)?n:Jt(H.document);if(null!=c&&o.setAttribute("nonce",c),!(1&e.h))if("HEAD"===t.nodeName){const e=t.querySelectorAll("link[rel=preconnect]"),n=e.length>0?e[e.length-1].nextSibling:t.querySelector("style");t.insertBefore(o,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(_){const e=new(null!=(i=t.defaultView)?i:t.ownerDocument.defaultView).CSSStyleSheet;e.replaceSync(s),V?t.adoptedStyleSheets.unshift(e):t.adoptedStyleSheets=[e,...t.adoptedStyleSheets]}else{const e=t.querySelector("style");e?e.innerHTML=s+e.innerHTML:t.prepend(o)}else t.append(o);1&e.h&&t.insertBefore(o,null),4&e.h&&(o.innerHTML+=U),l&&l.add(r)}}else{let e=ie.get(t);if(e||ie.set(t,e=new Set),!e.has(r)){const n=null!=(o=t.defaultView)?o:t.ownerDocument.defaultView;let i;if(s.constructor===n.CSSStyleSheet)i=s;else{i=new n.CSSStyleSheet;for(let t=0;t<s.cssRules.length;t++)i.insertRule(s.cssRules[t].cssText,t)}V?t.adoptedStyleSheets.push(i):t.adoptedStyleSheets=[...t.adoptedStyleSheets,i],e.add(r)}}return r})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&i&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(t);Le(t,e,o,n),r&&(r.map((t=>t())),o["s-rc"]=void 0);{const e=null!=(i=o["s-p"])?i:[],n=()=>Te(t);0===e.length?n():(Promise.all(e).then(n),t.h|=4,e.length=0)}},Le=(t,e,n,i)=>{try{e=e.render(),t.h&=-17,t.h|=2,((t,e,n=!1)=>{const i=t.$hostElement$,o=t.W||se(null,null),r=(t=>t&&t.S===le)(e)?e:re(null,null,e);if(ae=i.tagName,n&&r.m)for(const t of Object.keys(r.m))i.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(r.m[t]=i[t]);r.S=null,r.h|=4,t.W=r,r.O=o.O=i.shadowRoot||i,xe(o,r,n)})(t,e,i)}catch(e){D(e,t.$hostElement$)}return null},Te=t=>{const e=t.$hostElement$,n=t.l,i=t.P;Fe(n,"componentDidRender",void 0,e),64&t.h?Fe(n,"componentDidUpdate",void 0,e):(t.h|=64,Ge(e),Fe(n,"componentDidLoad",void 0,e),t.N(e),i||De()),t.M&&(t.M(),t.M=void 0),512&t.h&&X((()=>Re(t,!1))),t.h&=-517},De=()=>{X((()=>ge(H,"appload",{detail:{namespace:"feedlog-toolkit"}})))},Fe=(t,e,n,i)=>{if(t&&t[e])try{return t[e](n)}catch(t){D(t,i)}},Ge=t=>t.classList.add("hydrated"),Ue=(t,e,n,i)=>{const o=A(t);if(!o)return;if(!o)throw Error(`Couldn't find host element for "${i.p}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const r=o.o.get(e),s=o.h,l=o.l;if(n=de(n,i.t[e][0]),!(8&s&&void 0!==r||n===r||Number.isNaN(r)&&Number.isNaN(n)||(o.o.set(e,n),2!=(18&s)))){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(n,r,e))return;Re(o,!1)}},He=(t,e,n)=>{var i,o;const r=t.prototype;if(e.t){const s=Object.entries(null!=(i=e.t)?i:{});if(s.map((([t,[i]])=>{if(31&i||2&n&&32&i){const{get:o,set:s}=Object.getOwnPropertyDescriptor(r,t)||{};o&&(e.t[t][0]|=2048),s&&(e.t[t][0]|=4096),(1&n||!o)&&Object.defineProperty(r,t,{get(){{if(!(2048&e.t[t][0]))return((t,e)=>A(this).o.get(e))(0,t);const n=A(this),i=n?n.l:r;if(!i)return;return i[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(r,t,{set(o){const r=A(this);if(r){if(s)return void 0===(32&i?this[t]:r.$hostElement$[t])&&r.o.get(t)&&(o=r.o.get(t)),s.call(this,de(o,i)),void Ue(this,t,o=32&i?this[t]:r.$hostElement$[t],e);{if(!(1&n&&4096&e.t[t][0]))return Ue(this,t,o,e),void(1&n&&!r.l&&r.C.push((()=>{4096&e.t[t][0]&&r.l[t]!==r.o.get(t)&&(r.l[t]=o)})));const s=()=>{const n=r.l[t];!r.o.get(t)&&n&&r.o.set(t,n),r.l[t]=de(o,i),Ue(this,t,r.l[t],e)};r.l?s():r.C.push((()=>{s()}))}}}})}})),1&n){const n=new Map;r.attributeChangedCallback=function(t,i,o){I.jmp((()=>{var l;const c=n.get(t),f=A(this);if(this.hasOwnProperty(c)&&(o=this[c],delete this[c]),r.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==o)return;if(null==c){const n=null==f?void 0:f.h;if(f&&n&&!(8&n)&&o!==i){const r=f.l,s=null==(l=e.A)?void 0:l[t];null==s||s.forEach((e=>{const[[s,l]]=Object.entries(e);null!=r[s]&&(128&n||1&l)&&r[s].call(r,o,i,t)}))}return}const h=s.find((([t])=>t===c));h&&4&h[1][0]&&(o=null!==o&&"false"!==o);const u=Object.getOwnPropertyDescriptor(r,c);o==this[c]||u.get&&!u.set||(this[c]=o)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(o=e.A)?o:{}),...s.filter((([t,e])=>31&e[0])).map((([t,e])=>{const i=e[1]||t;return n.set(i,t),i}))]))}}return t},Ie=(t,e)=>{Fe(t,"connectedCallback",void 0,e)},Ze=(t,e)=>{Fe(t,"disconnectedCallback",void 0,e||t)},_e=(t,e={})=>{var n;if(!H.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const i=[],o=e.exclude||[],r=H.customElements,s=H.document.head,l=s.querySelector("meta[charset]"),c=H.document.createElement("style"),f=[];let h,u=!0;Object.assign(I,e),I.u=new URL(e.resourcesUrl||"./",H.document.baseURI).href;let a=!1;if(t.map((t=>{t[1].map((e=>{const n={h:e[0],p:e[1],t:e[2],L:e[3]};4&n.h&&(a=!0),n.t=e[2];const s=n.p,l=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,e)=>{const n={h:0,$hostElement$:t,i:e,o:new Map,T:new Map};n.D=new Promise((t=>n.N=t)),t["s-p"]=[],t["s-rc"]=[],n.C=[];const i=n;t.__stencil__getHostRef=()=>i})(t=this,n),1&n.h)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${n.p}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else ne.call(t,n)}connectedCallback(){A(this)&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),h&&(clearTimeout(h),h=null),u?f.push(this):I.jmp((()=>(t=>{if(!(1&I.h)){const e=A(t);if(!e)return;const n=e.i,i=()=>{};if(1&e.h)(null==e?void 0:e.l)?Ie(e.l,t):(null==e?void 0:e.D)&&e.D.then((()=>Ie(e.l,t)));else{e.h|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){Ce(e,e.P=n);break}}n.t&&Object.entries(n.t).map((([e,[n]])=>{if(31&n&&e in t&&t[e]!==Object.prototype[e]){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let i;if(!(32&e.h)){if(e.h|=32,n.F){const o=((t,e)=>{const n=t.p.replace(/-/g,"_"),i=t.F;if(!i)return;const o=F.get(i);return o?o[n]:import(`./${i}.entry.js`).then((t=>(F.set(i,t),t[n])),(t=>{D(t,e.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(o&&"then"in o){const t=()=>{};i=await o,t()}else i=o;if(!i)throw Error(`Constructor for "${n.p}#${e.G}" was not found`);i.isProxied||(He(i,n,2),i.isProxied=!0);const r=()=>{};e.h|=8;try{new i(e)}catch(e){D(e,t)}e.h&=-9,r(),Ie(e.l,t)}else i=t.constructor,customElements.whenDefined(t.localName).then((()=>e.h|=128));if(i&&i.style){let t;"string"==typeof i.style&&(t=i.style);const e=oe(n);if(!G.has(e)){const i=()=>{};((t,e,n)=>{let i=G.get(t);_&&n?(i=i||new CSSStyleSheet,"string"==typeof i?i=e:i.replaceSync(e)):i=e,G.set(t,i)})(e,t,!!(1&n.h)),i()}}}const o=e.P,r=()=>Re(e,!0);o&&o["s-rc"]?o["s-rc"].push(r):r()})(t,e,n)}i()}})(this))))}disconnectedCallback(){I.jmp((()=>(async t=>{if(!(1&I.h)){const e=A(t);(null==e?void 0:e.l)?Ze(e.l,t):(null==e?void 0:e.D)&&e.D.then((()=>Ze(e.l,t)))}ie.has(t)&&ie.delete(t),t.shadowRoot&&ie.has(t.shadowRoot)&&ie.delete(t.shadowRoot)})(this))),I.raf((()=>{var t;const e=A(this);if(!e)return;const n=f.findIndex((t=>t===this));n>-1&&f.splice(n,1),(null==(t=null==e?void 0:e.W)?void 0:t.O)instanceof Node&&!e.W.O.isConnected&&delete e.W.O}))}componentOnReady(){var t;return null==(t=A(this))?void 0:t.D}};n.F=t[0],o.includes(s)||r.get(s)||(i.push(s),r.define(s,He(l,n,1)))}))})),i.length>0&&(a&&(c.textContent+=U),c.textContent+=i.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",c.innerHTML.length)){c.setAttribute("data-styles","");const t=null!=(n=I.R)?n:Jt(H.document);null!=t&&c.setAttribute("nonce",t),s.insertBefore(c,l?l.nextSibling:s.firstChild)}u=!1,f.length?f.map((t=>t.connectedCallback())):I.jmp((()=>h=setTimeout(De,30)))},Ve=t=>I.R=t;export{le as H,_e as b,pe as c,t as g,re as h,Z as p,L as r,Ve as s}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as s,H as o}from"./p-CkB6Yzeb.js";const i=()=>s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},s("circle",{cx:"12",cy:"12",r:"4"}),s("path",{d:"M12 2v2"}),s("path",{d:"M12 20v2"}),s("path",{d:"m4.93 4.93 1.41 1.41"}),s("path",{d:"m17.66 17.66 1.41 1.41"}),s("path",{d:"M2 12h2"}),s("path",{d:"M20 12h2"}),s("path",{d:"m6.34 17.66-1.41 1.41"}),s("path",{d:"m19.07 4.93-1.41 1.41"})),a=()=>s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},s("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"})),d=class{constructor(s){e(this,s),this.feedlogUpvote=t(this,"feedlogUpvote"),this.feedlogThemeChange=t(this,"feedlogThemeChange"),this.feedlogLoadMore=t(this,"feedlogLoadMore"),this.issues=[],this.maxWidth="42rem",this.theme="light",this.loading=!1,this.error=null,this.showThemeToggle=!0,this.hasMore=!1,this.isLoadingMore=!1,this.currentTheme="light",this.handleUpvote=e=>{this.feedlogUpvote.emit(e.detail)},this.toggleTheme=()=>{this.currentTheme="dark"===this.currentTheme?"light":"dark",this.theme=this.currentTheme,this.feedlogThemeChange.emit(this.currentTheme)},this.handleLoadMore=()=>{this.feedlogLoadMore.emit()}}componentWillLoad(){this.currentTheme=this.theme}render(){return s(o,{key:"8f238ab41f45799062270c84188596d770d6bde0",class:"dark"===this.currentTheme?"dark":""},s("div",{key:"af0c2155ef3cdc12f228ec804ee906afd7d75477",class:"github-issues-container",style:{maxWidth:this.maxWidth}},s("header",{key:"ccf9a063df220f7a48e3600cb22df8203960a45b",class:"issues-header"},s("div",{key:"c261d6b0c8168a66faef9ec2fb381619f5175070",class:"header-content"},s("h1",{key:"19203aa63dab0648b0a2865fe812233bfbbc225a",class:"issues-title"},"GitHub Issues"),s("p",{key:"e717a4e64cc747c81ad7a9e1cec234c247bfc329",class:"issues-subtitle"},"Track bugs and enhancements for your project")),this.showThemeToggle&&s("feedlog-button",{key:"21057c7d384c53262e699e0384234077b0b36314",variant:"outline",size:"sm",onFeedlogClick:this.toggleTheme},s("dark"===this.currentTheme?i:a,null))),this.loading&&s("div",{key:"2059c491247e0a48a81d802d9757d9fa97ac1a72",class:"loading-state"},s("p",{key:"5654904e73b05bd5a05aa0243506e4bf074e5486"},"Loading issues...")),this.error&&s("div",{key:"7d2e09e0055e5d834aa870ed47bd4ebaba64dff1",class:"error-state"},s("p",{key:"d4cc2bb872c81234b4e81a4ec4ce21aff368ad74"},"Error: ",this.error)),!this.loading&&!this.error&&s("div",{key:"e25eb90f7098416837a26a44e5811888530220a4"},s("feedlog-issues-list",{key:"a8e7ec5c5861cb31456738107b93f6e7adebbbe9",issues:this.issues,theme:this.currentTheme,onFeedlogUpvote:this.handleUpvote}),this.hasMore&&s("div",{key:"0d935e9247f44bff0700fce487d0bc4ccd104f2a",class:"load-more-container"},s("feedlog-button",{key:"2858d701f5e3d219c39a6a28a7475c619464bc72",onFeedlogClick:this.handleLoadMore,disabled:this.isLoadingMore,variant:"outline"},this.isLoadingMore?"Loading...":"Load More Issues")))))}};d.style=":host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-muted-foreground:#717182;--feedlog-destructive:#d4183d;--feedlog-padding:2rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-destructive:oklch(0.637 0.237 25.331)}.github-issues-container{min-height:100vh;background-color:var(--feedlog-background);padding:var(--feedlog-padding);margin:0 auto}.issues-header{margin-bottom:1.5rem;display:flex;align-items:flex-start;justify-content:space-between}.header-content{flex:1}.issues-title{color:var(--feedlog-foreground);margin:0 0 0.25rem 0;font-size:1.5rem;font-weight:500;line-height:1.5}.issues-subtitle{color:var(--feedlog-muted-foreground);font-size:0.875rem;margin:0}.loading-state,.error-state{padding:2rem;text-align:center;color:var(--feedlog-muted-foreground)}.error-state{color:var(--feedlog-destructive)}.load-more-container{display:flex;justify-content:center;padding:2rem 0;gap:1rem}";export{d as feedlog_github_issues}
@@ -0,0 +1 @@
1
+ import{r as o,h as e}from"./p-CkB6Yzeb.js";const a=class{constructor(e){o(this,e)}render(){return e("div",{key:"293a80e66adedfc1af29daf72390a4f464321b96",class:"feedlog-card"},e("slot",{key:"b7e5a827f89035e791d9c756db0f66198e6c5a38",name:"header"}),e("slot",{key:"da89fee0a01068c8438564848f218faa9c5d849e",name:"content"}),e("slot",{key:"30b05e80e4189c0f73810a48f64e072dfac83267",name:"footer"}))}};a.style=':host{display:block;font-family:ui-monospace, SFMono-Regular, \'SF Mono\', Menlo, Consolas, \'Liberation Mono\', monospace;--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-radius:0.625rem;--feedlog-card-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--feedlog-card-hover-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)}:host(.dark){--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-card-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--feedlog-card-hover-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.3)}.feedlog-card{background-color:var(--feedlog-card);color:var(--feedlog-card-foreground);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);box-shadow:var(--feedlog-card-shadow);transition:box-shadow 0.15s ease;position:relative}.feedlog-card:hover{box-shadow:var(--feedlog-card-hover-shadow)}::slotted([slot="header"]){display:block}::slotted([slot="content"]){display:block}::slotted([slot="footer"]){display:block}';export{a as feedlog_card}
@@ -0,0 +1 @@
1
+ module.exports = require('./cjs/index.cjs.js');
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './esm/index.js';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Feedlog Badge Component
3
+ *
4
+ * A label component with variant support for different styles.
5
+ */
6
+ export declare class FeedlogBadge {
7
+ /**
8
+ * Badge variant style
9
+ */
10
+ variant: 'default' | 'destructive' | 'enhancement';
11
+ render(): any;
12
+ }
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@stencil/storybook-plugin';
2
+ import { FeedlogBadge } from './feedlog-badge';
3
+ declare const meta: Meta<FeedlogBadge>;
4
+ export default meta;
5
+ type Story = StoryObj<FeedlogBadge>;
6
+ export declare const Default: Story;
7
+ export declare const Destructive: Story;
8
+ export declare const AllVariants: Story;
9
+ export declare const Labels: Story;
@@ -0,0 +1,30 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ /**
3
+ * Feedlog Button Component
4
+ *
5
+ * A button component with variant and size support.
6
+ */
7
+ export declare class FeedlogButton {
8
+ /**
9
+ * Button variant style
10
+ */
11
+ variant: 'default' | 'outline' | 'ghost' | 'destructive';
12
+ /**
13
+ * Button size
14
+ */
15
+ size: 'default' | 'sm' | 'lg';
16
+ /**
17
+ * Disabled state
18
+ */
19
+ disabled: boolean;
20
+ /**
21
+ * Button type
22
+ */
23
+ type: 'button' | 'submit' | 'reset';
24
+ /**
25
+ * Event emitted when button is clicked
26
+ */
27
+ feedlogClick: EventEmitter<MouseEvent>;
28
+ private handleClick;
29
+ render(): any;
30
+ }
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@stencil/storybook-plugin';
2
+ import { FeedlogButton } from './feedlog-button';
3
+ declare const meta: Meta<FeedlogButton>;
4
+ export default meta;
5
+ type Story = StoryObj<FeedlogButton>;
6
+ export declare const Default: Story;
7
+ export declare const Outline: Story;
8
+ export declare const Ghost: Story;
9
+ export declare const Destructive: Story;
10
+ export declare const Small: Story;
11
+ export declare const Large: Story;
12
+ export declare const Disabled: Story;
13
+ export declare const AllVariants: Story;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Feedlog Card Component
3
+ *
4
+ * A reusable card container component with header and content areas.
5
+ */
6
+ export declare class FeedlogCard {
7
+ render(): any;
8
+ }
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@stencil/storybook-plugin';
2
+ import { FeedlogCard } from './feedlog-card';
3
+ declare const meta: Meta<FeedlogCard>;
4
+ export default meta;
5
+ type Story = StoryObj<FeedlogCard>;
6
+ export declare const Default: Story;
7
+ export declare const WithFooter: Story;
8
+ export declare const HeaderOnly: Story;
9
+ export declare const IssueCard: Story;
@@ -0,0 +1,67 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { FeedlogIssue } from '@feedlog-ai/core';
3
+ /**
4
+ * Feedlog GitHub Issues Component
5
+ *
6
+ * Component for displaying GitHub issues with support for bugs and enhancements.
7
+ * This component handles the UI rendering and delegates to feedlog-issues-list for the actual list.
8
+ */
9
+ export declare class FeedlogGithubIssues {
10
+ /**
11
+ * Array of issues to display
12
+ */
13
+ issues: FeedlogIssue[];
14
+ /**
15
+ * Maximum width of the container
16
+ */
17
+ maxWidth: string;
18
+ /**
19
+ * Theme variant: 'light' or 'dark'
20
+ */
21
+ theme: 'light' | 'dark';
22
+ /**
23
+ * Loading state - shows loading indicator when true
24
+ */
25
+ loading: boolean;
26
+ /**
27
+ * Error message - shows error state when set
28
+ */
29
+ error: string | null;
30
+ /**
31
+ * Whether to show the theme toggle button
32
+ */
33
+ showThemeToggle: boolean;
34
+ /**
35
+ * Whether there are more issues to load
36
+ */
37
+ hasMore: boolean;
38
+ /**
39
+ * Whether more issues are currently loading
40
+ */
41
+ isLoadingMore: boolean;
42
+ /**
43
+ * Internal state for theme
44
+ */
45
+ currentTheme: 'light' | 'dark';
46
+ /**
47
+ * Event emitted when an issue is upvoted
48
+ */
49
+ feedlogUpvote: EventEmitter<{
50
+ issueId: string;
51
+ currentUpvoted: boolean;
52
+ currentCount: number;
53
+ }>;
54
+ /**
55
+ * Event emitted when theme changes
56
+ */
57
+ feedlogThemeChange: EventEmitter<'light' | 'dark'>;
58
+ /**
59
+ * Event emitted to load more issues
60
+ */
61
+ feedlogLoadMore: EventEmitter<void>;
62
+ componentWillLoad(): void;
63
+ private handleUpvote;
64
+ private toggleTheme;
65
+ private handleLoadMore;
66
+ render(): any;
67
+ }
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@stencil/storybook-plugin';
2
+ import { FeedlogGithubIssues } from './feedlog-github-issues';
3
+ declare const meta: Meta<FeedlogGithubIssues>;
4
+ export default meta;
5
+ type Story = StoryObj<FeedlogGithubIssues>;
6
+ export declare const Default: Story;
7
+ export declare const Loading: Story;
8
+ export declare const Error: Story;
9
+ export declare const Empty: Story;
10
+ export declare const DarkTheme: Story;
11
+ export declare const NarrowWidth: Story;
@@ -0,0 +1,77 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { FeedlogIssue } from '@feedlog-ai/core';
3
+ /**
4
+ * Feedlog GitHub Issues Client Component
5
+ *
6
+ * A component for displaying GitHub issues fetched using the Feedlog SDK.
7
+ * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
8
+ */
9
+ export declare class FeedlogGithubIssuesClient {
10
+ /**
11
+ * Array of repository public IDs or single ID
12
+ * Format: repository public ID (not owner/repo)
13
+ */
14
+ repos?: string[] | string;
15
+ /**
16
+ * Filter issues by type: 'bug' or 'enhancement'
17
+ */
18
+ type?: 'bug' | 'enhancement';
19
+ /**
20
+ * Maximum number of issues to fetch (1-100, default 10)
21
+ */
22
+ limit?: number;
23
+ /**
24
+ * Custom API endpoint
25
+ */
26
+ endpoint?: string;
27
+ /**
28
+ * Maximum width of the container
29
+ */
30
+ maxWidth: string;
31
+ /**
32
+ * Theme variant: 'light' or 'dark'
33
+ */
34
+ theme: 'light' | 'dark';
35
+ /**
36
+ * Whether to show the theme toggle button
37
+ */
38
+ showThemeToggle: boolean;
39
+ /**
40
+ * Event emitted when an issue is upvoted
41
+ */
42
+ feedlogUpvote: EventEmitter<{
43
+ issueId: string;
44
+ upvoted: boolean;
45
+ upvoteCount: number;
46
+ }>;
47
+ /**
48
+ * Event emitted when theme changes
49
+ */
50
+ feedlogThemeChange: EventEmitter<'light' | 'dark'>;
51
+ /**
52
+ * Event emitted on error
53
+ */
54
+ feedlogError: EventEmitter<{
55
+ error: string;
56
+ code?: number;
57
+ }>;
58
+ issues: FeedlogIssue[];
59
+ loading: boolean;
60
+ error: string | null;
61
+ cursor: string | null;
62
+ hasMore: boolean;
63
+ isLoadingMore: boolean;
64
+ private sdk;
65
+ private previousRepos?;
66
+ private previousType?;
67
+ private previousLimit?;
68
+ componentWillLoad(): void;
69
+ componentDidUpdate(): void;
70
+ private initializeSDK;
71
+ private parseRepos;
72
+ private fetchIssues;
73
+ private loadMore;
74
+ private handleUpvote;
75
+ private handleThemeChange;
76
+ render(): any;
77
+ }
@@ -0,0 +1,31 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { FeedlogIssue } from '@feedlog-ai/core';
3
+ /**
4
+ * Feedlog Issues List Component
5
+ *
6
+ * A component for displaying a list of GitHub issues with support for bugs and enhancements.
7
+ */
8
+ export declare class FeedlogIssuesList {
9
+ /**
10
+ * Array of issues to display
11
+ */
12
+ issues: FeedlogIssue[];
13
+ /**
14
+ * Theme variant: 'light' or 'dark'
15
+ */
16
+ theme: 'light' | 'dark';
17
+ /**
18
+ * Event emitted when an issue is upvoted
19
+ */
20
+ feedlogUpvote: EventEmitter<{
21
+ issueId: string;
22
+ currentUpvoted: boolean;
23
+ currentCount: number;
24
+ }>;
25
+ private handleUpvote;
26
+ render(): any;
27
+ /**
28
+ * Format an ISO date string to a relative time string
29
+ */
30
+ private formatDate;
31
+ }
@@ -0,0 +1,6 @@
1
+ export * from './feedlog-card/feedlog-card';
2
+ export * from './feedlog-badge/feedlog-badge';
3
+ export * from './feedlog-button/feedlog-button';
4
+ export * from './feedlog-github-issues/feedlog-github-issues';
5
+ export * from './feedlog-github-issues-client/feedlog-github-issues-client';
6
+ export * from './feedlog-issues-list/feedlog-issues-list';