lyco 1.2.6 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +143 -81
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +102 -40
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.cjs.js","names":["t","i","s","e","h","o","n","r","l","c","u","d","f","v","m","p","a","y","x","M","t","o","i","n","e","c","f","s","r","l","h","e","t","i","i","t","e","o","h","n","r","i","t","s","e","fn?: renderFnType","fnOrArray?: renderFnOrArrayType","injectBox?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>","prefix?: string","injectBox?: (box: TemplateResult<1>) => TemplateResult<1>","f?: renderFnType","injectBox?: (\n\t\tbox: TemplateResult<1> | TemplateResult<1>[]\n\t) => TemplateResult<1> | TemplateResult<1>[]","injectBox2?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>","f?: renderFnOrArrayType","prefix: string","key: keyof typeof allRandomClassName","componentCount: ComponentCount","name: string","slot: TemplateResult<1>","el: EventTarget","on: Array<[string, EventHandler<any>]>","eventListeners: Map<string, EventListener>","handler: (event: Event) => void","options: boolean | AddEventListenerOptions | undefined","event: Event","on: OnEvent","el?: Element","props?: { fadeBg?: string; zIndex?: number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: FlexProps","children?: renderFnType","children: renderFnType","strings: TemplateStringsArray","props?: { on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { columns?: number; gap?: string | number; on?: OnEvent }","children?: renderFnOrArrayType","props?: { gap?: string | number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { span?: number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { gap?: string | number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { space?: string | number; on?: OnEvent }","children?: renderFnOrArrayType","props?: WaterFlowProps","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props: SwiperProps","slides?: TemplateResult<1>[] | (() => TemplateResult<1>[])","_slides: TemplateResult<1>[]","index: number","scrollOffset: number","distance: number","e: TouchEvent","e: WheelEvent","container: HTMLElement | null","autoplayInterval: ReturnType<typeof setInterval>","cleanupFns: (() => void)[]","props?: AbsoluteBoxProps","children?: renderFnType","props?: AcrylicBarProps","children?: renderFnOrArrayType","children: TemplateResult","props: AspectRatioProps","children?: renderFnOrArrayType","props: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: { size?: string; overlap?: string; on?: OnEvent }","children?: renderFnOrArrayType","avatar: TemplateResult","idx?: number","props?: BadgeProps","children?: renderFnType","strings: TemplateStringsArray","ref1: RefOrCallback<T> | undefined","ref2: RefOrCallback<T>","el: T | undefined","props?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t}","initRef?: RefOrCallback<HTMLCanvasElement>","props?: CardProps","children?: renderFnOrArrayType","props?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: ContainerProps","children?: renderFnOrArrayType","props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\n\ton?: OnEvent;\n}","props?: FooterLayoutProps","children?: renderFnType","strings: TemplateStringsArray","item: T","render?: (item: T[number], index: number) => TemplateResult<1>","render: (item: T[number], index: number) => TemplateResult<1>","props: GridBreakpointProps","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: HiddenProps","children?: renderFnType","strings: TemplateStringsArray","children?: renderFnOrArrayType","props?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t}","props?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","children: TemplateResult<1>","_idx?: number","isArray?: boolean","_isFunc?: boolean","children: TemplateResult<1> | TemplateResult<1>[]","props?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\twidth?: string;\n\theight?: string;\n\ton?: OnEvent;\n}","props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}","props?: { on?: OnEvent }","props?: StickyProps","children?: renderFnType","strings: TemplateStringsArray","props?: TableProps","children?: renderFnType","strings: TemplateStringsArray","props?: WrapProps","children?: renderFnOrArrayType","props?: ZStackProps","children?: renderFnOrArrayType"],"sources":["../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directive-helpers.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/async-directive.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directives/ref.js","../src/components/core.ts","../src/components/LightboxContainer.ts","../src/components/Column.ts","../src/components/Flex.ts","../src/components/FlowItem.ts","../src/components/Grid.ts","../src/components/GridCol.ts","../src/components/GridItem.ts","../src/components/GridRow.ts","../src/components/Row.ts","../src/components/WaterFlow.ts","../src/components/ColumnSplit.ts","../src/components/RowSplit.ts","../src/components/ScrollBar.ts","../src/components/SideBarContainer.ts","../src/components/Swiper.ts","../src/components/AbsoluteBox.ts","../src/components/AcrylicBar.ts","../src/components/AspectRatio.ts","../src/components/AutoFitGrid.ts","../src/components/AvatarStack.ts","../src/components/Badge.ts","../src/components/Canvas.ts","../src/components/Card.ts","../src/components/Center.ts","../src/components/Container.ts","../src/components/Divider.ts","../src/components/FooterLayout.ts","../src/components/ForEach.ts","../src/components/GridBreakpoint.ts","../src/components/HeroSection.ts","../src/components/Hidden.ts","../src/components/List.ts","../src/components/ListGroup.ts","../src/components/Overlay.ts","../src/components/PositionContainer.ts","../src/components/SizedBox.ts","../src/components/SkeletonLoader.ts","../src/components/Spacer.ts","../src/components/Sticky.ts","../src/components/Table.ts","../src/components/Wrap.ts","../src/components/ZStack.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import { html, TemplateResult } from \"lit\";\n\nconst ___LYCO_NULL___ = Symbol(\"___LYCO_NULL___\");\n\nexport type renderFnType = TemplateResult<1> | (() => TemplateResult<1>);\n\nexport type renderFnOrArrayType =\n\t| renderFnType\n\t| Array<TemplateResult<1>>\n\t| (() => TemplateResult<1>[]);\n\nexport function renderFn(fn?: renderFnType): TemplateResult<1> {\n\treturn fn ? (typeof fn === \"function\" ? fn() : fn) : html``;\n}\n\nexport type WithHtml<K> = ((children?: K) => TemplateResult<1>) & {\n\thtml: (\n\t\tstrings: TemplateStringsArray,\n\t\t...values: unknown[]\n\t) => TemplateResult<1>;\n};\n\nexport function renderFnOrArray(\n\tfnOrArray?: renderFnOrArrayType,\n\tinjectBox?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>\n): TemplateResult<1> | TemplateResult<1>[] {\n\tlet _injectBox = injectBox ?? ((box) => box);\n\tif (fnOrArray === undefined) {\n\t\treturn html``;\n\t}\n\tif (Array.isArray(fnOrArray)) {\n\t\treturn fnOrArray.map((htmlTemp, idx) =>\n\t\t\t_injectBox(renderFn(htmlTemp), idx, true, false)\n\t\t);\n\t} else if (typeof fnOrArray !== \"function\") {\n\t\treturn _injectBox(renderFn(fnOrArray), undefined, false, false);\n\t}\n\n\tconst result = fnOrArray();\n\tif (Array.isArray(result)) {\n\t\treturn result.map((htmlTemp, idx) =>\n\t\t\t_injectBox(renderFn(htmlTemp), idx, true, false)\n\t\t);\n\t} else {\n\t\treturn _injectBox(renderFn(result), undefined, false, true);\n\t}\n}\n\nexport function randomClassName(prefix?: string): string {\n\tconst random = Math.random().toString(36).substring(2, 15);\n\treturn prefix ? `lyco-${prefix}-${random}` : `lyco-${random}`;\n}\n\nexport function renderFnOrCurry(\n\tfn?: renderFnType,\n\tinjectBox?: (box: TemplateResult<1>) => TemplateResult<1>\n): TemplateResult<1> | ((fn?: renderFnType) => TemplateResult<1>) {\n\tconst _injectBox = injectBox ?? ((box) => box);\n\tconst curriedFn = (f?: renderFnType) => _injectBox(renderFn(f!));\n\n\treturn fn ? curriedFn(fn) : curriedFn;\n}\n\nexport function renderFnOrArrayOrCurry(\n\tfnOrArray?: renderFnOrArrayType,\n\tinjectBox?: (\n\t\tbox: TemplateResult<1> | TemplateResult<1>[]\n\t) => TemplateResult<1> | TemplateResult<1>[],\n\tinjectBox2?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>\n):\n\t| TemplateResult<1>\n\t| TemplateResult<1>[]\n\t| ((\n\t\t\tfnOrArray?: renderFnOrArrayType\n\t ) => TemplateResult<1> | TemplateResult<1>[]) {\n\tconst _injectBox = injectBox ?? ((box) => box);\n\tconst curriedFn = (f?: renderFnOrArrayType) =>\n\t\t_injectBox(renderFnOrArray(f, injectBox2)!);\n\n\treturn fnOrArray ? curriedFn(fnOrArray) : curriedFn;\n}\n\nconst withInit = (\n\tprefix: string\n): {\n\tinit: boolean;\n\tprefix: string;\n\tclassName: string | typeof ___LYCO_NULL___;\n} => ({\n\tinit: false,\n\tprefix,\n\tclassName: ___LYCO_NULL___,\n});\n\nconst allRandomClassName = {\n\t\"GridBreakpoint::grid-breakpoint\": withInit(\"grid-breakpoint\"),\n\t\"Hidden::hidden-container\": withInit(\"hidden-container\"),\n\t\"ListGroup::list-group\": withInit(\"list-group\"),\n\t\"ScrollBar::scrollbar-container\": withInit(\"scrollbar-container\"),\n\t\"SkeletonLoader::skeleton-shimmer\": withInit(\"skeleton-shimmer\"),\n\t\"Swiper::swiper\": withInit(\"swiper\"),\n\t\"Table::table\": withInit(\"table\"),\n\t\"WaterFlow::waterflow\": withInit(\"waterflow\"),\n\t\"AutoFitGrid::auto-fit-grid\": withInit(\"auto-fit-grid\"),\n\t\"GridCol::grid-col\": withInit(\"grid-col\"),\n\t\"GridRow::grid-row\": withInit(\"grid-row\"),\n\t\"List::list\": withInit(\"list\"),\n};\n\nexport function getRandomClassName(key: keyof typeof allRandomClassName) {\n\tconst r = allRandomClassName[key];\n\tif (!r.init) {\n\t\tallRandomClassName[key].init = true;\n\t\tallRandomClassName[key].className = randomClassName(r.prefix);\n\t}\n\treturn allRandomClassName[key].className === ___LYCO_NULL___\n\t\t? randomClassName(r.prefix)\n\t\t: allRandomClassName[key].className;\n}\ntype ComponentCountItem = {\n\tvalue: number;\n};\n\ntype ComponentCount = {\n\t[key: string]: ComponentCountItem;\n} & {\n\tall: ComponentCountItem; // 修改为 ComponentCountItem 类型\n};\nexport const componentCount: ComponentCount = {\n\tall: { value: 0 },\n};\n\nexport function getComponentCount(name: string) {\n\tif (!componentCount[name]?.value) {\n\t\tcomponentCount[name] = { value: 0 };\n\t}\n\treturn componentCount[name].value;\n}\n\nexport function LycoComponent(name: string, slot: TemplateResult<1>) {\n\tcomponentCount.all = {\n\t\tvalue: componentCount.all.value + 1,\n\t};\n\tcomponentCount[name] === undefined\n\t\t? (componentCount[name] = { value: 0 })\n\t\t: (componentCount[name].value = componentCount[name].value + 1);\n\t// console.debug(\n\t// \t`LycoComponent: ${name} - ${componentCount[name].value} - ${componentCount.all.value}`\n\t// );\n\treturn html`\n\t\t<!-- ${name} - ${componentCount[name].value} -->\n\t\t${slot}\n\t`;\n}\n\n// type EventType = \"click\" | \"mousedown\" | \"mouseup\" | \"mousemove\" | \"touchstart\" | \"touchend\" | \"touchmove\";\n\n// class OnEvent<T extends HTMLElement> {\n// \tel: T;\n// \tconstructor(el: T) {\n// \t\tthis.el = el;\n// \t}\n// \t// 具体事件 监听方法\n// \ton<K extends keyof GlobalEventHandlersEventMap>(\n// \t\ttype: K,\n// \t\tlistener: (this: T, ev: GlobalEventHandlersEventMap[K]) => any\n// \t): void {\n// \t\t(this.el as any)[\"on\" + type] = listener;\n// \t}\n// }\n\ntype EventHandler<K extends keyof GlobalEventHandlersEventMap> =\n\t| ((event: GlobalEventHandlersEventMap[K]) => void)\n\t| {\n\t\t\thandler: (event: GlobalEventHandlersEventMap[K]) => void;\n\t\t\toptions?: boolean | AddEventListenerOptions;\n\t };\n\nexport type OnEvent = {\n\t[K in keyof GlobalEventHandlersEventMap]?: EventHandler<K>;\n};\nexport function bindEvents(\n\tel: EventTarget,\n\ton: Array<[string, EventHandler<any>]>,\n\teventListeners: Map<string, EventListener>\n): void {\n\ton.forEach(([name, entry]) => {\n\t\tif (eventListeners.has(name)) {\n\t\t\tel.removeEventListener(name, eventListeners.get(name)!);\n\t\t}\n\n\t\tlet handler: (event: Event) => void;\n\t\tlet options: boolean | AddEventListenerOptions | undefined;\n\n\t\tif (typeof entry === \"function\") {\n\t\t\thandler = entry;\n\t\t\toptions = undefined;\n\t\t} else {\n\t\t\thandler = entry.handler;\n\t\t\toptions = entry.options;\n\t\t}\n\n\t\tconst listener = (event: Event) => handler(event);\n\t\tel.addEventListener(name, listener, options);\n\t\teventListeners.set(name, listener);\n\t});\n}\n\nexport function createEventBinder(on: OnEvent) {\n\tconst eventListeners = new Map<string, EventListener>();\n\tconst _on = Object.entries(on);\n\treturn {\n\t\tbind(el: EventTarget) {\n\t\t\tbindEvents(el, _on, eventListeners);\n\t\t},\n\t\tunbindAll() {\n\t\t\teventListeners.clear();\n\t\t},\n\t\tauto(el?: Element) {\n\t\t\tel ? this.bind(el) : this.unbindAll();\n\t\t},\n\t};\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function LightboxContainer(props?: {\n\tfadeBg?: string;\n\tzIndex?: number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function LightboxContainer(\n\tprops?: { fadeBg?: string; zIndex?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function LightboxContainer(\n\tprops?: { fadeBg?: string; zIndex?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tLightboxContainer(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tLightboxContainer(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst bg = props?.fadeBg ?? \"rgba(0,0,0,0.7)\";\n\tconst z = props?.zIndex ?? 2000;\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: fixed;\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${bg};\n z-index: ${z};\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Column(props?: {\n\tspace?: string | number;\n\tclassName?: string;\n\tstyle?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Column(\n\tprops?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Column(\n\tprops?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children) => Column(props, children ?? [html``]);\n\t}\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\t.class=\"${props?.className}\"\n\t\t\tstyle=\"\n display: flex;\n flex-direction: column;\n ${props?.space ? `gap: ${props.space};` : \"\"}\n ${props?.style ?? \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface FlexProps {\n\tdirection?: \"row\" | \"column\";\n\tjustify?: string;\n\talign?: string;\n\tgap?: string | number;\n\ton?: OnEvent;\n}\n\nexport function Flex(props?: FlexProps): WithHtml<renderFnType>;\n\nexport function Flex(\n\tprops?: FlexProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Flex(props?: FlexProps, children?: renderFnType) {\n\tif (children === undefined) {\n\t\tconst _ = (children: renderFnType) => Flex(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFlex(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst dir = props?.direction ?? \"row\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${dir};\n ${props?.justify ? `justify-content: ${props.justify};` : \"\"}\n ${props?.align ? `align-items: ${props.align};` : \"\"}\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function FlowItem(props?: { on?: OnEvent }): WithHtml<renderFnType>;\nexport function FlowItem(\n\tprops?: { on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function FlowItem(\n\tprops?: { on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => FlowItem(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFlowItem(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div ${ref(binder.auto)} style=\"break-inside: avoid; margin-bottom: 16px;\">\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Grid(props?: {\n\tcolumns?: number;\n\tgap?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Grid(\n\tprops?: { columns?: number; gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Grid(\n\tprops?: { columns?: number; gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Grid(props, children ?? [html``]);\n\t}\n\tconst cols = props?.columns ?? 1;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: grid;\n grid-template-columns: repeat(${cols}, 1fr);\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridCol(props?: {\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridCol(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridCol(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridCol(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridCol(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst now = getComponentCount(\"GridCol\");\n\tconst _className =\n\t\tgetRandomClassName(\"GridCol::grid-col\") + \"-lyco-now-\" + now;\n\tconst gapStyle = props?.gap ? `column-gap: ${props.gap};` : \"\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-auto-flow: column;\n ${gapStyle}\n }\n `;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridCol\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridItem(props?: {\n\tspan?: number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridItem(\n\tprops?: { span?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridItem(\n\tprops?: { span?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridItem(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridItem(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"${props?.span ? `grid-column: span ${props.span};` : \"\"}\"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridRow(props?: {\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridRow(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridRow(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridRow(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridRow(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst now = getComponentCount(\"GridRow\");\n\tconst _className =\n\t\tgetRandomClassName(\"GridRow::grid-row\") + \"-lyco-now-\" + now;\n\tconst gapStyle = props?.gap ? `row-gap: ${props.gap};` : \"\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-auto-flow: row;\n ${gapStyle}\n }\n `;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridRow\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Row(props?: {\n\tspace?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Row(\n\tprops?: { space?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Row(\n\tprops?: { space?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) => Row(props, children ?? [html``]);\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: row;\n ${props?.space ? `gap: ${props.space};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport interface WaterFlowProps {\n\tcolumnCount?: number;\n\tgap?: string | number;\n\ton?: OnEvent;\n}\n\nexport function WaterFlow(props?: WaterFlowProps): WithHtml<renderFnType>;\n\nexport function WaterFlow(\n\tprops?: WaterFlowProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function WaterFlow(\n\tprops?: WaterFlowProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\t// 如果只传了 props,不传 children,则返回一个接收 children 的函数\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tWaterFlow(props, children ?? html``) as TemplateResult<1>;\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tWaterFlow(props, html(strings, ...values)) as TemplateResult<1>;\n\t\treturn _;\n\t}\n\n\t// 解构 props,并设置默认值\n\tconst count = props?.columnCount ?? 3;\n\tconst gapValue = props?.gap ?? \"16px\";\n\tconst now = getComponentCount(\"WaterFlow\");\n\t// 生成一个随机 className,方便后续扩展样式或避免样式冲突\n\tconst _className =\n\t\tgetRandomClassName(\"WaterFlow::waterflow\") + `-lyco-now-${now}`;\n\n\tconst css = `\n\t/* 使用 CSS 类来控制多列布局 */\n\t.${_className} {\n\t\tcolumn-count: ${count};\n\t\tcolumn-gap: ${typeof gapValue === \"number\" ? `${gapValue}px` : gapValue};\n\t}\n\t/* 子元素如果是块级元素,需要让它们适应多列流式布局 */\n\t.${_className} > * {\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t}\n\t`;\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn LycoComponent(\n\t\t\"WaterFlow\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function ColumnSplit(props?: {\n\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function ColumnSplit(\n\tprops?: {\n\t\tfirstHeight?: string; // 第个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function ColumnSplit(\n\tprops?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tColumnSplit(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tColumnSplit(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst gap = props?.gap ?? \"0px\";\n\tconst firstH = props?.firstHeight ?? \"50%\";\n\n\tlet topNode = html``;\n\tlet bottomNode = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\ttopNode = arr[0] ?? html``;\n\t\tbottomNode = arr[1] ?? html``;\n\t} else {\n\t\ttopNode = renderFn(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${firstH}; overflow: auto;\">${topNode}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${bottomNode}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function RowSplit(props?: {\n\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function RowSplit(\n\tprops?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function RowSplit(\n\tprops?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => RowSplit(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tRowSplit(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst gap = props?.gap ?? \"0px\";\n\tconst firstW = props?.firstWidth ?? \"50%\";\n\n\tlet leftNode = html``;\n\tlet rightNode = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\tleftNode = arr[0] ?? html``;\n\t\trightNode = arr[1] ?? html``;\n\t} else {\n\t\tleftNode = renderFn(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${firstW}; overflow: auto;\">${leftNode}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${rightNode}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function ScrollBar(props?: {\n\tdirection?: \"vertical\" | \"horizontal\";\n\theight?: string;\n\twidth?: string;\n\tcustomCss?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function ScrollBar(\n\tprops?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function ScrollBar(\n\tprops?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => ScrollBar(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tScrollBar(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst dir = props?.direction ?? \"vertical\";\n\tconst h = props?.height ?? \"100%\";\n\tconst w = props?.width ?? \"100%\";\n\tconst extraCss = props?.customCss ?? \"\";\n\tconst now = getComponentCount(\"ScrollBar\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"ScrollBar::scrollbar-container\") + \"-lyco-now-\" + now;\n\tconst overflowStyle =\n\t\tdir === \"horizontal\"\n\t\t\t? \"overflow-x: auto; overflow-y: hidden\"\n\t\t\t: \"overflow-y: auto; overflow-x: hidden\";\n\n\tconst css = `\n\t.${_className} {\n\t ${overflowStyle};\n\t width: ${w};\n\t height: ${h};\n\t}\n\t.${_className}::-webkit-scrollbar {\n\t width: 8px;\n\t height: 8px;\n\t}\n\t.${_className}::-webkit-scrollbar-thumb {\n\t background-color: rgba(0, 0, 0, 0.2);\n\t border-radius: 4px;\n\t}\n\t.${_className}::-webkit-scrollbar-track {\n\t background: rgba(0, 0, 0, 0.05);\n\t}\n\t${extraCss}\n\t`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"ScrollBar\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function SideBarContainer(props?: {\n\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\tsidebarPosition?: \"left\" | \"right\";\n\tgap?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function SideBarContainer(\n\tprops?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function SideBarContainer(\n\tprops?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tSideBarContainer(props, children ?? [html``]);\n\t}\n\tconst width = props?.sidebarWidth ?? \"240px\";\n\tconst pos = props?.sidebarPosition ?? \"left\";\n\tconst gap = props?.gap ?? \"0px\";\n\n\tlet sidebarContent = html``;\n\tlet mainContent = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\tsidebarContent = arr[0] ?? html``;\n\t\tmainContent = arr[1] ?? html``;\n\t} else {\n\t\tmainContent = renderFnOrArray(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${pos === \"left\" ? \"row\" : \"row-reverse\"};\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${width}; overflow: auto;\">${sidebarContent}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${mainContent}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n} from \"./core\";\n\ntype ScrollDirection = \"x\" | \"y\" | \"both\";\ntype ScrollBehavior = \"auto\" | \"smooth\";\ntype Alignment = \"start\" | \"center\" | \"end\" | \"none\";\ntype NavigationButtonPosition = \"inside\" | \"outside\" | \"none\";\ntype PaginationType = \"dots\" | \"bullets\" | \"fraction\" | \"progressbar\" | \"none\";\n\nexport interface SwiperProps {\n\tgap?: string | number;\n\tsnapType?: \"mandatory\" | \"proximity\";\n\theight?: string;\n\twidth?: string;\n\tclassName?: string;\n\tdirection?: ScrollDirection;\n\tscrollBehavior?: ScrollBehavior;\n\talign?: Alignment;\n\tshowNavigation?: boolean;\n\tnavigationPosition?: NavigationButtonPosition;\n\tshowPagination?: boolean;\n\tpaginationType?: PaginationType;\n\tautoPlay?: boolean;\n\tinterval?: number;\n\tloop?: boolean;\n\ttouchEnabled?: boolean;\n\tmouseWheel?: boolean;\n\tonSlideChange?: (index: number) => void;\n\ton?: OnEvent;\n}\n\n// 支持柯里化调用\nexport function Swiper(\n\tprops?: SwiperProps\n): (\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n) => TemplateResult<1>;\n\nexport function Swiper(\n\tprops?: SwiperProps,\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n): TemplateResult<1>;\n\nexport function Swiper(\n\tprops: SwiperProps = {},\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n):\n\t| ((\n\t\t\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n\t ) => TemplateResult<1>)\n\t| TemplateResult {\n\t// 如果没有传 slides,就返回一个“部分应用”的函数\n\tif (slides === undefined) {\n\t\treturn (slides?: TemplateResult<1>[] | (() => TemplateResult<1>[])) =>\n\t\t\tSwiper(props, slides ?? [html``]);\n\t}\n\n\tconst now = getComponentCount(\"Swiper\");\n\t// 解构 props,并设置默认值\n\tconst {\n\t\tgap = \"8px\",\n\t\tsnapType = \"mandatory\",\n\t\theight = \"auto\",\n\t\twidth = \"100%\",\n\t\tclassName = getRandomClassName(\"Swiper::swiper\") + `-lyco-now-${now}`,\n\t\tdirection = \"x\",\n\t\tscrollBehavior = \"smooth\",\n\t\talign = \"start\",\n\t\tshowNavigation = true,\n\t\tnavigationPosition = \"inside\",\n\t\tshowPagination = true,\n\t\tpaginationType = \"dots\",\n\t\tautoPlay = false,\n\t\tinterval = 3000,\n\t\tloop = false,\n\t\ttouchEnabled = true,\n\t\tmouseWheel = false,\n\t\tonSlideChange,\n\t\ton,\n\t} = props;\n\n\tconst _className = className;\n\tconst _containerClassName = _className + \"-container\";\n\tconst _slideClassName = _className + \"-slide\";\n\tconst _navigationClassName = _className + \"-navigation\";\n\tconst _paginationClassName = _className + \"-pagination\";\n\n\t// 将 slides 规范成数组\n\tlet _slides: TemplateResult<1>[];\n\tif (!slides) _slides = [];\n\telse if (typeof slides === \"function\") _slides = slides();\n\telse _slides = slides;\n\n\tconst slideCount = _slides.length;\n\n\t// 内部状态:当前索引\n\tconst [currentSlide, setCurrentSlide] = (() => {\n\t\tconst state = { value: 0 };\n\t\treturn [\n\t\t\t() => state.value,\n\t\t\t(index: number) => {\n\t\t\t\tconst newIndex = Math.max(0, Math.min(index, slideCount - 1));\n\t\t\t\tif (state.value !== newIndex) {\n\t\t\t\t\tstate.value = newIndex;\n\t\t\t\t\tonSlideChange?.(newIndex);\n\t\t\t\t}\n\t\t\t},\n\t\t];\n\t})();\n\n\t// 滚动到指定 slide\n\tconst scrollToSlide = (index: number) => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst slides = container.querySelectorAll(`.${_slideClassName}`);\n\t\tif (index < 0 || index >= slides.length) return;\n\n\t\tconst slide = slides[index] as HTMLElement;\n\t\tconst slideRect = slide.getBoundingClientRect();\n\t\tconst containerRect = container.getBoundingClientRect();\n\n\t\tlet scrollOffset: number;\n\t\tif (direction === \"x\") {\n\t\t\tscrollOffset = slide.offsetLeft - container.offsetLeft;\n\t\t\tif (align === \"center\") {\n\t\t\t\tscrollOffset -= (containerRect.width - slideRect.width) / 2;\n\t\t\t} else if (align === \"end\") {\n\t\t\t\tscrollOffset -= containerRect.width - slideRect.width;\n\t\t\t}\n\t\t\tcontainer.scrollTo({ left: scrollOffset, behavior: scrollBehavior });\n\t\t} else {\n\t\t\tscrollOffset = slide.offsetTop - container.offsetTop;\n\t\t\tif (align === \"center\") {\n\t\t\t\tscrollOffset -= (containerRect.height - slideRect.height) / 2;\n\t\t\t} else if (align === \"end\") {\n\t\t\t\tscrollOffset -= containerRect.height - slideRect.height;\n\t\t\t}\n\t\t\tcontainer.scrollTo({ top: scrollOffset, behavior: scrollBehavior });\n\t\t}\n\n\t\tsetCurrentSlide(index);\n\t};\n\n\t// 下一页/上一页\n\tconst nextSlide = () => {\n\t\tconst nextIndex =\n\t\t\tcurrentSlide() + 1 >= slideCount\n\t\t\t\t? loop\n\t\t\t\t\t? 0\n\t\t\t\t\t: currentSlide()\n\t\t\t\t: currentSlide() + 1;\n\t\tscrollToSlide(nextIndex);\n\t};\n\tconst prevSlide = () => {\n\t\tconst prevIndex =\n\t\t\tcurrentSlide() - 1 < 0\n\t\t\t\t? loop\n\t\t\t\t\t? slideCount - 1\n\t\t\t\t\t: currentSlide()\n\t\t\t\t: currentSlide() - 1;\n\t\tscrollToSlide(prevIndex);\n\t};\n\n\t// 监听滚动:找出最接近中心的 slide\n\tconst handleScroll = () => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst slides = container.querySelectorAll(`.${_slideClassName}`);\n\t\tlet closestIndex = 0;\n\t\tlet minDistance = Infinity;\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst slideRect = slide.getBoundingClientRect();\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\n\t\t\tlet distance: number;\n\t\t\tif (direction === \"x\") {\n\t\t\t\tconst centerOffset =\n\t\t\t\t\tslideRect.left +\n\t\t\t\t\tslideRect.width / 2 -\n\t\t\t\t\t(containerRect.left + containerRect.width / 2);\n\t\t\t\tdistance = Math.abs(centerOffset);\n\t\t\t} else {\n\t\t\t\tconst centerOffset =\n\t\t\t\t\tslideRect.top +\n\t\t\t\t\tslideRect.height / 2 -\n\t\t\t\t\t(containerRect.top + containerRect.height / 2);\n\t\t\t\tdistance = Math.abs(centerOffset);\n\t\t\t}\n\n\t\t\tif (distance < minDistance) {\n\t\t\t\tminDistance = distance;\n\t\t\t\tclosestIndex = index;\n\t\t\t}\n\t\t});\n\n\t\tsetCurrentSlide(closestIndex);\n\t};\n\n\t// Touch 事件\n\tconst handleTouchStart = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst touch = e.touches[0];\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tcontainer.dataset.touchStartX = touch.clientX.toString();\n\t\tcontainer.dataset.touchStartY = touch.clientY.toString();\n\t};\n\n\tconst handleTouchMove = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst touch = e.touches[0];\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tconst startX = parseFloat(container.dataset.touchStartX || \"0\");\n\t\tconst startY = parseFloat(container.dataset.touchStartY || \"0\");\n\t\tconst diffX = touch.clientX - startX;\n\t\tconst diffY = touch.clientY - startY;\n\n\t\tif (Math.abs(diffX) > Math.abs(diffY) || direction === \"x\") {\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tconst handleTouchEnd = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tconst startX = parseFloat(container.dataset.touchStartX || \"0\");\n\t\tconst startY = parseFloat(container.dataset.touchStartY || \"0\");\n\t\tif (!startX && !startY) return;\n\n\t\tconst touch = e.changedTouches[0];\n\t\tconst diffX = touch.clientX - startX;\n\t\tconst diffY = touch.clientY - startY;\n\n\t\tconst isSwipe = Math.max(Math.abs(diffX), Math.abs(diffY)) > 30;\n\t\tif (isSwipe) {\n\t\t\tif (direction === \"x\") {\n\t\t\t\tdiffX > 0 ? prevSlide() : nextSlide();\n\t\t\t} else {\n\t\t\t\tdiffY > 0 ? prevSlide() : nextSlide();\n\t\t\t}\n\t\t}\n\n\t\tdelete container.dataset.touchStartX;\n\t\tdelete container.dataset.touchStartY;\n\t};\n\n\t// 鼠标滚轮\n\tconst handleWheel = (e: WheelEvent) => {\n\t\tif (!mouseWheel) return;\n\t\te.preventDefault();\n\t\te.deltaY > 0 ? nextSlide() : prevSlide();\n\t};\n\n\t// 自动播放\n\tconst setupAutoPlay = (container: HTMLElement | null) => {\n\t\tif (!autoPlay || !container) return;\n\n\t\tlet autoplayInterval: ReturnType<typeof setInterval>;\n\n\t\tconst startAutoPlay = () => {\n\t\t\tautoplayInterval = setInterval(nextSlide, interval);\n\t\t};\n\t\tconst stopAutoPlay = () => {\n\t\t\tclearInterval(autoplayInterval);\n\t\t};\n\n\t\tcontainer.addEventListener(\"mouseenter\", stopAutoPlay);\n\t\tcontainer.addEventListener(\"mouseleave\", startAutoPlay);\n\n\t\tstartAutoPlay();\n\n\t\treturn () => {\n\t\t\tclearInterval(autoplayInterval);\n\t\t\tcontainer.removeEventListener(\"mouseenter\", stopAutoPlay);\n\t\t\tcontainer.removeEventListener(\"mouseleave\", startAutoPlay);\n\t\t};\n\t};\n\n\t// 只在客户端执行副作用:绑定各类事件、启动自动播放、初始化滚动\n\tconst runSideEffects = () => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst cleanupFns: (() => void)[] = [];\n\n\t\tcontainer.addEventListener(\"scroll\", handleScroll);\n\t\tcleanupFns.push(() =>\n\t\t\tcontainer.removeEventListener(\"scroll\", handleScroll)\n\t\t);\n\n\t\tif (touchEnabled) {\n\t\t\tcontainer.addEventListener(\"touchstart\", handleTouchStart);\n\t\t\tcontainer.addEventListener(\"touchmove\", handleTouchMove, {\n\t\t\t\tpassive: false,\n\t\t\t});\n\t\t\tcontainer.addEventListener(\"touchend\", handleTouchEnd);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchstart\", handleTouchStart)\n\t\t\t);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchmove\", handleTouchMove)\n\t\t\t);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchend\", handleTouchEnd)\n\t\t\t);\n\t\t}\n\n\t\tif (mouseWheel) {\n\t\t\tcontainer.addEventListener(\"wheel\", handleWheel, { passive: false });\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"wheel\", handleWheel)\n\t\t\t);\n\t\t}\n\n\t\tconst cleanupAutoPlay = setupAutoPlay(container);\n\t\tif (cleanupAutoPlay) cleanupFns.push(cleanupAutoPlay);\n\n\t\tscrollToSlide(0);\n\n\t\t// 如果你想在未来某个时机清理所有事件,可以调用:\n\t\t// cleanupFns.forEach(fn => fn());\n\t\treturn () => cleanupFns.forEach((fn) => fn());\n\t};\n\n\t// **SSR 优化**:只有在浏览器环境下才调度 runSideEffects\n\tif (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n\t\tsetTimeout(runSideEffects, 0);\n\t}\n\n\t// 生成分页 dots\n\tconst paginationDots = html`\n\t\t<div class=\"${_paginationClassName}\">\n\t\t\t${Array.from(\n\t\t\t\t{ length: slideCount },\n\t\t\t\t(_, i) => html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"${i === currentSlide() ? \"active\" : \"\"}\"\n\t\t\t\t\t\t@click=${() => scrollToSlide(i)}\n\t\t\t\t\t></button>\n\t\t\t\t`\n\t\t\t)}\n\t\t</div>\n\t`;\n\n\t// 生成分页 fraction\n\tconst paginationFraction = html`\n\t\t<div class=\"${_paginationClassName} fraction\">\n\t\t\t<span class=\"current\">${currentSlide() + 1}</span>\n\t\t\t<span class=\"separator\">/</span>\n\t\t\t<span class=\"total\">${slideCount}</span>\n\t\t</div>\n\t`;\n\n\t// 生成分页 progressbar\n\tconst paginationProgress = html`\n\t\t<div class=\"${_paginationClassName} progressbar\">\n\t\t\t<div\n\t\t\t\tclass=\"progress\"\n\t\t\t\tstyle=\"width: ${slideCount > 1\n\t\t\t\t\t? (currentSlide() / (slideCount - 1)) * 100\n\t\t\t\t\t: 0}%\"\n\t\t\t></div>\n\t\t</div>\n\t`;\n\n\t// 生成导航按钮\n\tconst navigationButtons = html`\n\t\t<div class=\"${_navigationClassName}\">\n\t\t\t<button class=\"prev\" @click=${prevSlide}>◀</button>\n\t\t\t<button class=\"next\" @click=${nextSlide}>▶</button>\n\t\t</div>\n\t`;\n\tconst css = `\n\t.${_className} {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\twidth: ${width};\n\t\theight: ${height};\n\t}\n\n\t.${_containerClassName} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: auto;\n\t\tscroll-snap-type: ${direction + \" \" + snapType};\n\t\t-webkit-overflow-scrolling: touch;\n\t\tscroll-behavior: ${scrollBehavior};\n\t\tgap: ${gap};\n\t\tdisplay: flex;\n\t\tflex-direction: ${direction === \"x\" ? \"row\" : \"column\"};\n\t}\n\n\t.${_slideClassName} {\n\t\tscroll-snap-align: ${align};\n\t\tflex-shrink: 0;\n\t}\n\n\t.${_navigationClassName} {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttransform: translateY(-50%);\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpointer-events: none;\n\t\tpadding: ${navigationPosition === \"outside\" ? \"0 1rem\" : \"0 0.5rem\"};\n\t}\n\n\t.${_navigationClassName} button {\n\t\twidth: 2.5rem;\n\t\theight: 2.5rem;\n\t\tborder-radius: 50%;\n\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\tcolor: white;\n\t\tborder: none;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: pointer;\n\t\tpointer-events: auto;\n\t\ttransition: background-color 0.3s;\n\t}\n\n\t.${_navigationClassName} button:hover {\n\t\tbackground-color: rgba(0, 0, 0, 0.8);\n\t}\n\n\t.${_paginationClassName} {\n\t\tposition: absolute;\n\t\tbottom: 1rem;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tgap: 0.5rem;\n\t\talign-items: center;\n\t}\n\t.${_paginationClassName} button {\n\t\twidth: 0.75rem;\n\t\theight: 0.75rem;\n\t\tborder-radius: 50%;\n\t\tbackground-color: rgba(255, 255, 255, 0.5);\n\t\tborder: none;\n\t\tcursor: pointer;\n\t\ttransition: background-color 0.3s, transform 0.3s;\n\t}\n\t.${_paginationClassName} button.active {\n\t\tbackground-color: white;\n\t\ttransform: scale(1.2);\n\t}\n\n\t.${_paginationClassName}.fraction {\n\t\tposition: absolute;\n\t\tbottom: 1rem;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\tcolor: white;\n\t\tfont-size: 1rem;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.25rem;\n\t}\n\n\t.${_paginationClassName}.progressbar {\n\t\tposition: absolute;\n\t\tbottom: 0.5rem;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 0.25rem;\n\t\tbackground-color: rgba(255, 255, 255, 0.2);\n\t}\n\t.${_paginationClassName}.progressbar .progress {\n\t\theight: 100%;\n\t\tbackground-color: white;\n\t\ttransition: width 0.3s;\n\t}\n\t`;\n\n\tconst binder = createEventBinder(on ?? {});\n\n\t// 最终返回的模板\n\treturn LycoComponent(\n\t\t\"Swiper\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">\n\t\t\t\t<div class=\"${_containerClassName}\">\n\t\t\t\t\t${_slides.map(\n\t\t\t\t\t\t(slide, index) => html`\n\t\t\t\t\t\t\t<div class=\"${_slideClassName} --slide-${index}\" key=${index}>\n\t\t\t\t\t\t\t\t${slide}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t${showNavigation ? navigationButtons : null}\n\t\t\t\t${showPagination && paginationType === \"dots\" ? paginationDots : null}\n\t\t\t\t${showPagination && paginationType === \"fraction\"\n\t\t\t\t\t? paginationFraction\n\t\t\t\t\t: null}\n\t\t\t\t${showPagination && paginationType === \"progressbar\"\n\t\t\t\t\t? paginationProgress\n\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnOrCurry,\n\trenderFnType,\n} from \"./core\";\n\ntype AbsoluteBoxProps = {\n\ttop?: string;\n\tright?: string;\n\tbottom?: string;\n\tleft?: string;\n\twidth?: string;\n\theight?: string;\n\tzIndex?: number;\n\tstyle?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function AbsoluteBox(\n\tprops?: AbsoluteBoxProps\n): (children?: renderFnType) => TemplateResult<1>;\n\nexport function AbsoluteBox(\n\tprops?: AbsoluteBoxProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function AbsoluteBox(props?: AbsoluteBoxProps, children?: renderFnType) {\n\tconst t = props?.top ? `top: ${props.top};` : \"\";\n\tconst r = props?.right ? `right: ${props.right};` : \"\";\n\tconst b = props?.bottom ? `bottom: ${props.bottom};` : \"\";\n\tconst l = props?.left ? `left: ${props.left};` : \"\";\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst z =\n\t\ttypeof props?.zIndex === \"number\" ? `z-index: ${props.zIndex};` : \"\";\n\tconst style = props?.style ? props.style : \"\";\n\tconst className = props?.className ? props.className : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children?: renderFnType) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${ref(binder.auto)}\n\t\t\t\tclass=\"${className}\"\n\t\t\t\tstyle=\"\n position: absolute;\n ${t} ${r} ${b} ${l}\n ${w} ${h}\n ${z}\n\t ${style}\n \"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`;\n\t};\n\treturn renderFnOrCurry(children, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArrayOrCurry,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface AcrylicBarProps {\n\twidth?: string; // 宽度,如 \"300px\" 或 \"50%\"\n\theight?: string; // 高度,如 \"auto\" 或 \"200px\"\n\ttop?: string; // 距离顶部距离,默认 \"20%\"\n\tbottom?: string; // 距离底部距离,默认 \"auto\"\n\tleft?: string; // 距离左侧距离,默认 \"50%\"\n\tright?: string; // 距离右侧距离,默认 \"auto\"\n\tbackground?: string; // 背景色,支持透明度,默认 \"rgba(255,255,255,0.3)\"\n\tblur?: string; // 模糊半径,默认 \"10px\"\n\tborderRadius?: string; // 圆角,默认 \"12px\"\n\tpadding?: string; // 内边距,默认 \"16px\"\n\tzIndex?: number; // z-index,默认 1000\n\ton?: OnEvent;\n}\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps,\n\tchildren?: renderFnOrArrayType\n) {\n\tconst w = props?.width ?? \"300px\";\n\tconst h = props?.height ?? \"auto\";\n\tconst top = props?.top ?? \"20%\";\n\tconst bottom = props?.bottom ?? \"auto\";\n\tconst left = props?.left ?? \"50%\";\n\tconst right = props?.right ?? \"auto\";\n\t// 如果 left 被设置为非 \"auto\",则让组件水平居中\n\tconst translateX = left !== \"auto\" ? \"transform: translateX(-50%);\" : \"\";\n\tconst bg = props?.background ?? \"rgba(255, 255, 255, 0.3)\";\n\tconst blur = props?.blur ?? \"10px\";\n\tconst br = props?.borderRadius ?? \"12px\";\n\tconst pd = props?.padding ?? \"16px\";\n\tconst z = props?.zIndex ?? 1000;\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children: TemplateResult) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${ref(binder.auto)}\n\t\t\t\tstyle=\"\n position: fixed;\n top: ${top};\n bottom: ${bottom};\n left: ${left};\n right: ${right};\n ${translateX}\n width: ${w};\n height: ${h};\n background: ${bg};\n backdrop-filter: blur(${blur});\n -webkit-backdrop-filter: blur(${blur});\n border-radius: ${br};\n padding: ${pd};\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n z-index: ${z};\n display: flex;\n flex-direction: column;\n \"\n\t\t\t>\n\t\t\t\t${children}\n\t\t\t</div>\n\t\t`;\n\t};\n\treturn renderFnOrArrayOrCurry(children, undefined, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface AspectRatioProps {\n\tratio: number; // 宽高比,例如 16/9、4/3\n\tmaxWidth?: string;\n\tbackground?: string;\n\toverflow?: string;\n\ton?: OnEvent;\n}\n\nexport function AspectRatio(\n\tprops: AspectRatioProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AspectRatio(\n\tprops: AspectRatioProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AspectRatio(\n\tprops: AspectRatioProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => AspectRatio(props, children ?? [html``]);\n\t}\n\tconst paddingTop = `${100 / props.ratio}%`;\n\tconst mw = props.maxWidth ? `max-width: ${props.maxWidth};` : \"\";\n\tconst bg = props.background ? `background: ${props.background};` : \"\";\n\tconst ov = props.overflow ?? \"hidden\";\n\tconst binder = createEventBinder(props.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: relative;\n width: 100%;\n ${mw}\n ${bg}\n overflow: ${ov};\n \"\n\t\t>\n\t\t\t<div style=\"width: 100%; padding-top: ${paddingTop};\"></div>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n \"\n\t\t\t>\n\t\t\t\t${renderFnOrArray(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function AutoFitGrid(props: {\n\tminItemWidth: string;\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function AutoFitGrid(\n\tprops: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function AutoFitGrid(\n\tprops: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => AutoFitGrid(props, children);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tAutoFitGrid(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst now = getComponentCount(\"AutoFitGrid\");\n\tconst _className =\n\t\tgetRandomClassName(\"AutoFitGrid::auto-fit-grid\") + \"-lyco-now-\" + now; // 生成随机类名\n\tconst gap = props?.gap ?? \"16px\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(${props.minItemWidth}, 1fr));\n gap: ${gap};\n }\n `;\n\tconst binder = createEventBinder(props.on ?? {});\n\treturn LycoComponent(\n\t\t\"AutoFitGrid\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div class=\"${_className}\" ${ref(binder.auto)}>${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function AvatarStack(props?: {\n\tsize?: string;\n\toverlap?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AvatarStack(\n\tprops?: { size?: string; overlap?: string; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AvatarStack(\n\tprops?: { size?: string; overlap?: string; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tAvatarStack(props, children ?? [html``]);\n\t}\n\tconst sz = props?.size ?? \"32px\";\n\tconst ov = props?.overlap ?? \"-8px\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst injectBox = (avatar: TemplateResult, idx?: number) => html`\n\t\t<div\n\t\t\tstyle=\"\n width: ${sz};\n height: ${sz};\n border-radius: 50%;\n overflow: hidden;\n border: 2px solid #fff;\n margin-left: ${idx === 0 ? \"0\" : ov};\n box-sizing: content-box;\n \"\n\t\t>\n\t\t\t${avatar}\n\t\t</div>\n\t`;\n\treturn html`\n\t\t<div ${ref(binder.auto)} style=\"display: flex; align-items: center;\">\n\t\t\t${renderFnOrArray(children, injectBox)}\n\t\t</div>\n\t`;\n}\n","// Badge.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface BadgeProps {\n\tcontent?: string | number;\n\tposition?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n\tsize?: string;\n\tbackground?: string;\n\tcolor?: string;\n\ton?: OnEvent;\n}\n\nexport function Badge(props?: BadgeProps): WithHtml<renderFnType>;\n\nexport function Badge(\n\tprops?: BadgeProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Badge(\n\tprops?: BadgeProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Badge(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tBadge(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst pos = props?.position ?? \"top-right\";\n\tconst size = props?.size ?? \"16px\";\n\tconst bg = props?.background ?? \"red\";\n\tconst col = props?.color ?? \"#fff\";\n\t// 计算定位\n\tconst [top, right, bottom, left] = [\n\t\tpos.includes(\"top\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"right\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"bottom\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"left\") ? \"0\" : \"auto\",\n\t];\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div style=\"position: relative; display: inline-block;\">\n\t\t\t${renderFn(children)}\n\t\t\t<div\n\t\t\t\t${ref(binder.auto)}\n\t\t\t\tstyle=\"\n position: absolute;\n top: ${top};\n right: ${right};\n bottom: ${bottom};\n left: ${left};\n width: ${size};\n height: ${size};\n background: ${bg};\n color: ${col};\n font-size: calc(${size} * 0.6);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n transform: translate(${left === \"0\"\n\t\t\t\t\t? \"-50%\"\n\t\t\t\t\t: left === \"auto\"\n\t\t\t\t\t? \"0\"\n\t\t\t\t\t: \"0\"}, ${top === \"0\" ? \"-50%\" : top === \"auto\" ? \"0\" : \"0\"});\n \"\n\t\t\t>\n\t\t\t\t${props?.content ?? \"\"}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { createRef, ref, RefOrCallback } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\n// 合并两个 ref 的辅助函数\nfunction combineRefs<T>(\n\tref1: RefOrCallback<T> | undefined,\n\tref2: RefOrCallback<T>\n): RefOrCallback<T> {\n\t// 如果 ref1 未定义则直接返回 ref2\n\tif (!ref1) return ref2;\n\treturn (el: T | undefined) => {\n\t\ttypeof ref1 === \"function\" ? ref1(el) : ((ref1 as any).current = el);\n\t\ttypeof ref2 === \"function\" ? ref2(el) : ((ref2 as any).current = el);\n\t};\n}\n\nexport function Canvas(props?: {\n\tclassName?: string;\n\tstyle?: string;\n\ton?: OnEvent;\n}): (initRef?: RefOrCallback<HTMLCanvasElement>) => TemplateResult<1>;\n\nexport function Canvas(\n\tprops?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tinitRef?: RefOrCallback<HTMLCanvasElement>\n): TemplateResult<1>;\n\nexport function Canvas(\n\tprops?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tinitRef?: RefOrCallback<HTMLCanvasElement>\n):\n\t| ((initRef?: RefOrCallback<HTMLCanvasElement>) => TemplateResult<1>)\n\t| TemplateResult<1> {\n\tif (!initRef) {\n\t\treturn (initRef?: RefOrCallback<HTMLCanvasElement>) =>\n\t\t\tCanvas(props, initRef ?? createRef()) as TemplateResult<1>;\n\t}\n\t// 绑定事件\n\tconst binder = createEventBinder(props?.on ?? {});\n\t// 合并外部引用与事件绑定引用\n\tconst combinedRef = combineRefs(\n\t\tinitRef as RefOrCallback<Element>,\n\t\tbinder.auto\n\t);\n\treturn html`\n\t\t<canvas\n\t\t\t${ref(combinedRef)}\n\t\t\t.class=${props?.className}\n\t\t\tstyle=${props?.style ?? \"\"}\n\t\t></canvas>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface CardProps {\n\tpadding?: string;\n\tborderRadius?: string;\n\tshadow?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}\n\nexport function Card(\n\tprops?: CardProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Card(\n\tprops?: CardProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Card(\n\tprops?: CardProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Card(props, children ?? [html``]);\n\t}\n\tconst pd = props?.padding ?? \"16px\";\n\tconst br = props?.borderRadius ?? \"8px\";\n\tconst sd = props?.shadow ?? \"0 2px 8px rgba(0,0,0,0.1)\";\n\tconst bg = props?.background ?? \"#fff\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n background: ${bg};\n border-radius: ${br};\n box-shadow: ${sd};\n padding: ${pd};\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\nexport function Center(props?: {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function Center(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Center(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Center(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tCenter(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n justify-content: center;\n align-items: center;\n ${w} ${h} ${bg}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport type ContainerProps = {\n\tmaxWidth?: string;\n\tpadding?: string;\n\tbackground?: string;\n\tfullHeight?: boolean;\n\ton?: OnEvent;\n};\n\nexport function Container(\n\tprops?: ContainerProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Container(\n\tprops?: ContainerProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Container(\n\tprops?: ContainerProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Container(props, children ?? [html``]);\n\t}\n\tconst mw = props?.maxWidth ?? \"1024px\";\n\tconst pad = props?.padding ?? \"0 16px\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst h = props?.fullHeight ? \"height: 100%;\" : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n width: 100%;\n max-width: ${mw};\n margin-left: auto;\n margin-right: auto;\n padding: ${pad};\n ${bg}\n ${h}\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function Divider(props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\n\ton?: OnEvent;\n}) {\n\tconst ori = props?.orientation ?? \"horizontal\";\n\tconst thickness = props?.thickness ?? \"1px\";\n\tconst color = props?.color ?? \"#e0e0e0\";\n\tconst margin = props?.margin ?? (ori === \"horizontal\" ? \"8px 0\" : \"0 8px\");\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\tconst style =\n\t\tori === \"horizontal\"\n\t\t\t? `width: 100%; height: ${thickness}; background: ${color}; margin: ${margin};`\n\t\t\t: `width: ${thickness}; height: 100%; background: ${color}; margin: ${margin};`;\n\n\treturn html`<div ${ref(binder.auto)} style=\"${style}\"></div>`;\n}\n","// FooterLayout.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface FooterLayoutProps {\n\tcolumns?: number;\n\tgap?: string;\n\tbackground?: string;\n\tpadding?: string;\n\ton?: OnEvent;\n}\n\nexport function FooterLayout(props?: FooterLayoutProps): WithHtml<renderFnType>;\n\nexport function FooterLayout(\n\tprops?: FooterLayoutProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function FooterLayout(\n\tprops?: FooterLayoutProps,\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tFooterLayout(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFooterLayout(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst cols = props?.columns ?? 4;\n\tconst gap = props?.gap ?? \"24px\";\n\tconst bg = props?.background ?? \"#f8f8f8\";\n\tconst pad = props?.padding ?? \"40px 16px\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n width: 100%;\n background: ${bg};\n padding: ${pad};\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle=\"\n display: grid;\n grid-template-columns: repeat(${cols}, 1fr);\n gap: ${gap};\n \"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t\t<div style=\"text-align: center; margin-top: 24px; color: #666;\">\n\t\t\t\t© ${new Date().getFullYear()} Your Company. All rights reserved.\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { TemplateResult } from \"lit\";\n\nexport function ForEach<T extends any[]>(\n\titem: T\n): (\n\trender: (item: T[number], index: number) => TemplateResult<1>\n) => TemplateResult<1>[];\n\nexport function ForEach<T extends any[]>(\n\titem: T,\n\trender: (item: T[number], index: number) => TemplateResult<1>\n): TemplateResult<1>[];\n\nexport function ForEach<T extends any[]>(\n\titem: T,\n\trender?: (item: T[number], index: number) => TemplateResult<1>\n):\n\t| TemplateResult<1>[]\n\t| ((\n\t\t\trender: (item: T[number], index: number) => TemplateResult<1>\n\t ) => TemplateResult<1>[]) {\n\tif (render) {\n\t\treturn item.map((value, index) => render(value, index));\n\t} else {\n\t\treturn (render: (item: T[number], index: number) => TemplateResult<1>) =>\n\t\t\titem.map((value, index) => render(value, index));\n\t}\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport type GridBreakpointProps = {\n\tbreakpoints: Record<string, number>;\n\tdefaultColumns?: number;\n\tgap?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps\n): WithHtml<renderFnType>;\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tGridBreakpoint(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridBreakpoint(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst defCols = props.defaultColumns ?? 1;\n\tconst gap = props.gap ?? \"16px\";\n\tconst now = getComponentCount(\"GridBreakpoint\");\n\tconst _className =\n\t\tprops.className ??\n\t\tgetRandomClassName(\"GridBreakpoint::grid-breakpoint\") + \"-lyco-now-\" + now;\n\t// 生成媒体查询 CSS\n\tconst mqCss = Object.entries(props.breakpoints)\n\t\t.map(\n\t\t\t([query, cols]) =>\n\t\t\t\t\"@media\" +\n\t\t\t\tquery +\n\t\t\t\t\"{\\n\" +\n\t\t\t\t_className +\n\t\t\t\t\"{ grid-template-columns: repeat(\" +\n\t\t\t\tcols +\n\t\t\t\t\", 1fr); }\\n\" +\n\t\t\t\t\"}\"\n\t\t)\n\t\t.join(\"\\n\");\n\tconst css = `\n\t.${_className} {\n\t display: grid;\n\t grid-template-columns: repeat(${defCols}, 1fr);\n\t gap: ${gap};\n\t}\n\t${mqCss}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridBreakpoint\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function HeroSection(props?: {\n\tbackgroundImage?: string;\n\theight?: string;\n\toverlayColor?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function HeroSection(\n\tprops?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function HeroSection(\n\tprops?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => HeroSection(props, children ?? [html``]);\n\t}\n\n\tconst bgImage = props?.backgroundImage\n\t\t? `background-image: url('${props.backgroundImage}');`\n\t\t: \"\";\n\tconst height = props?.height ?? \"400px\";\n\tconst overlay = props?.overlayColor ?? \"rgba(0, 0, 0, 0.3)\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: relative;\n width: 100%;\n height: ${height};\n ${bgImage}\n background-size: cover;\n background-position: center;\n \"\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: absolute;\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${overlay};\n \"\n\t\t\t></div>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: relative;\n z-index: 1;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: #fff;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n \"\n\t\t\t>\n\t\t\t\t${renderFnOrArray(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","// Hidden.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport type HiddenProps = {\n\tbreakpoint?: string;\n\tmode?: \"hide\" | \"show\";\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function Hidden(props?: HiddenProps): WithHtml<renderFnType>;\n\nexport function Hidden(\n\tprops?: HiddenProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Hidden(\n\tprops?: HiddenProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Hidden(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tHidden(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst bp = props?.breakpoint ?? \"(max-width: 600px)\";\n\tconst mode = props?.mode ?? \"hide\";\n\tconst now = getComponentCount(\"Hidden\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"Hidden::hidden-container\") + \"-lyco-now-\" + now;\n\tconst styleContent =\n\t\tmode === \"hide\"\n\t\t\t? `@media ${bp} { .${_className} { display: none !important; } }`\n\t\t\t: `@media ${bp} { .${_className} { display: block !important; } }\n @media not ${bp} { .${_className} { display: none !important; } }`;\n\tconst css = `\n\t.${_className} {\n\t display: block;\n\t}\n\t${styleContent}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"Hidden\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">${renderFn(children)}</div>\n\t\t`\n\t);\n}\n","// 假设以下代码存放在 Lyco/src/components/List.ts 文件中\nimport { html, TemplateResult } from \"lit\";\nimport {\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\n// ListItem 组件\nexport function ListItem(children?: renderFnOrArrayType): TemplateResult<1> {\n\treturn html` <li>${renderFnOrArray(children)}</li> `;\n}\n\n// List 组件\nexport function List(props?: {\n\tbordered?: boolean;\n\tstriped?: boolean;\n\thover?: boolean;\n\tclassName?: string;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function List(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function List(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t},\n\tchildren?: renderFnOrArrayType\n): ((children?: renderFnOrArrayType) => TemplateResult<1>) | TemplateResult<1> {\n\tconst bordered = props?.bordered\n\t\t? `border: 1px solid #ddd; border-radius: 4px`\n\t\t: \"\";\n\tconst striped = props?.striped\n\t\t? `li:nth-child(even) { background: #f9f9f9; }`\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `li:hover { background: #f1f1f1; cursor: pointer; }`\n\t\t: \"\";\n\tconst now = getComponentCount(\"List\");\n\tconst _className =\n\t\tprops?.className ?? getRandomClassName(\"List::list\") + `-lyco-now-${now}`;\n\n\tconst css = `\n ul.${_className} {\n\t list-style: none;\n\t margin: 0;\n\t padding: 0;\n\t ${bordered};\n\t}\n\tul.${_className} li {\n\t padding: 12px 16px;\n\t ${props?.bordered ? \"border-bottom: 1px solid #ddd\" : \"\"};\n\t}\n\tul.${_className} li:last-child {\n\t ${props?.bordered ? \"border-bottom: none\" : \"\"};\n\t}\n\t${striped}\n\t${hover}\n `.toString();\n\tconst render = (children?: renderFnOrArrayType) =>\n\t\tLycoComponent(\n\t\t\t\"List\",\n\t\t\thtml`\n\t\t\t\t<style>\n\t\t\t\t\t${css}\n\t\t\t\t</style>\n\t\t\t\t<ul class=\"${_className}\">\n\t\t\t\t\t${renderFnOrArray(children)}\n\t\t\t\t</ul>\n\t\t\t`\n\t\t);\n\n\treturn children === undefined ? render : render(children);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayOrCurry,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function ListGroup(props?: {\n\tbordered?: boolean;\n\tstriped?: boolean;\n\thover?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function ListGroup(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function ListGroup(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n) {\n\tconst bordered = props?.bordered\n\t\t? `border: 1px solid #ddd; border-radius: 4px`\n\t\t: \"\";\n\tconst striped = props?.striped\n\t\t? `li:nth-child(even) { background: #f9f9f9; }`\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `li:hover { background: #f1f1f1; cursor: pointer; }`\n\t\t: \"\";\n\tconst now = getComponentCount(\"ListGroup\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"ListGroup::list-group\") + \"-lyco-now-\" + now;\n\tconst injectRender = (\n\t\tchildren: TemplateResult<1>,\n\t\t_idx?: number,\n\t\tisArray?: boolean,\n\t\t_isFunc?: boolean\n\t) => {\n\t\tif (!isArray) {\n\t\t\treturn children;\n\t\t} else {\n\t\t\treturn html` <li>${children}</li> `;\n\t\t}\n\t};\n\tconst css = `\n\tul.${_className} {\n\t list-style: none;\n\t margin: 0;\n\t padding: 0;\n\t ${bordered};\n\t}\n\tul.${_className} li {\n\t padding: 12px 16px;\n\t ${props?.bordered ? \"border-bottom: 1px solid #ddd\" : \"\"};\n\t}\n\tul.${_className} li:last-child {\n\t ${props?.bordered ? \"border-bottom: none\" : \"\"};\n\t}\n\t${striped}\n\t${hover}\n\t`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children: TemplateResult<1> | TemplateResult<1>[]) =>\n\t\tLycoComponent(\n\t\t\t\"ListGroup\",\n\t\t\thtml`\n\t\t\t\t<style>\n\t\t\t\t\t${css}\n\t\t\t\t</style>\n\t\t\t\t<ul ${ref(binder.auto)} class=\"${_className}\">\n\t\t\t\t\t${renderFnOrArray(children, injectRender)}\n\t\t\t\t</ul>\n\t\t\t`\n\t\t);\n\n\treturn renderFnOrArrayOrCurry(children, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Overlay(props?: {\n\tbackground?: string;\n\tzIndex?: number;\n\tfullScreen?: boolean;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Overlay(\n\tprops?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Overlay(\n\tprops?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tOverlay(props, children ?? [html``]);\n\t}\n\tconst bg = props?.background ?? \"rgba(0, 0, 0, 0.5)\";\n\tconst z = props?.zIndex ?? 1000;\n\tconst full = props?.fullScreen !== false;\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: ${full ? \"fixed\" : \"absolute\"};\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${bg};\n z-index: ${z};\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function PositionContainer(props?: {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function PositionContainer(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function PositionContainer(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tPositionContainer(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tPositionContainer(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: relative;\n ${w} ${h} ${bg}\n overflow: hidden;\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function SizedBox(props?: {\n\twidth?: string;\n\theight?: string;\n\ton?: OnEvent;\n}) {\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`<div ${ref(binder.auto)} style=\"${w} ${h}\"></div>`;\n}\n","// SkeletonLoader.ts\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n} from \"./core\";\n\nexport function SkeletonLoader(props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}) {\n\tconst type = props?.type ?? \"rect\";\n\tconst w = props?.width ?? \"100%\";\n\tconst h = props?.height ?? \"16px\";\n\tconst br = props?.borderRadius ?? \"4px\";\n\tconst anim = props?.animation !== false;\n\tconst now = getComponentCount(\"SkeletonLoader\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"SkeletonLoader::skeleton-shimmer\") + \"-lyco-now-\" + now;\n\tconst shapeStyle =\n\t\ttype === \"circle\"\n\t\t\t? `border-radius: 50%; width: ${w}; height: ${w}`\n\t\t\t: `border-radius: ${br}; width: ${w}; height: ${h}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"SkeletonLoader\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${`\n\t@keyframes ${_className + \"-shimmer\"} {\n\t 0% { background-color: #eee; }\n\t 50% { background-color: #ddd; }\n\t 100% { background-color: #eee; }\n\t} \n\t`}\n\t\t\t\t.${_className} {\n\t\t\t\t ${shapeStyle};\n\t\t\t\t background-color: #eee;\n\t\t\t\t ${anim\n\t\t\t\t\t? `animation: ${_className + \"-shimmer\"} 1.2s infinite ease-in-out`\n\t\t\t\t\t: \"\"};\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\"></div>\n\t\t`\n\t);\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function Spacer(props?: { on?: OnEvent }) {\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`<div ${ref(binder.auto)} style=\"flex: 1 1 auto;\"></div>`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface StickyProps {\n\ttop?: string;\n\tbottom?: string;\n\tzIndex?: number;\n\ton?: OnEvent;\n}\n\nexport function Sticky(props?: StickyProps): WithHtml<renderFnType>;\n\nexport function Sticky(\n\tprops?: StickyProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\nexport function Sticky(\n\tprops?: StickyProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Sticky(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tSticky(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst top = props?.top ? `top: ${props.top};` : \"\";\n\tconst bottom = props?.bottom ? `bottom: ${props.bottom};` : \"\";\n\tconst z =\n\t\ttypeof props?.zIndex === \"number\" ? `z-index: ${props.zIndex};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: sticky;\n ${top} ${bottom}\n ${z}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport interface TableProps {\n\tstriped?: boolean;\n\thover?: boolean;\n\tbordered?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}\n\nexport function Table(props?: TableProps): WithHtml<renderFnType>;\n\nexport function Table(\n\tprops?: TableProps,\n\tchildren?: renderFnType // TemplateResult | (() => TemplateResult)\n): TemplateResult<1>;\n\nexport function Table(\n\tprops?: TableProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\t// 如果第二个参数 children 没传,则返回一个只接收 children 的函数\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Table(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tTable(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst now = getComponentCount(\"Table\");\n\n\t// 到这里说明 props 和 children 都已经传齐\n\tconst _className =\n\t\tprops?.className ?? getRandomClassName(\"Table::table\") + `-lyco-now-${now}`;\n\tconst striped = props?.striped\n\t\t? `\n .${_className} tr:nth-child(even) { background: #f9f9f9; }\n `\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `\n .${_className} tr:hover { background: #f1f1f1; }\n `\n\t\t: \"\";\n\tconst bordered = props?.bordered\n\t\t? `\n .${_className}, .${_className} th, .${_className} td { border: 1px solid #ddd; }\n `\n\t\t: \"\";\n\n\tconst css = `\n\t/* 将表格包裹在带有 _className 的 div 里,使后续 CSS 作用于该 div 下的 table */\n\t.${_className} table {\n\t width: 100%;\n\t border-collapse: collapse;\n\t}\n\t.${_className} th,\n\t.${_className} td {\n\t padding: 8px 12px;\n\t text-align: left;\n\t}\n\t${striped}\n\t${hover}\n\t${bordered}\n\t`;\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn LycoComponent(\n\t\t\"Table\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div ${ref(binder.auto)} class=\"${_className}\">\n\t\t\t\t<table>\n\t\t\t\t\t${renderFn(children)}\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface WrapProps {\n\tdirection?: \"row\" | \"column\";\n\tgap?: string | number;\n\talign?: string;\n\tjustify?: string;\n\t// 新增 on 属性\n\ton?: OnEvent;\n}\n\nexport function Wrap(\n\tprops?: WrapProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Wrap(\n\tprops?: WrapProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Wrap(\n\tprops?: WrapProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst dir = props?.direction ?? \"row\";\n\t// 创建事件绑定器\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children) => Wrap(props, children ?? html``);\n\t}\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${dir};\n flex-wrap: wrap;\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n ${props?.align ? `align-items: ${props.align};` : \"\"}\n ${props?.justify ? `justify-content: ${props.justify};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface ZStackProps {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\talign?: \"top-left\" | \"top-right\" | \"center\" | \"bottom-left\" | \"bottom-right\";\n\ton?: OnEvent;\n}\n\nexport function ZStack(\n\tprops?: ZStackProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function ZStack(\n\tprops?: ZStackProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function ZStack(\n\tprops?: ZStackProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tZStack(props, children ?? [html``]);\n\t}\n\n\tlet justify = \"flex-start\";\n\tlet alignItems = \"flex-start\";\n\tswitch (props?.align) {\n\t\tcase \"top-right\":\n\t\t\tjustify = \"flex-end\";\n\t\t\talignItems = \"flex-start\";\n\t\t\tbreak;\n\t\tcase \"center\":\n\t\t\tjustify = \"center\";\n\t\t\talignItems = \"center\";\n\t\t\tbreak;\n\t\tcase \"bottom-left\":\n\t\t\tjustify = \"flex-start\";\n\t\t\talignItems = \"flex-end\";\n\t\t\tbreak;\n\t\tcase \"bottom-right\":\n\t\t\tjustify = \"flex-end\";\n\t\t\talignItems = \"flex-end\";\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// \"top-left\"\n\t\t\tjustify = \"flex-start\";\n\t\t\talignItems = \"flex-start\";\n\t}\n\n\treturn html`\n\t\t<div\n\t\t\t${ref(binder.auto)}\n\t\t\tstyle=\"\n position: relative;\n display: flex;\n justify-content: ${justify};\n align-items: ${alignItems};\n ${w} ${h} ${bg}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.cjs.js","names":["t","i","s","e","h","o","n","r","l","c","u","d","f","v","m","p","a","y","x","M","t","o","i","n","e","c","f","s","r","l","h","e","t","i","i","t","e","o","h","n","r","i","t","s","e","fn?: renderFnType","fnOrArray?: renderFnOrArrayType","injectBox?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>","prefix?: string","injectBox?: (box: TemplateResult<1>) => TemplateResult<1>","f?: renderFnType","injectBox?: (\n\t\tbox: TemplateResult<1> | TemplateResult<1>[]\n\t) => TemplateResult<1> | TemplateResult<1>[]","injectBox2?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>","f?: renderFnOrArrayType","prefix: string","key: keyof typeof allRandomClassName","componentCount: ComponentCount","name: string","slot: TemplateResult<1>","el: EventTarget","on: Array<[string, EventHandler<any>]>","eventListeners: Map<string, EventListener>","handler: (event: Event) => void","options: boolean | AddEventListenerOptions | undefined","event: Event","on: OnEvent","el?: Element","props?: { fadeBg?: string; zIndex?: number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: FlexProps","children?: renderFnType","children: renderFnType","strings: TemplateStringsArray","props?: { on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { columns?: number; gap?: string | number; on?: OnEvent }","children?: renderFnOrArrayType","props?: { gap?: string | number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { span?: number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { gap?: string | number; on?: OnEvent }","children?: renderFnType","strings: TemplateStringsArray","props?: { space?: string | number; on?: OnEvent }","children?: renderFnOrArrayType","props?: WaterFlowProps","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props: SwiperProps","slides?: TemplateResult<1>[] | (() => TemplateResult<1>[])","_slides: TemplateResult<1>[]","index: number","scrollOffset: number","distance: number","e: TouchEvent","e: WheelEvent","container: HTMLElement | null","autoplayInterval: ReturnType<typeof setInterval>","cleanupFns: (() => void)[]","props?: AbsoluteBoxProps","children?: renderFnType","props?: AcrylicBarProps","children?: renderFnOrArrayType","children: TemplateResult","props: AspectRatioProps","children?: renderFnOrArrayType","props: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: { size?: string; overlap?: string; on?: OnEvent }","children?: renderFnOrArrayType","avatar: TemplateResult","idx?: number","props?: BadgeProps","children?: renderFnType","strings: TemplateStringsArray","ref1: RefOrCallback<T> | undefined","ref2: RefOrCallback<T>","el: T | undefined","props?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t}","initRef?: RefOrCallback<HTMLCanvasElement>","props?: CardProps","children?: renderFnOrArrayType","props?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: ContainerProps","children?: renderFnOrArrayType","props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\n\ton?: OnEvent;\n}","props?: FooterLayoutProps","children?: renderFnType","strings: TemplateStringsArray","item: T","render?: (item: T[number], index: number) => TemplateResult<1>","render: (item: T[number], index: number) => TemplateResult<1>","props: GridBreakpointProps","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: HiddenProps","children?: renderFnType","strings: TemplateStringsArray","children?: renderFnOrArrayType","props?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t}","props?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","children: TemplateResult<1>","_idx?: number","isArray?: boolean","_isFunc?: boolean","children: TemplateResult<1> | TemplateResult<1>[]","props?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t}","children?: renderFnOrArrayType","props?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t}","children?: renderFnType","strings: TemplateStringsArray","props?: {\n\twidth?: string;\n\theight?: string;\n\ton?: OnEvent;\n}","props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}","props?: { on?: OnEvent }","props?: StickyProps","children?: renderFnType","strings: TemplateStringsArray","props?: TableProps","children?: renderFnType","strings: TemplateStringsArray","props?: WrapProps","children?: renderFnOrArrayType","props?: ZStackProps","children?: renderFnOrArrayType"],"sources":["../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/lit-html.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directive-helpers.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directive.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/async-directive.js","../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directives/ref.js","../src/components/core.ts","../src/components/LightboxContainer.ts","../src/components/Column.ts","../src/components/Flex.ts","../src/components/FlowItem.ts","../src/components/Grid.ts","../src/components/GridCol.ts","../src/components/GridItem.ts","../src/components/GridRow.ts","../src/components/Row.ts","../src/components/WaterFlow.ts","../src/components/ColumnSplit.ts","../src/components/RowSplit.ts","../src/components/ScrollBar.ts","../src/components/SideBarContainer.ts","../src/components/Swiper.ts","../src/components/AbsoluteBox.ts","../src/components/AcrylicBar.ts","../src/components/AspectRatio.ts","../src/components/AutoFitGrid.ts","../src/components/AvatarStack.ts","../src/components/Badge.ts","../src/components/Canvas.ts","../src/components/Card.ts","../src/components/Center.ts","../src/components/Container.ts","../src/components/Divider.ts","../src/components/FooterLayout.ts","../src/components/ForEach.ts","../src/components/GridBreakpoint.ts","../src/components/HeroSection.ts","../src/components/Hidden.ts","../src/components/List.ts","../src/components/ListGroup.ts","../src/components/Overlay.ts","../src/components/PositionContainer.ts","../src/components/SizedBox.ts","../src/components/SkeletonLoader.ts","../src/components/Spacer.ts","../src/components/Sticky.ts","../src/components/Table.ts","../src/components/Wrap.ts","../src/components/ZStack.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import { html, TemplateResult } from \"lit\";\n\nconst ___LYCO_NULL___ = Symbol(\"___LYCO_NULL___\");\n\nexport type renderFnType = TemplateResult<1> | (() => TemplateResult<1>);\n\nexport type renderFnOrArrayType =\n\t| renderFnType\n\t| Array<TemplateResult<1>>\n\t| (() => TemplateResult<1>[]);\n\nexport function renderFn(fn?: renderFnType): TemplateResult<1> {\n\treturn fn ? (typeof fn === \"function\" ? fn() : fn) : html``;\n}\n\nexport type WithHtml<K> = ((children?: K) => TemplateResult<1>) & {\n\thtml: (\n\t\tstrings: TemplateStringsArray,\n\t\t...values: unknown[]\n\t) => TemplateResult<1>;\n};\n\nexport function renderFnOrArray(\n\tfnOrArray?: renderFnOrArrayType,\n\tinjectBox?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>\n): TemplateResult<1> | TemplateResult<1>[] {\n\tlet _injectBox = injectBox ?? ((box) => box);\n\tif (fnOrArray === undefined) {\n\t\treturn html``;\n\t}\n\tif (Array.isArray(fnOrArray)) {\n\t\treturn fnOrArray.map((htmlTemp, idx) =>\n\t\t\t_injectBox(renderFn(htmlTemp), idx, true, false)\n\t\t);\n\t} else if (typeof fnOrArray !== \"function\") {\n\t\treturn _injectBox(renderFn(fnOrArray), undefined, false, false);\n\t}\n\n\tconst result = fnOrArray();\n\tif (Array.isArray(result)) {\n\t\treturn result.map((htmlTemp, idx) =>\n\t\t\t_injectBox(renderFn(htmlTemp), idx, true, false)\n\t\t);\n\t} else {\n\t\treturn _injectBox(renderFn(result), undefined, false, true);\n\t}\n}\n\nexport function randomClassName(prefix?: string): string {\n\tconst random = Math.random().toString(36).substring(2, 15);\n\treturn prefix ? `lyco-${prefix}-${random}` : `lyco-${random}`;\n}\n\nexport function renderFnOrCurry(\n\tfn?: renderFnType,\n\tinjectBox?: (box: TemplateResult<1>) => TemplateResult<1>\n): TemplateResult<1> | ((fn?: renderFnType) => TemplateResult<1>) {\n\tconst _injectBox = injectBox ?? ((box) => box);\n\tconst curriedFn = (f?: renderFnType) => _injectBox(renderFn(f!));\n\n\treturn fn ? curriedFn(fn) : curriedFn;\n}\n\nexport function renderFnOrArrayOrCurry(\n\tfnOrArray?: renderFnOrArrayType,\n\tinjectBox?: (\n\t\tbox: TemplateResult<1> | TemplateResult<1>[]\n\t) => TemplateResult<1> | TemplateResult<1>[],\n\tinjectBox2?: (\n\t\tbox: TemplateResult<1>,\n\t\tidx?: number,\n\t\tisArray?: boolean,\n\t\tisFunc?: boolean\n\t) => TemplateResult<1>\n):\n\t| TemplateResult<1>\n\t| TemplateResult<1>[]\n\t| ((\n\t\t\tfnOrArray?: renderFnOrArrayType\n\t ) => TemplateResult<1> | TemplateResult<1>[]) {\n\tconst _injectBox = injectBox ?? ((box) => box);\n\tconst curriedFn = (f?: renderFnOrArrayType) =>\n\t\t_injectBox(renderFnOrArray(f, injectBox2)!);\n\n\treturn fnOrArray ? curriedFn(fnOrArray) : curriedFn;\n}\n\nconst withInit = (\n\tprefix: string\n): {\n\tinit: boolean;\n\tprefix: string;\n\tclassName: string | typeof ___LYCO_NULL___;\n} => ({\n\tinit: false,\n\tprefix,\n\tclassName: ___LYCO_NULL___,\n});\n\nconst allRandomClassName = {\n\t\"GridBreakpoint::grid-breakpoint\": withInit(\"grid-breakpoint\"),\n\t\"Hidden::hidden-container\": withInit(\"hidden-container\"),\n\t\"ListGroup::list-group\": withInit(\"list-group\"),\n\t\"ScrollBar::scrollbar-container\": withInit(\"scrollbar-container\"),\n\t\"SkeletonLoader::skeleton-shimmer\": withInit(\"skeleton-shimmer\"),\n\t\"Swiper::swiper\": withInit(\"swiper\"),\n\t\"Table::table\": withInit(\"table\"),\n\t\"WaterFlow::waterflow\": withInit(\"waterflow\"),\n\t\"AutoFitGrid::auto-fit-grid\": withInit(\"auto-fit-grid\"),\n\t\"GridCol::grid-col\": withInit(\"grid-col\"),\n\t\"GridRow::grid-row\": withInit(\"grid-row\"),\n\t\"List::list\": withInit(\"list\"),\n};\n\nexport function getRandomClassName(key: keyof typeof allRandomClassName) {\n\tconst r = allRandomClassName[key];\n\tif (!r.init) {\n\t\tallRandomClassName[key].init = true;\n\t\tallRandomClassName[key].className = randomClassName(r.prefix);\n\t}\n\treturn allRandomClassName[key].className === ___LYCO_NULL___\n\t\t? randomClassName(r.prefix)\n\t\t: allRandomClassName[key].className;\n}\ntype ComponentCountItem = {\n\tvalue: number;\n};\n\ntype ComponentCount = {\n\t[key: string]: ComponentCountItem;\n} & {\n\tall: ComponentCountItem; // 修改为 ComponentCountItem 类型\n};\nexport const componentCount: ComponentCount = {\n\tall: { value: 0 },\n};\n\nexport function getComponentCount(name: string) {\n\tif (!componentCount[name]?.value) {\n\t\tcomponentCount[name] = { value: 0 };\n\t}\n\treturn componentCount[name].value;\n}\n\nexport function LycoComponent(name: string, slot: TemplateResult<1>) {\n\tcomponentCount.all = {\n\t\tvalue: componentCount.all.value + 1,\n\t};\n\tcomponentCount[name] === undefined\n\t\t? (componentCount[name] = { value: 0 })\n\t\t: (componentCount[name].value = componentCount[name].value + 1);\n\t// console.debug(\n\t// \t`LycoComponent: ${name} - ${componentCount[name].value} - ${componentCount.all.value}`\n\t// );\n\treturn html`\n\t\t<!-- ${name} - ${componentCount[name].value} -->\n\t\t${slot}\n\t`;\n}\n\n// type EventType = \"click\" | \"mousedown\" | \"mouseup\" | \"mousemove\" | \"touchstart\" | \"touchend\" | \"touchmove\";\n\n// class OnEvent<T extends HTMLElement> {\n// \tel: T;\n// \tconstructor(el: T) {\n// \t\tthis.el = el;\n// \t}\n// \t// 具体事件 监听方法\n// \ton<K extends keyof GlobalEventHandlersEventMap>(\n// \t\ttype: K,\n// \t\tlistener: (this: T, ev: GlobalEventHandlersEventMap[K]) => any\n// \t): void {\n// \t\t(this.el as any)[\"on\" + type] = listener;\n// \t}\n// }\n\ntype EventHandler<K extends keyof GlobalEventHandlersEventMap> =\n\t| ((event: GlobalEventHandlersEventMap[K]) => void)\n\t| {\n\t\t\thandler: (event: GlobalEventHandlersEventMap[K]) => void;\n\t\t\toptions?: boolean | AddEventListenerOptions;\n\t };\n\nexport type OnEvent = {\n\t[K in keyof GlobalEventHandlersEventMap]?: EventHandler<K>;\n};\nexport function bindEvents(\n\tel: EventTarget,\n\ton: Array<[string, EventHandler<any>]>,\n\teventListeners: Map<string, EventListener>\n): void {\n\ton.forEach(([name, entry]) => {\n\t\tif (eventListeners.has(name)) {\n\t\t\tel.removeEventListener(name, eventListeners.get(name)!);\n\t\t}\n\n\t\tlet handler: (event: Event) => void;\n\t\tlet options: boolean | AddEventListenerOptions | undefined;\n\n\t\tif (typeof entry === \"function\") {\n\t\t\thandler = entry;\n\t\t\toptions = undefined;\n\t\t} else {\n\t\t\thandler = entry.handler;\n\t\t\toptions = entry.options;\n\t\t}\n\n\t\tconst listener = (event: Event) => handler(event);\n\t\tel.addEventListener(name, listener, options);\n\t\teventListeners.set(name, listener);\n\t});\n}\n\nexport function createEventBinder(on: OnEvent) {\n\tconst eventListeners = new Map<string, EventListener>();\n\tconst _on = Object.entries(on);\n\treturn {\n\t\tbind(el: EventTarget) {\n\t\t\tbindEvents(el, _on, eventListeners);\n\t\t},\n\t\tunbindAll() {\n\t\t\teventListeners.clear();\n\t\t},\n\t\tauto(el?: Element) {\n\t\t\tel ? this.bind(el) : this.unbindAll();\n\t\t},\n\t};\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function LightboxContainer(props?: {\n\tfadeBg?: string;\n\tzIndex?: number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function LightboxContainer(\n\tprops?: { fadeBg?: string; zIndex?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function LightboxContainer(\n\tprops?: { fadeBg?: string; zIndex?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tLightboxContainer(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tLightboxContainer(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst bg = props?.fadeBg ?? \"rgba(0,0,0,0.7)\";\n\tconst z = props?.zIndex ?? 2000;\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: fixed;\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${bg};\n z-index: ${z};\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Column(props?: {\n\tspace?: string | number;\n\tclassName?: string;\n\tstyle?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Column(\n\tprops?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Column(\n\tprops?: {\n\t\tspace?: string | number;\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children) => Column(props, children ?? [html``]);\n\t}\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\t.class=\"${props?.className}\"\n\t\t\tstyle=\"\n display: flex;\n flex-direction: column;\n ${props?.space ? `gap: ${props.space};` : \"\"}\n ${props?.style ?? \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface FlexProps {\n\tdirection?: \"row\" | \"column\";\n\tjustify?: string;\n\talign?: string;\n\tgap?: string | number;\n\ton?: OnEvent;\n}\n\nexport function Flex(props?: FlexProps): WithHtml<renderFnType>;\n\nexport function Flex(\n\tprops?: FlexProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Flex(props?: FlexProps, children?: renderFnType) {\n\tif (children === undefined) {\n\t\tconst _ = (children: renderFnType) => Flex(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFlex(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst dir = props?.direction ?? \"row\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${dir};\n ${props?.justify ? `justify-content: ${props.justify};` : \"\"}\n ${props?.align ? `align-items: ${props.align};` : \"\"}\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function FlowItem(props?: { on?: OnEvent }): WithHtml<renderFnType>;\nexport function FlowItem(\n\tprops?: { on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function FlowItem(\n\tprops?: { on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => FlowItem(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFlowItem(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"break-inside: avoid; margin-bottom: 16px;\"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Grid(props?: {\n\tcolumns?: number;\n\tgap?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Grid(\n\tprops?: { columns?: number; gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Grid(\n\tprops?: { columns?: number; gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Grid(props, children ?? [html``]);\n\t}\n\tconst cols = props?.columns ?? 1;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: grid;\n grid-template-columns: repeat(${cols}, 1fr);\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridCol(props?: {\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridCol(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridCol(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridCol(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridCol(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst now = getComponentCount(\"GridCol\");\n\tconst _className =\n\t\tgetRandomClassName(\"GridCol::grid-col\") + \"-lyco-now-\" + now;\n\tconst gapStyle = props?.gap ? `column-gap: ${props.gap};` : \"\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-auto-flow: column;\n ${gapStyle}\n }\n `;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridCol\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridItem(props?: {\n\tspan?: number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridItem(\n\tprops?: { span?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridItem(\n\tprops?: { span?: number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridItem(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridItem(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"${props?.span ? `grid-column: span ${props.span};` : \"\"}\"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function GridRow(props?: {\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function GridRow(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridRow(\n\tprops?: { gap?: string | number; on?: OnEvent },\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => GridRow(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridRow(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst now = getComponentCount(\"GridRow\");\n\tconst _className =\n\t\tgetRandomClassName(\"GridRow::grid-row\") + \"-lyco-now-\" + now;\n\tconst gapStyle = props?.gap ? `row-gap: ${props.gap};` : \"\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-auto-flow: row;\n ${gapStyle}\n }\n `;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridRow\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Row(props?: {\n\tspace?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Row(\n\tprops?: { space?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Row(\n\tprops?: { space?: string | number; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) => Row(props, children ?? [html``]);\n\t}\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: row;\n ${props?.space ? `gap: ${props.space};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport interface WaterFlowProps {\n\tcolumnCount?: number;\n\tgap?: string | number;\n\ton?: OnEvent;\n}\n\nexport function WaterFlow(props?: WaterFlowProps): WithHtml<renderFnType>;\n\nexport function WaterFlow(\n\tprops?: WaterFlowProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function WaterFlow(\n\tprops?: WaterFlowProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\t// 如果只传了 props,不传 children,则返回一个接收 children 的函数\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tWaterFlow(props, children ?? html``) as TemplateResult<1>;\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tWaterFlow(props, html(strings, ...values)) as TemplateResult<1>;\n\t\treturn _;\n\t}\n\n\t// 解构 props,并设置默认值\n\tconst count = props?.columnCount ?? 3;\n\tconst gapValue = props?.gap ?? \"16px\";\n\tconst now = getComponentCount(\"WaterFlow\");\n\t// 生成一个随机 className,方便后续扩展样式或避免样式冲突\n\tconst _className =\n\t\tgetRandomClassName(\"WaterFlow::waterflow\") + `-lyco-now-${now}`;\n\n\tconst css = `\n\t/* 使用 CSS 类来控制多列布局 */\n\t.${_className} {\n\t\tcolumn-count: ${count};\n\t\tcolumn-gap: ${typeof gapValue === \"number\" ? `${gapValue}px` : gapValue};\n\t}\n\t/* 子元素如果是块级元素,需要让它们适应多列流式布局 */\n\t.${_className} > * {\n\t\tdisplay: inline-block;\n\t\twidth: 100%;\n\t}\n\t`;\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn LycoComponent(\n\t\t\"WaterFlow\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function ColumnSplit(props?: {\n\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function ColumnSplit(\n\tprops?: {\n\t\tfirstHeight?: string; // 第个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function ColumnSplit(\n\tprops?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tColumnSplit(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tColumnSplit(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst gap = props?.gap ?? \"0px\";\n\tconst firstH = props?.firstHeight ?? \"50%\";\n\n\tlet topNode = html``;\n\tlet bottomNode = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\ttopNode = arr[0] ?? html``;\n\t\tbottomNode = arr[1] ?? html``;\n\t} else {\n\t\ttopNode = renderFn(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${firstH}; overflow: auto;\">${topNode}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${bottomNode}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function RowSplit(props?: {\n\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function RowSplit(\n\tprops?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function RowSplit(\n\tprops?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => RowSplit(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tRowSplit(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst gap = props?.gap ?? \"0px\";\n\tconst firstW = props?.firstWidth ?? \"50%\";\n\n\tlet leftNode = html``;\n\tlet rightNode = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\tleftNode = arr[0] ?? html``;\n\t\trightNode = arr[1] ?? html``;\n\t} else {\n\t\tleftNode = renderFn(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${firstW}; overflow: auto;\">${leftNode}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${rightNode}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function ScrollBar(props?: {\n\tdirection?: \"vertical\" | \"horizontal\";\n\theight?: string;\n\twidth?: string;\n\tcustomCss?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function ScrollBar(\n\tprops?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function ScrollBar(\n\tprops?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => ScrollBar(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tScrollBar(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst dir = props?.direction ?? \"vertical\";\n\tconst h = props?.height ?? \"100%\";\n\tconst w = props?.width ?? \"100%\";\n\tconst extraCss = props?.customCss ?? \"\";\n\tconst now = getComponentCount(\"ScrollBar\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"ScrollBar::scrollbar-container\") + \"-lyco-now-\" + now;\n\tconst overflowStyle =\n\t\tdir === \"horizontal\"\n\t\t\t? \"overflow-x: auto; overflow-y: hidden\"\n\t\t\t: \"overflow-y: auto; overflow-x: hidden\";\n\n\tconst css = `\n\t.${_className} {\n\t ${overflowStyle};\n\t width: ${w};\n\t height: ${h};\n\t}\n\t.${_className}::-webkit-scrollbar {\n\t width: 8px;\n\t height: 8px;\n\t}\n\t.${_className}::-webkit-scrollbar-thumb {\n\t background-color: rgba(0, 0, 0, 0.2);\n\t border-radius: 4px;\n\t}\n\t.${_className}::-webkit-scrollbar-track {\n\t background: rgba(0, 0, 0, 0.05);\n\t}\n\t${extraCss}\n\t`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"ScrollBar\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function SideBarContainer(props?: {\n\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\tsidebarPosition?: \"left\" | \"right\";\n\tgap?: string | number;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function SideBarContainer(\n\tprops?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function SideBarContainer(\n\tprops?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tSideBarContainer(props, children ?? [html``]);\n\t}\n\tconst width = props?.sidebarWidth ?? \"240px\";\n\tconst pos = props?.sidebarPosition ?? \"left\";\n\tconst gap = props?.gap ?? \"0px\";\n\n\tlet sidebarContent = html``;\n\tlet mainContent = html``;\n\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tconst arr = (children as any).call?.(null) ?? [];\n\t\tsidebarContent = arr[0] ?? html``;\n\t\tmainContent = arr[1] ?? html``;\n\t} else {\n\t\tmainContent = renderFnOrArray(children) as any;\n\t}\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${pos === \"left\" ? \"row\" : \"row-reverse\"};\n width: 100%;\n height: 100%;\n gap: ${gap};\n \"\n\t\t>\n\t\t\t<div style=\"flex: 0 0 ${width}; overflow: auto;\">${sidebarContent}</div>\n\t\t\t<div style=\"flex: 1 1 auto; overflow: auto;\">${mainContent}</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n} from \"./core\";\n\ntype ScrollDirection = \"x\" | \"y\" | \"both\";\ntype ScrollBehavior = \"auto\" | \"smooth\";\ntype Alignment = \"start\" | \"center\" | \"end\" | \"none\";\ntype NavigationButtonPosition = \"inside\" | \"outside\" | \"none\";\ntype PaginationType = \"dots\" | \"bullets\" | \"fraction\" | \"progressbar\" | \"none\";\n\nexport interface SwiperProps {\n\tgap?: string | number;\n\tsnapType?: \"mandatory\" | \"proximity\";\n\theight?: string;\n\twidth?: string;\n\tclassName?: string;\n\tdirection?: ScrollDirection;\n\tscrollBehavior?: ScrollBehavior;\n\talign?: Alignment;\n\tshowNavigation?: boolean;\n\tnavigationPosition?: NavigationButtonPosition;\n\tshowPagination?: boolean;\n\tpaginationType?: PaginationType;\n\tautoPlay?: boolean;\n\tinterval?: number;\n\tloop?: boolean;\n\ttouchEnabled?: boolean;\n\tmouseWheel?: boolean;\n\tonSlideChange?: (index: number) => void;\n\ton?: OnEvent;\n}\n\n// 支持柯里化调用\nexport function Swiper(\n\tprops?: SwiperProps\n): (\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n) => TemplateResult<1>;\n\nexport function Swiper(\n\tprops?: SwiperProps,\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n): TemplateResult<1>;\n\nexport function Swiper(\n\tprops: SwiperProps = {},\n\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n):\n\t| ((\n\t\t\tslides?: TemplateResult<1>[] | (() => TemplateResult<1>[])\n\t ) => TemplateResult<1>)\n\t| TemplateResult {\n\t// 如果没有传 slides,就返回一个“部分应用”的函数\n\tif (slides === undefined) {\n\t\treturn (slides?: TemplateResult<1>[] | (() => TemplateResult<1>[])) =>\n\t\t\tSwiper(props, slides ?? [html``]);\n\t}\n\n\tconst now = getComponentCount(\"Swiper\");\n\t// 解构 props,并设置默认值\n\tconst {\n\t\tgap = \"8px\",\n\t\tsnapType = \"mandatory\",\n\t\theight = \"auto\",\n\t\twidth = \"100%\",\n\t\tclassName = getRandomClassName(\"Swiper::swiper\") + `-lyco-now-${now}`,\n\t\tdirection = \"x\",\n\t\tscrollBehavior = \"smooth\",\n\t\talign = \"start\",\n\t\tshowNavigation = true,\n\t\tnavigationPosition = \"inside\",\n\t\tshowPagination = true,\n\t\tpaginationType = \"dots\",\n\t\tautoPlay = false,\n\t\tinterval = 3000,\n\t\tloop = false,\n\t\ttouchEnabled = true,\n\t\tmouseWheel = false,\n\t\tonSlideChange,\n\t\ton,\n\t} = props;\n\n\tconst _className = className;\n\tconst _containerClassName = _className + \"-container\";\n\tconst _slideClassName = _className + \"-slide\";\n\tconst _navigationClassName = _className + \"-navigation\";\n\tconst _paginationClassName = _className + \"-pagination\";\n\n\t// 将 slides 规范成数组\n\tlet _slides: TemplateResult<1>[];\n\tif (!slides) _slides = [];\n\telse if (typeof slides === \"function\") _slides = slides();\n\telse _slides = slides;\n\n\tconst slideCount = _slides.length;\n\n\t// 内部状态:当前索引\n\tconst [currentSlide, setCurrentSlide] = (() => {\n\t\tconst state = { value: 0 };\n\t\treturn [\n\t\t\t() => state.value,\n\t\t\t(index: number) => {\n\t\t\t\tconst newIndex = Math.max(0, Math.min(index, slideCount - 1));\n\t\t\t\tif (state.value !== newIndex) {\n\t\t\t\t\tstate.value = newIndex;\n\t\t\t\t\tonSlideChange?.(newIndex);\n\t\t\t\t}\n\t\t\t},\n\t\t];\n\t})();\n\n\t// 滚动到指定 slide\n\tconst scrollToSlide = (index: number) => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst slides = container.querySelectorAll(`.${_slideClassName}`);\n\t\tif (index < 0 || index >= slides.length) return;\n\n\t\tconst slide = slides[index] as HTMLElement;\n\t\tconst slideRect = slide.getBoundingClientRect();\n\t\tconst containerRect = container.getBoundingClientRect();\n\n\t\tlet scrollOffset: number;\n\t\tif (direction === \"x\") {\n\t\t\tscrollOffset = slide.offsetLeft - container.offsetLeft;\n\t\t\tif (align === \"center\") {\n\t\t\t\tscrollOffset -= (containerRect.width - slideRect.width) / 2;\n\t\t\t} else if (align === \"end\") {\n\t\t\t\tscrollOffset -= containerRect.width - slideRect.width;\n\t\t\t}\n\t\t\tcontainer.scrollTo({ left: scrollOffset, behavior: scrollBehavior });\n\t\t} else {\n\t\t\tscrollOffset = slide.offsetTop - container.offsetTop;\n\t\t\tif (align === \"center\") {\n\t\t\t\tscrollOffset -= (containerRect.height - slideRect.height) / 2;\n\t\t\t} else if (align === \"end\") {\n\t\t\t\tscrollOffset -= containerRect.height - slideRect.height;\n\t\t\t}\n\t\t\tcontainer.scrollTo({ top: scrollOffset, behavior: scrollBehavior });\n\t\t}\n\n\t\tsetCurrentSlide(index);\n\t};\n\n\t// 下一页/上一页\n\tconst nextSlide = () => {\n\t\tconst nextIndex =\n\t\t\tcurrentSlide() + 1 >= slideCount\n\t\t\t\t? loop\n\t\t\t\t\t? 0\n\t\t\t\t\t: currentSlide()\n\t\t\t\t: currentSlide() + 1;\n\t\tscrollToSlide(nextIndex);\n\t};\n\tconst prevSlide = () => {\n\t\tconst prevIndex =\n\t\t\tcurrentSlide() - 1 < 0\n\t\t\t\t? loop\n\t\t\t\t\t? slideCount - 1\n\t\t\t\t\t: currentSlide()\n\t\t\t\t: currentSlide() - 1;\n\t\tscrollToSlide(prevIndex);\n\t};\n\n\t// 监听滚动:找出最接近中心的 slide\n\tconst handleScroll = () => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst slides = container.querySelectorAll(`.${_slideClassName}`);\n\t\tlet closestIndex = 0;\n\t\tlet minDistance = Infinity;\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst slideRect = slide.getBoundingClientRect();\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\n\t\t\tlet distance: number;\n\t\t\tif (direction === \"x\") {\n\t\t\t\tconst centerOffset =\n\t\t\t\t\tslideRect.left +\n\t\t\t\t\tslideRect.width / 2 -\n\t\t\t\t\t(containerRect.left + containerRect.width / 2);\n\t\t\t\tdistance = Math.abs(centerOffset);\n\t\t\t} else {\n\t\t\t\tconst centerOffset =\n\t\t\t\t\tslideRect.top +\n\t\t\t\t\tslideRect.height / 2 -\n\t\t\t\t\t(containerRect.top + containerRect.height / 2);\n\t\t\t\tdistance = Math.abs(centerOffset);\n\t\t\t}\n\n\t\t\tif (distance < minDistance) {\n\t\t\t\tminDistance = distance;\n\t\t\t\tclosestIndex = index;\n\t\t\t}\n\t\t});\n\n\t\tsetCurrentSlide(closestIndex);\n\t};\n\n\t// Touch 事件\n\tconst handleTouchStart = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst touch = e.touches[0];\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tcontainer.dataset.touchStartX = touch.clientX.toString();\n\t\tcontainer.dataset.touchStartY = touch.clientY.toString();\n\t};\n\n\tconst handleTouchMove = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst touch = e.touches[0];\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tconst startX = parseFloat(container.dataset.touchStartX || \"0\");\n\t\tconst startY = parseFloat(container.dataset.touchStartY || \"0\");\n\t\tconst diffX = touch.clientX - startX;\n\t\tconst diffY = touch.clientY - startY;\n\n\t\tif (Math.abs(diffX) > Math.abs(diffY) || direction === \"x\") {\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tconst handleTouchEnd = (e: TouchEvent) => {\n\t\tif (!touchEnabled) return;\n\t\tconst container = e.currentTarget as HTMLElement;\n\t\tconst startX = parseFloat(container.dataset.touchStartX || \"0\");\n\t\tconst startY = parseFloat(container.dataset.touchStartY || \"0\");\n\t\tif (!startX && !startY) return;\n\n\t\tconst touch = e.changedTouches[0];\n\t\tconst diffX = touch.clientX - startX;\n\t\tconst diffY = touch.clientY - startY;\n\n\t\tconst isSwipe = Math.max(Math.abs(diffX), Math.abs(diffY)) > 30;\n\t\tif (isSwipe) {\n\t\t\tif (direction === \"x\") {\n\t\t\t\tdiffX > 0 ? prevSlide() : nextSlide();\n\t\t\t} else {\n\t\t\t\tdiffY > 0 ? prevSlide() : nextSlide();\n\t\t\t}\n\t\t}\n\n\t\tdelete container.dataset.touchStartX;\n\t\tdelete container.dataset.touchStartY;\n\t};\n\n\t// 鼠标滚轮\n\tconst handleWheel = (e: WheelEvent) => {\n\t\tif (!mouseWheel) return;\n\t\te.preventDefault();\n\t\te.deltaY > 0 ? nextSlide() : prevSlide();\n\t};\n\n\t// 自动播放\n\tconst setupAutoPlay = (container: HTMLElement | null) => {\n\t\tif (!autoPlay || !container) return;\n\n\t\tlet autoplayInterval: ReturnType<typeof setInterval>;\n\n\t\tconst startAutoPlay = () => {\n\t\t\tautoplayInterval = setInterval(nextSlide, interval);\n\t\t};\n\t\tconst stopAutoPlay = () => {\n\t\t\tclearInterval(autoplayInterval);\n\t\t};\n\n\t\tcontainer.addEventListener(\"mouseenter\", stopAutoPlay);\n\t\tcontainer.addEventListener(\"mouseleave\", startAutoPlay);\n\n\t\tstartAutoPlay();\n\n\t\treturn () => {\n\t\t\tclearInterval(autoplayInterval);\n\t\t\tcontainer.removeEventListener(\"mouseenter\", stopAutoPlay);\n\t\t\tcontainer.removeEventListener(\"mouseleave\", startAutoPlay);\n\t\t};\n\t};\n\n\t// 只在客户端执行副作用:绑定各类事件、启动自动播放、初始化滚动\n\tconst runSideEffects = () => {\n\t\tconst container =\n\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t? (document.querySelector(\n\t\t\t\t\t\t`.${_containerClassName}`\n\t\t\t\t ) as HTMLElement | null)\n\t\t\t\t: null;\n\t\tif (!container) return;\n\n\t\tconst cleanupFns: (() => void)[] = [];\n\n\t\tcontainer.addEventListener(\"scroll\", handleScroll);\n\t\tcleanupFns.push(() =>\n\t\t\tcontainer.removeEventListener(\"scroll\", handleScroll)\n\t\t);\n\n\t\tif (touchEnabled) {\n\t\t\tcontainer.addEventListener(\"touchstart\", handleTouchStart);\n\t\t\tcontainer.addEventListener(\"touchmove\", handleTouchMove, {\n\t\t\t\tpassive: false,\n\t\t\t});\n\t\t\tcontainer.addEventListener(\"touchend\", handleTouchEnd);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchstart\", handleTouchStart)\n\t\t\t);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchmove\", handleTouchMove)\n\t\t\t);\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"touchend\", handleTouchEnd)\n\t\t\t);\n\t\t}\n\n\t\tif (mouseWheel) {\n\t\t\tcontainer.addEventListener(\"wheel\", handleWheel, { passive: false });\n\t\t\tcleanupFns.push(() =>\n\t\t\t\tcontainer.removeEventListener(\"wheel\", handleWheel)\n\t\t\t);\n\t\t}\n\n\t\tconst cleanupAutoPlay = setupAutoPlay(container);\n\t\tif (cleanupAutoPlay) cleanupFns.push(cleanupAutoPlay);\n\n\t\tscrollToSlide(0);\n\n\t\t// 如果你想在未来某个时机清理所有事件,可以调用:\n\t\t// cleanupFns.forEach(fn => fn());\n\t\treturn () => cleanupFns.forEach((fn) => fn());\n\t};\n\n\t// **SSR 优化**:只有在浏览器环境下才调度 runSideEffects\n\tif (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n\t\tsetTimeout(runSideEffects, 0);\n\t}\n\n\t// 生成分页 dots\n\tconst paginationDots = html`\n\t\t<div class=\"${_paginationClassName}\">\n\t\t\t${Array.from(\n\t\t\t\t{ length: slideCount },\n\t\t\t\t(_, i) => html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"${i === currentSlide() ? \"active\" : \"\"}\"\n\t\t\t\t\t\t@click=${() => scrollToSlide(i)}\n\t\t\t\t\t></button>\n\t\t\t\t`\n\t\t\t)}\n\t\t</div>\n\t`;\n\n\t// 生成分页 fraction\n\tconst paginationFraction = html`\n\t\t<div class=\"${_paginationClassName} fraction\">\n\t\t\t<span class=\"current\">${currentSlide() + 1}</span>\n\t\t\t<span class=\"separator\">/</span>\n\t\t\t<span class=\"total\">${slideCount}</span>\n\t\t</div>\n\t`;\n\n\t// 生成分页 progressbar\n\tconst paginationProgress = html`\n\t\t<div class=\"${_paginationClassName} progressbar\">\n\t\t\t<div\n\t\t\t\tclass=\"progress\"\n\t\t\t\tstyle=\"width: ${slideCount > 1\n\t\t\t\t\t? (currentSlide() / (slideCount - 1)) * 100\n\t\t\t\t\t: 0}%\"\n\t\t\t></div>\n\t\t</div>\n\t`;\n\n\t// 生成导航按钮\n\tconst navigationButtons = html`\n\t\t<div class=\"${_navigationClassName}\">\n\t\t\t<button class=\"prev\" @click=${prevSlide}>◀</button>\n\t\t\t<button class=\"next\" @click=${nextSlide}>▶</button>\n\t\t</div>\n\t`;\n\tconst css = `\n\t.${_className} {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\twidth: ${width};\n\t\theight: ${height};\n\t}\n\n\t.${_containerClassName} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: auto;\n\t\tscroll-snap-type: ${direction + \" \" + snapType};\n\t\t-webkit-overflow-scrolling: touch;\n\t\tscroll-behavior: ${scrollBehavior};\n\t\tgap: ${gap};\n\t\tdisplay: flex;\n\t\tflex-direction: ${direction === \"x\" ? \"row\" : \"column\"};\n\t}\n\n\t.${_slideClassName} {\n\t\tscroll-snap-align: ${align};\n\t\tflex-shrink: 0;\n\t}\n\n\t.${_navigationClassName} {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttransform: translateY(-50%);\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpointer-events: none;\n\t\tpadding: ${navigationPosition === \"outside\" ? \"0 1rem\" : \"0 0.5rem\"};\n\t}\n\n\t.${_navigationClassName} button {\n\t\twidth: 2.5rem;\n\t\theight: 2.5rem;\n\t\tborder-radius: 50%;\n\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\tcolor: white;\n\t\tborder: none;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: pointer;\n\t\tpointer-events: auto;\n\t\ttransition: background-color 0.3s;\n\t}\n\n\t.${_navigationClassName} button:hover {\n\t\tbackground-color: rgba(0, 0, 0, 0.8);\n\t}\n\n\t.${_paginationClassName} {\n\t\tposition: absolute;\n\t\tbottom: 1rem;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tgap: 0.5rem;\n\t\talign-items: center;\n\t}\n\t.${_paginationClassName} button {\n\t\twidth: 0.75rem;\n\t\theight: 0.75rem;\n\t\tborder-radius: 50%;\n\t\tbackground-color: rgba(255, 255, 255, 0.5);\n\t\tborder: none;\n\t\tcursor: pointer;\n\t\ttransition: background-color 0.3s, transform 0.3s;\n\t}\n\t.${_paginationClassName} button.active {\n\t\tbackground-color: white;\n\t\ttransform: scale(1.2);\n\t}\n\n\t.${_paginationClassName}.fraction {\n\t\tposition: absolute;\n\t\tbottom: 1rem;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\tcolor: white;\n\t\tfont-size: 1rem;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.25rem;\n\t}\n\n\t.${_paginationClassName}.progressbar {\n\t\tposition: absolute;\n\t\tbottom: 0.5rem;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 0.25rem;\n\t\tbackground-color: rgba(255, 255, 255, 0.2);\n\t}\n\t.${_paginationClassName}.progressbar .progress {\n\t\theight: 100%;\n\t\tbackground-color: white;\n\t\ttransition: width 0.3s;\n\t}\n\t`;\n\n\tconst binder = createEventBinder(on ?? {});\n\n\t// 最终返回的模板\n\treturn LycoComponent(\n\t\t\"Swiper\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t<div class=\"${_containerClassName}\">\n\t\t\t\t\t${_slides.map(\n\t\t\t\t\t\t(slide, index) => html`\n\t\t\t\t\t\t\t<div class=\"${_slideClassName} --slide-${index}\" key=${index}>\n\t\t\t\t\t\t\t\t${slide}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t${showNavigation ? navigationButtons : null}\n\t\t\t\t${showPagination && paginationType === \"dots\" ? paginationDots : null}\n\t\t\t\t${showPagination && paginationType === \"fraction\"\n\t\t\t\t\t? paginationFraction\n\t\t\t\t\t: null}\n\t\t\t\t${showPagination && paginationType === \"progressbar\"\n\t\t\t\t\t? paginationProgress\n\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnOrCurry,\n\trenderFnType,\n} from \"./core\";\n\ntype AbsoluteBoxProps = {\n\ttop?: string;\n\tright?: string;\n\tbottom?: string;\n\tleft?: string;\n\twidth?: string;\n\theight?: string;\n\tzIndex?: number;\n\tstyle?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function AbsoluteBox(\n\tprops?: AbsoluteBoxProps\n): (children?: renderFnType) => TemplateResult<1>;\n\nexport function AbsoluteBox(\n\tprops?: AbsoluteBoxProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function AbsoluteBox(props?: AbsoluteBoxProps, children?: renderFnType) {\n\tconst t = props?.top ? `top: ${props.top};` : \"\";\n\tconst r = props?.right ? `right: ${props.right};` : \"\";\n\tconst b = props?.bottom ? `bottom: ${props.bottom};` : \"\";\n\tconst l = props?.left ? `left: ${props.left};` : \"\";\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst z =\n\t\ttypeof props?.zIndex === \"number\" ? `z-index: ${props.zIndex};` : \"\";\n\tconst style = props?.style ? props.style : \"\";\n\tconst className = props?.className ? props.className : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children?: renderFnType) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${className}\"\n\t\t\t\tstyle=\"\n position: absolute;\n ${t} ${r} ${b} ${l}\n ${w} ${h}\n ${z}\n\t ${style}\n \"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`;\n\t};\n\treturn renderFnOrCurry(children, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArrayOrCurry,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface AcrylicBarProps {\n\twidth?: string; // 宽度,如 \"300px\" 或 \"50%\"\n\theight?: string; // 高度,如 \"auto\" 或 \"200px\"\n\ttop?: string; // 距离顶部距离,默认 \"20%\"\n\tbottom?: string; // 距离底部距离,默认 \"auto\"\n\tleft?: string; // 距离左侧距离,默认 \"50%\"\n\tright?: string; // 距离右侧距离,默认 \"auto\"\n\tbackground?: string; // 背景色,支持透明度,默认 \"rgba(255,255,255,0.3)\"\n\tblur?: string; // 模糊半径,默认 \"10px\"\n\tborderRadius?: string; // 圆角,默认 \"12px\"\n\tpadding?: string; // 内边距,默认 \"16px\"\n\tzIndex?: number; // z-index,默认 1000\n\ton?: OnEvent;\n}\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AcrylicBar(\n\tprops?: AcrylicBarProps,\n\tchildren?: renderFnOrArrayType\n) {\n\tconst w = props?.width ?? \"300px\";\n\tconst h = props?.height ?? \"auto\";\n\tconst top = props?.top ?? \"20%\";\n\tconst bottom = props?.bottom ?? \"auto\";\n\tconst left = props?.left ?? \"50%\";\n\tconst right = props?.right ?? \"auto\";\n\t// 如果 left 被设置为非 \"auto\",则让组件水平居中\n\tconst translateX = left !== \"auto\" ? \"transform: translateX(-50%);\" : \"\";\n\tconst bg = props?.background ?? \"rgba(255, 255, 255, 0.3)\";\n\tconst blur = props?.blur ?? \"10px\";\n\tconst br = props?.borderRadius ?? \"12px\";\n\tconst pd = props?.padding ?? \"16px\";\n\tconst z = props?.zIndex ?? 1000;\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children: TemplateResult) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tstyle=\"\n position: fixed;\n top: ${top};\n bottom: ${bottom};\n left: ${left};\n right: ${right};\n ${translateX}\n width: ${w};\n height: ${h};\n background: ${bg};\n backdrop-filter: blur(${blur});\n -webkit-backdrop-filter: blur(${blur});\n border-radius: ${br};\n padding: ${pd};\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n z-index: ${z};\n display: flex;\n flex-direction: column;\n \"\n\t\t\t>\n\t\t\t\t${children}\n\t\t\t</div>\n\t\t`;\n\t};\n\treturn renderFnOrArrayOrCurry(children, undefined, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface AspectRatioProps {\n\tratio: number; // 宽高比,例如 16/9、4/3\n\tmaxWidth?: string;\n\tbackground?: string;\n\toverflow?: string;\n\ton?: OnEvent;\n}\n\nexport function AspectRatio(\n\tprops: AspectRatioProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AspectRatio(\n\tprops: AspectRatioProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AspectRatio(\n\tprops: AspectRatioProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => AspectRatio(props, children ?? [html``]);\n\t}\n\tconst paddingTop = `${100 / props.ratio}%`;\n\tconst mw = props.maxWidth ? `max-width: ${props.maxWidth};` : \"\";\n\tconst bg = props.background ? `background: ${props.background};` : \"\";\n\tconst ov = props.overflow ?? \"hidden\";\n\tconst binder = createEventBinder(props.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: relative;\n width: 100%;\n ${mw}\n ${bg}\n overflow: ${ov};\n \"\n\t\t>\n\t\t\t<div style=\"width: 100%; padding-top: ${paddingTop};\"></div>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n \"\n\t\t\t>\n\t\t\t\t${renderFnOrArray(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function AutoFitGrid(props: {\n\tminItemWidth: string;\n\tgap?: string | number;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function AutoFitGrid(\n\tprops: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function AutoFitGrid(\n\tprops: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => AutoFitGrid(props, children);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tAutoFitGrid(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst now = getComponentCount(\"AutoFitGrid\");\n\tconst _className =\n\t\tgetRandomClassName(\"AutoFitGrid::auto-fit-grid\") + \"-lyco-now-\" + now; // 生成随机类名\n\tconst gap = props?.gap ?? \"16px\";\n\tconst css = `\n .${_className} {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(${props.minItemWidth}, 1fr));\n gap: ${gap};\n }\n `;\n\tconst binder = createEventBinder(props.on ?? {});\n\treturn LycoComponent(\n\t\t\"AutoFitGrid\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\tclass=\"${_className}\"\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function AvatarStack(props?: {\n\tsize?: string;\n\toverlap?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function AvatarStack(\n\tprops?: { size?: string; overlap?: string; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function AvatarStack(\n\tprops?: { size?: string; overlap?: string; on?: OnEvent },\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tAvatarStack(props, children ?? [html``]);\n\t}\n\tconst sz = props?.size ?? \"32px\";\n\tconst ov = props?.overlap ?? \"-8px\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst injectBox = (avatar: TemplateResult, idx?: number) => html`\n\t\t<div\n\t\t\tstyle=\"\n width: ${sz};\n height: ${sz};\n border-radius: 50%;\n overflow: hidden;\n border: 2px solid #fff;\n margin-left: ${idx === 0 ? \"0\" : ov};\n box-sizing: content-box;\n \"\n\t\t>\n\t\t\t${avatar}\n\t\t</div>\n\t`;\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"display: flex; align-items: center;\"\n\t\t>\n\t\t\t${renderFnOrArray(children, injectBox)}\n\t\t</div>\n\t`;\n}\n","// Badge.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface BadgeProps {\n\tcontent?: string | number;\n\tposition?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n\tsize?: string;\n\tbackground?: string;\n\tcolor?: string;\n\ton?: OnEvent;\n}\n\nexport function Badge(props?: BadgeProps): WithHtml<renderFnType>;\n\nexport function Badge(\n\tprops?: BadgeProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Badge(\n\tprops?: BadgeProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Badge(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tBadge(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst pos = props?.position ?? \"top-right\";\n\tconst size = props?.size ?? \"16px\";\n\tconst bg = props?.background ?? \"red\";\n\tconst col = props?.color ?? \"#fff\";\n\t// 计算定位\n\tconst [top, right, bottom, left] = [\n\t\tpos.includes(\"top\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"right\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"bottom\") ? \"0\" : \"auto\",\n\t\tpos.includes(\"left\") ? \"0\" : \"auto\",\n\t];\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div style=\"position: relative; display: inline-block;\">\n\t\t\t${renderFn(children)}\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tstyle=\"\n position: absolute;\n top: ${top};\n right: ${right};\n bottom: ${bottom};\n left: ${left};\n width: ${size};\n height: ${size};\n background: ${bg};\n color: ${col};\n font-size: calc(${size} * 0.6);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n transform: translate(${left === \"0\"\n\t\t\t\t\t? \"-50%\"\n\t\t\t\t\t: left === \"auto\"\n\t\t\t\t\t? \"0\"\n\t\t\t\t\t: \"0\"}, ${top === \"0\" ? \"-50%\" : top === \"auto\" ? \"0\" : \"0\"});\n \"\n\t\t\t>\n\t\t\t\t${props?.content ?? \"\"}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { createRef, ref, RefOrCallback } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\n// 合并两个 ref 的辅助函数\nfunction combineRefs<T>(\n\tref1: RefOrCallback<T> | undefined,\n\tref2: RefOrCallback<T>\n): RefOrCallback<T> {\n\t// 如果 ref1 未定义则直接返回 ref2\n\tif (!ref1) return ref2;\n\treturn (el: T | undefined) => {\n\t\ttypeof ref1 === \"function\" ? ref1(el) : ((ref1 as any).current = el);\n\t\ttypeof ref2 === \"function\" ? ref2(el) : ((ref2 as any).current = el);\n\t};\n}\n\nexport function Canvas(props?: {\n\tclassName?: string;\n\tstyle?: string;\n\ton?: OnEvent;\n}): (initRef?: RefOrCallback<HTMLCanvasElement>) => TemplateResult<1>;\n\nexport function Canvas(\n\tprops?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tinitRef?: RefOrCallback<HTMLCanvasElement>\n): TemplateResult<1>;\n\nexport function Canvas(\n\tprops?: {\n\t\tclassName?: string;\n\t\tstyle?: string;\n\t\ton?: OnEvent;\n\t},\n\tinitRef?: RefOrCallback<HTMLCanvasElement>\n):\n\t| ((initRef?: RefOrCallback<HTMLCanvasElement>) => TemplateResult<1>)\n\t| TemplateResult<1> {\n\tif (!initRef) {\n\t\treturn (initRef?: RefOrCallback<HTMLCanvasElement>) =>\n\t\t\tCanvas(props, initRef ?? createRef()) as TemplateResult<1>;\n\t}\n\t// 绑定事件\n\tconst binder = createEventBinder(props?.on ?? {});\n\t// 合并外部引用与事件绑定引用\n\tconst combinedRef = combineRefs(initRef as RefOrCallback<Element>, (el) => {\n\t\tif (el) {\n\t\t\tbinder.bind(el);\n\t\t} else {\n\t\t\tbinder.unbindAll();\n\t\t}\n\t});\n\treturn html`\n\t\t<canvas\n\t\t\t${ref(combinedRef)}\n\t\t\t.class=${props?.className}\n\t\t\tstyle=${props?.style ?? \"\"}\n\t\t></canvas>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface CardProps {\n\tpadding?: string;\n\tborderRadius?: string;\n\tshadow?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}\n\nexport function Card(\n\tprops?: CardProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Card(\n\tprops?: CardProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Card(\n\tprops?: CardProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Card(props, children ?? [html``]);\n\t}\n\tconst pd = props?.padding ?? \"16px\";\n\tconst br = props?.borderRadius ?? \"8px\";\n\tconst sd = props?.shadow ?? \"0 2px 8px rgba(0,0,0,0.1)\";\n\tconst bg = props?.background ?? \"#fff\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n background: ${bg};\n border-radius: ${br};\n box-shadow: ${sd};\n padding: ${pd};\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\nexport function Center(props?: {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function Center(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Center(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Center(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tCenter(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n justify-content: center;\n align-items: center;\n ${w} ${h} ${bg}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport type ContainerProps = {\n\tmaxWidth?: string;\n\tpadding?: string;\n\tbackground?: string;\n\tfullHeight?: boolean;\n\ton?: OnEvent;\n};\n\nexport function Container(\n\tprops?: ContainerProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Container(\n\tprops?: ContainerProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Container(\n\tprops?: ContainerProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => Container(props, children ?? [html``]);\n\t}\n\tconst mw = props?.maxWidth ?? \"1024px\";\n\tconst pad = props?.padding ?? \"0 16px\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst h = props?.fullHeight ? \"height: 100%;\" : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n width: 100%;\n max-width: ${mw};\n margin-left: auto;\n margin-right: auto;\n padding: ${pad};\n ${bg}\n ${h}\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function Divider(props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\n\ton?: OnEvent;\n}) {\n\tconst ori = props?.orientation ?? \"horizontal\";\n\tconst thickness = props?.thickness ?? \"1px\";\n\tconst color = props?.color ?? \"#e0e0e0\";\n\tconst margin = props?.margin ?? (ori === \"horizontal\" ? \"8px 0\" : \"0 8px\");\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\tconst style =\n\t\tori === \"horizontal\"\n\t\t\t? `width: 100%; height: ${thickness}; background: ${color}; margin: ${margin};`\n\t\t\t: `width: ${thickness}; height: 100%; background: ${color}; margin: ${margin};`;\n\n\treturn html`<div\n\t\t${ref((el) => {\n\t\t\tif (el) {\n\t\t\t\tbinder.bind(el);\n\t\t\t} else {\n\t\t\t\tbinder.unbindAll();\n\t\t\t}\n\t\t})}\n\t\tstyle=\"${style}\"\n\t></div>`;\n}\n","// FooterLayout.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface FooterLayoutProps {\n\tcolumns?: number;\n\tgap?: string;\n\tbackground?: string;\n\tpadding?: string;\n\ton?: OnEvent;\n}\n\nexport function FooterLayout(props?: FooterLayoutProps): WithHtml<renderFnType>;\n\nexport function FooterLayout(\n\tprops?: FooterLayoutProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function FooterLayout(\n\tprops?: FooterLayoutProps,\n\tchildren?: renderFnType\n) {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tFooterLayout(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tFooterLayout(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst cols = props?.columns ?? 4;\n\tconst gap = props?.gap ?? \"24px\";\n\tconst bg = props?.background ?? \"#f8f8f8\";\n\tconst pad = props?.padding ?? \"40px 16px\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n width: 100%;\n background: ${bg};\n padding: ${pad};\n box-sizing: border-box;\n \"\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle=\"\n display: grid;\n grid-template-columns: repeat(${cols}, 1fr);\n gap: ${gap};\n \"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t\t<div style=\"text-align: center; margin-top: 24px; color: #666;\">\n\t\t\t\t© ${new Date().getFullYear()} Your Company. All rights reserved.\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { TemplateResult } from \"lit\";\n\nexport function ForEach<T extends any[]>(\n\titem: T\n): (\n\trender: (item: T[number], index: number) => TemplateResult<1>\n) => TemplateResult<1>[];\n\nexport function ForEach<T extends any[]>(\n\titem: T,\n\trender: (item: T[number], index: number) => TemplateResult<1>\n): TemplateResult<1>[];\n\nexport function ForEach<T extends any[]>(\n\titem: T,\n\trender?: (item: T[number], index: number) => TemplateResult<1>\n):\n\t| TemplateResult<1>[]\n\t| ((\n\t\t\trender: (item: T[number], index: number) => TemplateResult<1>\n\t ) => TemplateResult<1>[]) {\n\tif (render) {\n\t\treturn item.map((value, index) => render(value, index));\n\t} else {\n\t\treturn (render: (item: T[number], index: number) => TemplateResult<1>) =>\n\t\t\titem.map((value, index) => render(value, index));\n\t}\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport type GridBreakpointProps = {\n\tbreakpoints: Record<string, number>;\n\tdefaultColumns?: number;\n\tgap?: string;\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps\n): WithHtml<renderFnType>;\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function GridBreakpoint(\n\tprops: GridBreakpointProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tGridBreakpoint(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tGridBreakpoint(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst defCols = props.defaultColumns ?? 1;\n\tconst gap = props.gap ?? \"16px\";\n\tconst now = getComponentCount(\"GridBreakpoint\");\n\tconst _className =\n\t\tprops.className ??\n\t\tgetRandomClassName(\"GridBreakpoint::grid-breakpoint\") + \"-lyco-now-\" + now;\n\t// 生成媒体查询 CSS\n\tconst mqCss = Object.entries(props.breakpoints)\n\t\t.map(\n\t\t\t([query, cols]) =>\n\t\t\t\t\"@media\" +\n\t\t\t\tquery +\n\t\t\t\t\"{\\n\" +\n\t\t\t\t_className +\n\t\t\t\t\"{ grid-template-columns: repeat(\" +\n\t\t\t\tcols +\n\t\t\t\t\", 1fr); }\\n\" +\n\t\t\t\t\"}\"\n\t\t)\n\t\t.join(\"\\n\");\n\tconst css = `\n\t.${_className} {\n\t display: grid;\n\t grid-template-columns: repeat(${defCols}, 1fr);\n\t gap: ${gap};\n\t}\n\t${mqCss}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"GridBreakpoint\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function HeroSection(props?: {\n\tbackgroundImage?: string;\n\theight?: string;\n\toverlayColor?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function HeroSection(\n\tprops?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function HeroSection(\n\tprops?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children) => HeroSection(props, children ?? [html``]);\n\t}\n\n\tconst bgImage = props?.backgroundImage\n\t\t? `background-image: url('${props.backgroundImage}');`\n\t\t: \"\";\n\tconst height = props?.height ?? \"400px\";\n\tconst overlay = props?.overlayColor ?? \"rgba(0, 0, 0, 0.3)\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: relative;\n width: 100%;\n height: ${height};\n ${bgImage}\n background-size: cover;\n background-position: center;\n \"\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: absolute;\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${overlay};\n \"\n\t\t\t></div>\n\t\t\t<div\n\t\t\t\tstyle=\"\n position: relative;\n z-index: 1;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: #fff;\n text-align: center;\n padding: 0 16px;\n box-sizing: border-box;\n \"\n\t\t\t>\n\t\t\t\t${renderFnOrArray(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","// Hidden.ts\nimport { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport type HiddenProps = {\n\tbreakpoint?: string;\n\tmode?: \"hide\" | \"show\";\n\tclassName?: string;\n\ton?: OnEvent;\n};\n\nexport function Hidden(props?: HiddenProps): WithHtml<renderFnType>;\n\nexport function Hidden(\n\tprops?: HiddenProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function Hidden(\n\tprops?: HiddenProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Hidden(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tHidden(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\tconst bp = props?.breakpoint ?? \"(max-width: 600px)\";\n\tconst mode = props?.mode ?? \"hide\";\n\tconst now = getComponentCount(\"Hidden\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"Hidden::hidden-container\") + \"-lyco-now-\" + now;\n\tconst styleContent =\n\t\tmode === \"hide\"\n\t\t\t? `@media ${bp} { .${_className} { display: none !important; } }`\n\t\t\t: `@media ${bp} { .${_className} { display: block !important; } }\n @media not ${bp} { .${_className} { display: none !important; } }`;\n\tconst css = `\n\t.${_className} {\n\t display: block;\n\t}\n\t${styleContent}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"Hidden\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t${renderFn(children)}\n\t\t\t</div>\n\t\t`\n\t);\n}\n","// 假设以下代码存放在 Lyco/src/components/List.ts 文件中\nimport { html, TemplateResult } from \"lit\";\nimport {\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\n// ListItem 组件\nexport function ListItem(children?: renderFnOrArrayType): TemplateResult<1> {\n\treturn html` <li>${renderFnOrArray(children)}</li> `;\n}\n\n// List 组件\nexport function List(props?: {\n\tbordered?: boolean;\n\tstriped?: boolean;\n\thover?: boolean;\n\tclassName?: string;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function List(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function List(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t},\n\tchildren?: renderFnOrArrayType\n): ((children?: renderFnOrArrayType) => TemplateResult<1>) | TemplateResult<1> {\n\tconst bordered = props?.bordered\n\t\t? `border: 1px solid #ddd; border-radius: 4px`\n\t\t: \"\";\n\tconst striped = props?.striped\n\t\t? `li:nth-child(even) { background: #f9f9f9; }`\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `li:hover { background: #f1f1f1; cursor: pointer; }`\n\t\t: \"\";\n\tconst now = getComponentCount(\"List\");\n\tconst _className =\n\t\tprops?.className ?? getRandomClassName(\"List::list\") + `-lyco-now-${now}`;\n\n\tconst css = `\n ul.${_className} {\n\t list-style: none;\n\t margin: 0;\n\t padding: 0;\n\t ${bordered};\n\t}\n\tul.${_className} li {\n\t padding: 12px 16px;\n\t ${props?.bordered ? \"border-bottom: 1px solid #ddd\" : \"\"};\n\t}\n\tul.${_className} li:last-child {\n\t ${props?.bordered ? \"border-bottom: none\" : \"\"};\n\t}\n\t${striped}\n\t${hover}\n `.toString();\n\tconst render = (children?: renderFnOrArrayType) =>\n\t\tLycoComponent(\n\t\t\t\"List\",\n\t\t\thtml`\n\t\t\t\t<style>\n\t\t\t\t\t${css}\n\t\t\t\t</style>\n\t\t\t\t<ul class=\"${_className}\">\n\t\t\t\t\t${renderFnOrArray(children)}\n\t\t\t\t</ul>\n\t\t\t`\n\t\t);\n\n\treturn children === undefined ? render : render(children);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayOrCurry,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function ListGroup(props?: {\n\tbordered?: boolean;\n\tstriped?: boolean;\n\thover?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function ListGroup(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function ListGroup(\n\tprops?: {\n\t\tbordered?: boolean;\n\t\tstriped?: boolean;\n\t\thover?: boolean;\n\t\tclassName?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n) {\n\tconst bordered = props?.bordered\n\t\t? `border: 1px solid #ddd; border-radius: 4px`\n\t\t: \"\";\n\tconst striped = props?.striped\n\t\t? `li:nth-child(even) { background: #f9f9f9; }`\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `li:hover { background: #f1f1f1; cursor: pointer; }`\n\t\t: \"\";\n\tconst now = getComponentCount(\"ListGroup\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"ListGroup::list-group\") + \"-lyco-now-\" + now;\n\tconst injectRender = (\n\t\tchildren: TemplateResult<1>,\n\t\t_idx?: number,\n\t\tisArray?: boolean,\n\t\t_isFunc?: boolean\n\t) => {\n\t\tif (!isArray) {\n\t\t\treturn children;\n\t\t} else {\n\t\t\treturn html` <li>${children}</li> `;\n\t\t}\n\t};\n\tconst css = `\n\tul.${_className} {\n\t list-style: none;\n\t margin: 0;\n\t padding: 0;\n\t ${bordered};\n\t}\n\tul.${_className} li {\n\t padding: 12px 16px;\n\t ${props?.bordered ? \"border-bottom: 1px solid #ddd\" : \"\"};\n\t}\n\tul.${_className} li:last-child {\n\t ${props?.bordered ? \"border-bottom: none\" : \"\"};\n\t}\n\t${striped}\n\t${hover}\n\t`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\tconst render = (children: TemplateResult<1> | TemplateResult<1>[]) =>\n\t\tLycoComponent(\n\t\t\t\"ListGroup\",\n\t\t\thtml`\n\t\t\t\t<style>\n\t\t\t\t\t${css}\n\t\t\t\t</style>\n\t\t\t\t<ul\n\t\t\t\t\t${ref((el) => {\n\t\t\t\t\t\tif (el) {\n\t\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"${_className}\"\n\t\t\t\t>\n\t\t\t\t\t${renderFnOrArray(children, injectRender)}\n\t\t\t\t</ul>\n\t\t\t`\n\t\t);\n\n\treturn renderFnOrArrayOrCurry(children, render);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\nexport function Overlay(props?: {\n\tbackground?: string;\n\tzIndex?: number;\n\tfullScreen?: boolean;\n\ton?: OnEvent;\n}): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Overlay(\n\tprops?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Overlay(\n\tprops?: {\n\t\tbackground?: string;\n\t\tzIndex?: number;\n\t\tfullScreen?: boolean;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tOverlay(props, children ?? [html``]);\n\t}\n\tconst bg = props?.background ?? \"rgba(0, 0, 0, 0.5)\";\n\tconst z = props?.zIndex ?? 1000;\n\tconst full = props?.fullScreen !== false;\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: ${full ? \"fixed\" : \"absolute\"};\n top: 0; left: 0; right: 0; bottom: 0;\n background: ${bg};\n z-index: ${z};\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport function PositionContainer(props?: {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\ton?: OnEvent;\n}): WithHtml<renderFnType>;\n\nexport function PositionContainer(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1>;\n\nexport function PositionContainer(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\ton?: OnEvent;\n\t},\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) =>\n\t\t\tPositionContainer(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tPositionContainer(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: relative;\n ${w} ${h} ${bg}\n overflow: hidden;\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function SizedBox(props?: {\n\twidth?: string;\n\theight?: string;\n\ton?: OnEvent;\n}) {\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`<div\n\t\t${ref((el) => {\n\t\t\tif (el) {\n\t\t\t\tbinder.bind(el);\n\t\t\t} else {\n\t\t\t\tbinder.unbindAll();\n\t\t\t}\n\t\t})}\n\t\tstyle=\"${w} ${h}\"\n\t></div>`;\n}\n","// SkeletonLoader.ts\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n} from \"./core\";\n\nexport function SkeletonLoader(props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}) {\n\tconst type = props?.type ?? \"rect\";\n\tconst w = props?.width ?? \"100%\";\n\tconst h = props?.height ?? \"16px\";\n\tconst br = props?.borderRadius ?? \"4px\";\n\tconst anim = props?.animation !== false;\n\tconst now = getComponentCount(\"SkeletonLoader\");\n\tconst _className =\n\t\tprops?.className ??\n\t\tgetRandomClassName(\"SkeletonLoader::skeleton-shimmer\") + \"-lyco-now-\" + now;\n\tconst shapeStyle =\n\t\ttype === \"circle\"\n\t\t\t? `border-radius: 50%; width: ${w}; height: ${w}`\n\t\t\t: `border-radius: ${br}; width: ${w}; height: ${h}`;\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn LycoComponent(\n\t\t\"SkeletonLoader\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${`\n\t@keyframes ${_className + \"-shimmer\"} {\n\t 0% { background-color: #eee; }\n\t 50% { background-color: #ddd; }\n\t 100% { background-color: #eee; }\n\t} \n\t`}\n\t\t\t\t.${_className} {\n\t\t\t\t ${shapeStyle};\n\t\t\t\t background-color: #eee;\n\t\t\t\t ${anim\n\t\t\t\t\t? `animation: ${_className + \"-shimmer\"} 1.2s infinite ease-in-out`\n\t\t\t\t\t: \"\"};\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t></div>\n\t\t`\n\t);\n}\n","import { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { createEventBinder, OnEvent } from \"./core\";\n\nexport function Spacer(props?: { on?: OnEvent }) {\n\tconst binder = createEventBinder(props?.on ?? {});\n\treturn html`<div\n\t\t${ref((el) => {\n\t\t\tif (el) {\n\t\t\t\tbinder.bind(el);\n\t\t\t} else {\n\t\t\t\tbinder.unbindAll();\n\t\t\t}\n\t\t})}\n\t\tstyle=\"flex: 1 1 auto;\"\n\t></div>`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\ninterface StickyProps {\n\ttop?: string;\n\tbottom?: string;\n\tzIndex?: number;\n\ton?: OnEvent;\n}\n\nexport function Sticky(props?: StickyProps): WithHtml<renderFnType>;\n\nexport function Sticky(\n\tprops?: StickyProps,\n\tchildren?: renderFnType\n): TemplateResult<1>;\nexport function Sticky(\n\tprops?: StickyProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Sticky(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tSticky(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst top = props?.top ? `top: ${props.top};` : \"\";\n\tconst bottom = props?.bottom ? `bottom: ${props.bottom};` : \"\";\n\tconst z =\n\t\ttypeof props?.zIndex === \"number\" ? `z-index: ${props.zIndex};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: sticky;\n ${top} ${bottom}\n ${z}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tgetComponentCount,\n\tgetRandomClassName,\n\tLycoComponent,\n\tOnEvent,\n\trenderFn,\n\trenderFnType,\n\tWithHtml,\n} from \"./core\";\n\nexport interface TableProps {\n\tstriped?: boolean;\n\thover?: boolean;\n\tbordered?: boolean;\n\tclassName?: string;\n\ton?: OnEvent;\n}\n\nexport function Table(props?: TableProps): WithHtml<renderFnType>;\n\nexport function Table(\n\tprops?: TableProps,\n\tchildren?: renderFnType // TemplateResult | (() => TemplateResult)\n): TemplateResult<1>;\n\nexport function Table(\n\tprops?: TableProps,\n\tchildren?: renderFnType\n): TemplateResult<1> | WithHtml<renderFnType> {\n\t// 如果第二个参数 children 没传,则返回一个只接收 children 的函数\n\tif (children === undefined) {\n\t\tconst _ = (children?: renderFnType) => Table(props, children ?? html``);\n\t\t_.html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n\t\t\tTable(props, html(strings, ...values));\n\t\treturn _;\n\t}\n\n\tconst now = getComponentCount(\"Table\");\n\n\t// 到这里说明 props 和 children 都已经传齐\n\tconst _className =\n\t\tprops?.className ?? getRandomClassName(\"Table::table\") + `-lyco-now-${now}`;\n\tconst striped = props?.striped\n\t\t? `\n .${_className} tr:nth-child(even) { background: #f9f9f9; }\n `\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `\n .${_className} tr:hover { background: #f1f1f1; }\n `\n\t\t: \"\";\n\tconst bordered = props?.bordered\n\t\t? `\n .${_className}, .${_className} th, .${_className} td { border: 1px solid #ddd; }\n `\n\t\t: \"\";\n\n\tconst css = `\n\t/* 将表格包裹在带有 _className 的 div 里,使后续 CSS 作用于该 div 下的 table */\n\t.${_className} table {\n\t width: 100%;\n\t border-collapse: collapse;\n\t}\n\t.${_className} th,\n\t.${_className} td {\n\t padding: 8px 12px;\n\t text-align: left;\n\t}\n\t${striped}\n\t${hover}\n\t${bordered}\n\t`;\n\n\tconst binder = createEventBinder(props?.on ?? {});\n\n\treturn LycoComponent(\n\t\t\"Table\",\n\t\thtml`\n\t\t\t<style>\n\t\t\t\t${css}\n\t\t\t</style>\n\n\t\t\t<div\n\t\t\t\t${ref((el) => {\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tbinder.bind(el);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t\tclass=\"${_className}\"\n\t\t\t>\n\t\t\t\t<table>\n\t\t\t\t\t${renderFn(children)}\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t`\n\t);\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface WrapProps {\n\tdirection?: \"row\" | \"column\";\n\tgap?: string | number;\n\talign?: string;\n\tjustify?: string;\n\t// 新增 on 属性\n\ton?: OnEvent;\n}\n\nexport function Wrap(\n\tprops?: WrapProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function Wrap(\n\tprops?: WrapProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function Wrap(\n\tprops?: WrapProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst dir = props?.direction ?? \"row\";\n\t// 创建事件绑定器\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children) => Wrap(props, children ?? html``);\n\t}\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n display: flex;\n flex-direction: ${dir};\n flex-wrap: wrap;\n ${props?.gap ? `gap: ${props.gap};` : \"\"}\n ${props?.align ? `align-items: ${props.align};` : \"\"}\n ${props?.justify ? `justify-content: ${props.justify};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n","import { html, TemplateResult } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport {\n\tcreateEventBinder,\n\tOnEvent,\n\trenderFnOrArray,\n\trenderFnOrArrayType,\n} from \"./core\";\n\ninterface ZStackProps {\n\twidth?: string;\n\theight?: string;\n\tbackground?: string;\n\talign?: \"top-left\" | \"top-right\" | \"center\" | \"bottom-left\" | \"bottom-right\";\n\ton?: OnEvent;\n}\n\nexport function ZStack(\n\tprops?: ZStackProps\n): (children?: renderFnOrArrayType) => TemplateResult<1>;\n\nexport function ZStack(\n\tprops?: ZStackProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1>;\n\nexport function ZStack(\n\tprops?: ZStackProps,\n\tchildren?: renderFnOrArrayType\n): TemplateResult<1> | ((children?: renderFnOrArrayType) => TemplateResult<1>) {\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\tconst bg = props?.background ? `background: ${props.background};` : \"\";\n\tconst binder = createEventBinder(props?.on ?? {});\n\tif (children === undefined) {\n\t\treturn (children?: renderFnOrArrayType) =>\n\t\t\tZStack(props, children ?? [html``]);\n\t}\n\n\tlet justify = \"flex-start\";\n\tlet alignItems = \"flex-start\";\n\tswitch (props?.align) {\n\t\tcase \"top-right\":\n\t\t\tjustify = \"flex-end\";\n\t\t\talignItems = \"flex-start\";\n\t\t\tbreak;\n\t\tcase \"center\":\n\t\t\tjustify = \"center\";\n\t\t\talignItems = \"center\";\n\t\t\tbreak;\n\t\tcase \"bottom-left\":\n\t\t\tjustify = \"flex-start\";\n\t\t\talignItems = \"flex-end\";\n\t\t\tbreak;\n\t\tcase \"bottom-right\":\n\t\t\tjustify = \"flex-end\";\n\t\t\talignItems = \"flex-end\";\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// \"top-left\"\n\t\t\tjustify = \"flex-start\";\n\t\t\talignItems = \"flex-start\";\n\t}\n\n\treturn html`\n\t\t<div\n\t\t\t${ref((el) => {\n\t\t\t\tif (el) {\n\t\t\t\t\tbinder.bind(el);\n\t\t\t\t} else {\n\t\t\t\t\tbinder.unbindAll();\n\t\t\t\t}\n\t\t\t})}\n\t\t\tstyle=\"\n position: relative;\n display: flex;\n justify-content: ${justify};\n align-items: ${alignItems};\n ${w} ${h} ${bg}\n \"\n\t\t>\n\t\t\t${renderFnOrArray(children)}\n\t\t</div>\n\t`;\n}\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|